#include //시리얼 통신 라이브러리 호출
#include // 서보 라이브러리 사용
Servo trash; //trash 라는 이름의 서보 선언
int blueTx = 2; //Tx(블루투스 보내는 핀 설정)
int blueRx = 3; //Rx(블루투스 받는 핀 설정)
int trig = 13; //초음파센서의 trig핀을 아두이노 13번 핀 연결
int echo = 12; //초음파센서의 echo핀을 아두이노 12번 핀 연결
SoftwareSerial BTSerial(blueTx, blueRx);
void setup() {
trash.attach(9); //아두이노의 9번 핀에서 서보모터 동작
Serial.begin(9600); //디버깅을 위한 컴퓨터와 통신속도 9600 설정
pinMode(trig, OUTPUT);//13번핀 OUTPUT 설정
pinMode(echo, INPUT); //12번핀 INPUT 설정
}
void loop() {
if(BTSerial.available()){
char in_data;
in_data=(char)BTSerial.read();
if(in_data=="on")
{
trash.write(120);
}else {
trash.write(0);
}
} else {
long duration, distance;
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance = duration/58; //cm 환산
Serial.println(distance);
if(distance <= 6){
delay(500);
trash.write(120);
delay(2500);
}
else{
trash.write(0);
}
}
}
근접센서와 블루투스센서가지고 서보모터를 작동시키는 건데
근접센서 부분은 되는데 블루투스 센서부분에서 on을 넣었을때 작동이 안되서 올려봅니다.
if(in_data=="on") 이거가 실제로 되는 코드인지 확인
if(in_data=="on") 이거가 실제로 되는 코드인지 확인
블루투스 연결하고 on을 눌렀을때 되지가 않네요...
https://kgu0724.tistory.com/84 10년가까이 코딩했지만 문자열 비교를 == 로 하는건 파이썬같은 하이레벨 언어밖에 없었음
'1'이 아니고 'on'이던가