안드로이드 스마트폰 + 블루투스 + 모터제어
지금까지
출력(LED)을 테스트 해 보았고
입력(센서)을 테스트 해 보았고
블루투스 모듈을 컨트롤 해 보았다.
이제 모터제어만 성공한다면 멋진 자동차를 만들어 보아야겠다.
과제 : http://eskelt.tistory.com/22
이것을 성공하기 위해서는 모터를 제어해 보아야 할 것 같다.
아래의 소스는 나중에 써보아야징!!!
-------------------------------------------------------------------------------
/*스마트폰으로 제어하는 자동차*/
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2,3); //블루투스 모듈 통신 설정
int a = 0;
int a = 0;
void setup(){
BTserial.begin(115200); //블루투스 모듈 통신 시작
}
BTserial.begin(115200); //블루투스 모듈 통신 시작
}
void loop(){
a = BTserial.read(); // 스마트폰에서 블루투스 모듈로 들어오는 신호를 a에 저장
switch (a){
case 0: // 0이면 정지
analogWrite(8,0); // 왼쪽 모터 전진 정보 핀
analogWrite(9,0); // 왼쪽 모터 후진 정보 핀
analogWrite(10,0); // 오른쪽 모터 전진 정보 핀
analogWrite(11,0); // 오른쪽 모터 후진 정보 핀
delay(30); break;
case 4: // 4면 제자리 좌회전
analogWrite(8,0);
analogWrite(9,250);
analogWrite(10,250);
analogWrite(11,0);
delay(20);
break;
case 8: // 8이면 제자리 우회전
analogWrite(8,250);
analogWrite(9,0);
analogWrite(10,0);
analogWrite(11,250);
delay(20);
break;
case 16: // 16이면 전진
analogWrite(8,250);
analogWrite(9,0);
analogWrite(10,250);
analogWrite(11,0);
delay(20);
break;
case 20: // 20이면 좌회전
analogWrite(8,0);
analogWrite(9,0);
analogWrite(10,250);
analogWrite(11,0);
delay(20);
break;
case 24: // 24이면 우회전
analogWrite(8,250);
analogWrite(9,0);
analogWrite(10,0);
analogWrite(11,0);
delay(20);
break;
case 32: // 32이면 후진
analogWrite(8,0);
analogWrite(9,250);
analogWrite(10,0);
analogWrite(11,250);
delay(20);
break;
a = BTserial.read(); // 스마트폰에서 블루투스 모듈로 들어오는 신호를 a에 저장
switch (a){
case 0: // 0이면 정지
analogWrite(8,0); // 왼쪽 모터 전진 정보 핀
analogWrite(9,0); // 왼쪽 모터 후진 정보 핀
analogWrite(10,0); // 오른쪽 모터 전진 정보 핀
analogWrite(11,0); // 오른쪽 모터 후진 정보 핀
delay(30); break;
case 4: // 4면 제자리 좌회전
analogWrite(8,0);
analogWrite(9,250);
analogWrite(10,250);
analogWrite(11,0);
delay(20);
break;
case 8: // 8이면 제자리 우회전
analogWrite(8,250);
analogWrite(9,0);
analogWrite(10,0);
analogWrite(11,250);
delay(20);
break;
case 16: // 16이면 전진
analogWrite(8,250);
analogWrite(9,0);
analogWrite(10,250);
analogWrite(11,0);
delay(20);
break;
case 20: // 20이면 좌회전
analogWrite(8,0);
analogWrite(9,0);
analogWrite(10,250);
analogWrite(11,0);
delay(20);
break;
case 24: // 24이면 우회전
analogWrite(8,250);
analogWrite(9,0);
analogWrite(10,0);
analogWrite(11,0);
delay(20);
break;
case 32: // 32이면 후진
analogWrite(8,0);
analogWrite(9,250);
analogWrite(10,0);
analogWrite(11,250);
delay(20);
break;
}
}
}
------------------------------------------------------------------