아두이노 나노를 이용해서 RC 송수신기의 신호를 잡아보자
준비물
- 아두이노 나노 1개
- 브레드보드(빵판) 및 케이블
- 아두이노 프로그램이 설치된 PC
- PC와 아두이노를 연결할 USB
- RC 송신기 및 수신기
- 테스트가 가능한 변속기+모터+배터리조합
- 수신기에 연결될 Y자형 케이블
1. 아두이노와 PC를 USB포트를 통해 연결한다.
2. 아두이노 프로그램인 '아두이노 IDE'를 실행해서 아래의 소스 코드를 입력하고 업로드를 합니다.
→ 여기서 연결하는 핀의 번호는 D3번 핀이고, 만약 핀 변경이 필요할경우 변경할 핀의 번호와 소스상 번호를 일치시킵니다.
// 수신기와 연결하는 핀번호채널에서 입력
unsigned long recieverVal;
// Setup function - executed once on startup
void setup() {
pinMode(3, INPUT); //수신기와 아두이노가 연결된 신호 연결핀번호
//연결 rate값 (아두이노에서 발생하는 값을 PC와 연결한 usb로 읽어들이기 위한 포트설정값)
Serial.begin(9600);
}
// 루프 함수 - 무한 반복 실행
void loop() {
//수신기에서 입력값을 읽어 콘솔에 표시하기
recieverVal = pulseIn(3, HIGH);
Serial.print("reciever value : ");
Serial.print(recieverVal);
Serial.print("\n");
}
|
3. 코드를 아두이노에 업로드 했으면 아두이노를 아래의 연결방법으로 연결합니다.
→ 브레드보드(빵판)을 이용해 편히 연결해도 되며, 혹은 납땜으로 직접 연결해도 무방합니다.
4. 구동가능한 ESC(변속기)와 모터 그리고 배터리 및 수신기(Reciever)를 위처럼 준비된 아두이노와 연결합니다.
→ 연결 준비만 하되 ESC(변속기)의 전원을 on시키지는 않습니다.
5. 아래의 순서대로 연결합니다.
① 아두이노에 연결된 PC 연결선 및 수신기에 연결된 선을 제거합니다.
② USB케이블을 통해 PC와 아두이노를 연결하고 콘솔에 출력이 나타날 때까지 기다립니다.
③ 그다음 송신기(조종기)와 ESC(변속기)를 켜세요 (조종기 전원on → 변속기 전원 on)
④ Y자형 케이블과 연결된 아두이노를 수신기에 연결하세요.
6. 이제 수신기로부터 신호를 수신하고 동시에 PC에 연결된 USB 케이블을 통해 실제 값을 확인할 수 있게됩니다.
조종기에서 아무런 동작을 하지 않고 대기모드일 경우
아래와 같은 값을 반복해서 화면에 띄움니다.
※ 테스트에 사용한 송/수신기는 SANWA MT-4 조종기이며, 수신기는 RX461 을 사용하였습니다.
만약 SANWA제품이 아닌 타사 제품의 경우 수치는 조금 다를 수 있으나 값이 크게 달라지지는 않을것입니다.
조종기의 스로틀을 Full로 당기면 (차량이 최고속도로 앞으로 전진할 경우)
value의 값은 1720 이상의 값이 찍힙니다.
반대로 전스로틀을 전진이 아닌 후진으로 작동시킬경우 1150 값으로 하강하는 모습을 보입니다.
정리하면.
1150이하 ------------- 1330 -------------- 1720이상
후진 중립 전진
이렇게 정리되겠네요!
이제 위에서 확인된 값을 가지고 full throttle에 LED가 번쩍번쩍 하게 제어할 수 있습니다.
다음글에서 풀 스로틀에 반응하는 LED를 제어하는 방법에 대해 작성해보겠습니다.
감사합니다.