BASIC4MCU | 질문게시판 | 아두이노 코딩 도와주세요 (초음파센서와 금속감지센서로 서보모터 제어하기)
페이지 정보
작성자 이현주 작성일2022-05-17 15:38 조회725회 댓글0건본문
아두이노로 사물이 가까이 있을 때 금속/비금속인지 확인하고 금속이면 180도, 비금속이면 0도로 회전시키려고 하는데 코딩에 문제가 있는지 작동하지 않습니다.
코드 확인해주시면 감사하겠습니다...!!!
#include <Servo.h>
Servo myServo;
int trigPin=6,echoPin=7, angle = 0;
//
long duration,distance;
bool sensing,flag=1;
//
void setup(){
myServo.attach(2);
Serial.begin(9600);
pinMode(echoPin,INPUT);
pinMode(trigPin,OUTPUT);
}
//
void loop(){
digitalWrite(trigPin,1); delayMicroseconds(10); digitalWrite(trigPin,0);
duration=pulseIn(echoPin,1);
distance=((float)(340*duration)/1000)/2;
//-------------------------------
int sensorValue=analogRead(A0); // 금속감지센서
//-------------------------------
sensing=0;
if(distance<500){
if(sensorValue<124){
sensing= 1;
}
else{
sensing = 2;
}
//
if(sensing == 1){
Serial.println("OK "), Serial.println(distance); Serial.print("mm\n, "); Serial.println(sensorValue);
for (angle = 90; angle <= 180; angle++){
myServo.write(angle);
delay(10);
}
}
}
else{
if(sensing == 2){
Serial.println("NO "); Serial.println(distance); Serial.print("mm\n, "); Serial.println(sensorValue);
for (angle = 90; angle >= 0; angle--){
myServo.write(angle);
delay(10);
}
}
}
}
댓글 0
조회수 725등록된 댓글이 없습니다.