AVR

안드로이드 스마트폰 + 블루투스 + 모터제어

by 디케 posted Aug 17, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

안드로이드 스마트폰 + 블루투스 + 모터제어

지금까지

출력(LED)을 테스트 해 보았고

입력(센서)을 테스트 해 보았고

블루투스 모듈을 컨트롤 해 보았다.


이제 모터제어만 성공한다면 멋진 자동차를 만들어 보아야겠다.



과제 : http://eskelt.tistory.com/22


이것을 성공하기 위해서는 모터를 제어해 보아야 할 것 같다.


아래의 소스는 나중에 써보아야징!!!


-------------------------------------------------------------------------------
/*스마트폰으로 제어하는 자동차*/
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2,3);    //블루투스 모듈 통신 설정
int a = 0;
void setup(){
  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;   
    }
}
------------------------------------------------------------------