반응형

【 아두이노ProMini#2 초소형 블루투스 리모컨 만들기! for RC CAR ( Arduino Pro Mini) 

 지난시간, 블루투스 조이스틱으로 제어되는 소형 미니카를 만들어 보았다. 하지만 무언가 아쉽다. 아두이노 우노로 리모컨을 만들다 보니 크기가 거의 미니카와 차이 없을 정도로 크게 느껴졌다. 그래서 이번엔 아두이노 프로미니를 이용해서 한 손에 쏙들어가서 컨트롤 할 수 있도록 작게 만들어보려한다. 앞선 실습을 진행했다면 무난하게 만들 수 있을 것이다.  
(필요한 경우, 선수학습 부분을 참고하면 문제 없을 것이다)

 Let's get it~!

 

▶ 선수학습 :

    1. [아두이노 모듈#14] 조이스틱 Joystick 사용하기 #1 ☜ (클릭)

    2. [아두이노 모듈#6] 조이스틱 미니카 만들기 (유선 미니카 기본 참조)  ☜ (클릭)

    3. [아두이노 Proj#6]  선없는 무선 미니카 만들기 (무선 미니카 참조) ☜ (클릭)

    4. [아두이노 모듈#16] 아두이노... 블루투스통신 (블루투스 설정법 참조) ☜ (클릭)

    5. [아두이노 모듈#18] 아두이노... 블루투스통신 (블루투스 제어법 참조) ☜ (클릭)

    6. [아두이노 Promini#1] 아두이노 프로미니 사용하기(프로미니 사용법 참조) ☜ (클릭)

 

▶ 실습 회로 도면 :

▶ 실습목표  :  

    1. 프로미니 보드에 대해 이해하고 기본 사용법을 익힐 수 있다.

    2. 프로미니의 UART 통신을 위한 FTDI사의 FT232RL 모듈 사용법을 익힐 수 있다.

    3. 소형베터리 사용하며 작은 프로토타입의 작품을 만들어 볼 수 있다. 

 


▶ 코딩 :

 

/*  블루투스 조이스틱 조정기 만들기        */
#include  <SofrwareSerial.h>
SoftwareSerial BTSerial(2, 3);    // BTSerial(Rx, Tx)
int BTstates=0;       // 블루투스 신호 상태 저장용 변수
const int X_AXIS =0;    //마우스 X 축 (A0)
const int Y_AXIS =1;    //마우스 Y 축 (A1) 
int xVal=0;
int yVal=0;

void setup() {
  BTSerial.begin(9600);  
  Serial.begin(9600);
}

void loop() {  
  xVal=map(analogRead(X_AXIS),0,1023,100,0); //x축값 읽어 저장 
  yVal=map(analogRead(Y_AXIS),0,1023,300,200); //Y축값 읽어 저장
  
  // 모터 전진 //
  if (xVal >= 60 && yVal >= 225 && yVal <=275)  { 
    BTSerial.write('f');
    Serial.println('f');
  }
  
  // 모터 후진 //
  else if (xVal <= 40 && yVal >= 225 && yVal <=275)  { 
    BTSerial.write('b');
    Serial.println('b');
  }
  
  // 모터 좌회전 //
  else if (yVal <= 240 && xVal >= 25 && xVal <= 75)  { 
    BTSerial.write('l');
    Serial.println('l');
  }

  // 모터 우회전 //
  else if (yVal >= 260 && xVal >= 25 && xVal <= 75)  { 
    BTSerial.write('r');
    Serial.println('r');
  }

 else { 
    BTSerial.write('s');
    Serial.print('s');
  }
  delay(100); 
}

 

 

▶ 코드 다운로드 :

04_Blue_Joystick.zip
0.00MB

▶ 회로 동작 영상 :

(YouTube : 1080P 고화질로 보기)

https://youtu.be/XG2exuDnex8

 

<카카오로 보기>

 

 

 

반응형