RedCrow + GreenBean

Feed Rss

ICbanQ] Beginner Kit For Arduino v3.0 활용기 #1 – IR Remote + Servo

03.24.2015, arduino, 취미, 취미, by .

오랜만에 ICbanQ의 무상체험단에 당첨되었다.

이번 체험 제품은…

DFRobot사의 Beginner Kit For Arduino v3.0 ^^;

해당 제품은 다음의 링크에서 확인할 수 있습니다.

http://www.icbanq.com/shop/product_detail.asp?prod_code=P005605397

 

[Beginner Kit For Arduino v3.0 개봉기]

블로그 원본글 : http://www.beanbox.co.kr/wordpress/?p=1057

icbanq 카페글 : http://cafe.naver.com/icbanq/1663

 

————————————————————————-

 

IR Remote

IR Remote는 적외선 리모콘이다.

TV 리모콘과 같은 방식이다.

보이는 곳에서만 가능한 단점이 있지만 저전력에 다양한 메세지도 쉽게 담을 수 있어서 많이 이용된다.

이번에는 이것을 이용해서 Servo 모터를 제어해 보도록 하자.

 

Micro servo 9g - SG90

소형 서보이다.

먼저 기본 구동은 아래와 같이 할 수 있다.

 

http://www.dfrobot.com/wiki/index.php/DFRduino_Beginner_Kit_For_Arduino_V3_SKU:DFR0100

자세한 소스 설명은 생략하도록 하겠다.

원하는 각도를 입력하면 해당 각도로 서보가 움직인다.

위소스는 0~180도 사이를 왔다 갔다 하는 소스이다.

 

IR Remote & IR Sensor

리모콘과 적외선 수신부이다.

미니 브레드보드에 꽂여 있는 발세개 짜리 검은 녀석이 적외선 수신부이다.

보통 리모콘과 쌍으로 사용되어진다.

 

IRremote.h 가 없다면 아래에서 다운하면 된다.

https://github.com/shirriff/Arduino-IRremote

그리고 아두이노 실행파일 아래에 [libraries] 폴더 안에 넣어두고 아두이노를 실행한다.

 

IR Remote의 기본 구동은 아래와 같이 할 수 있다.

http://www.dfrobot.com/wiki/index.php/DFRduino_Beginner_Kit_For_Arduino_V3_SKU:DFR0100

적외선 입력을 받으면 그 값에 따라서 원하는 동작을 한다.

예제에서는 Power 버튼 하나만 있지만 다른 버튼들의 값을 읽어서 이용할 수 있다.

시리얼 모니터를 통해 각 버튼들의 값을 확인해 볼 수 있다.

 

심볼 코드
전원 FD00FF
Vol+ FD807F
Func/stop FD40BF
◀◀ FD20DF
FDA05F
▶▶ FD609F
FD10EF
Vol- FD906F
FD50AF
0 FD30CF
EQ FDB04F
ST/REPT FD708F
1 FD08F7
2 FD8877
3 FD48B7
4 FD28D7
5 FDA857
6 FD6897
7 FD18E7
8 FD9867
9 FD58A7

시리얼 모니터를 통해 읽은 값들이다.

해당 값에따라 적절한 동작을 구현할 수 았다.

 

[IR Remote + Servo]

두개의 하드웨어는 겹치는게 없음으로 그냥 합쳐도 된다.

물론 필요에 의해서 핀번호들은 변경 가능하다. (나는 LED를 13번 핀을 이용했다.)

 

심볼 코드 시리얼출력 기능
전원 FD00FF Power 전원 On/Off
Vol+ FD807F Vol+ 1증가
Func/stop FD40BF Func/stop 자동 정지
◀◀ FD20DF Prev 0까지 자동
FDA05F Start 자동 시작
▶▶ FD609F Next 180까지 자동
FD10EF Down 20씩 감소
Vol- FD906F Vol- 1감소
FD50AF Up 20씩 증가
0 FD30CF Num 0 0도
EQ FDB04F EQ 좌우로 왔다 갔다
ST/REPT FD708F ST/REPT 자동 방향 반전
1 FD08F7 Num 1 20도
2 FD8877 Num 2 40도
3 FD48B7 Num 3 60도
4 FD28D7 Num 4 80도
5 FDA857 Num 5 100도
6 FD6897 Num 6 120도
7 FD18E7 Num 7 140도
8 FD9867 Num 8 160도
9 FD58A7 Num 9 180도

리모콘 버튼에 따라서 서보를 위와 같이 동작시켜 보자.

 

크게는 자동과 수동 모드가 있다.

 

전원

Power On/Off 를 한다.

On되는걸 알리기 위해 0~180까지 움직이고 초기값 또는 이전 설정값으로 바로 이동한다.

 

수동1

Vol+/-로 각도를 1씩 변화시킨다.

 

수동2

▲/▼버튼은 각도를 20도씩 변화시킨다.

 

수동3

각각의 숫자버튼은 특정 각도로 바로 이동한다.

 

자동1

▶/Func/stop 버튼으로 0~180 사이를 증가 또는 감소한다.

ST/REPT 버튼으로 증가 감소를 선택한다.(이동 방향 선택)

증가시에는 180이 되면 0으로 바로 돌아온다.

마찬가지로 감소시에는 0이 되면 180으로 바로 돌아온다.

 

자동2

EQ 버튼으로 0과 180을 계속 왔다 갔다 한다.

 

반자동1

▶▶/◀◀ 현재값에서 0 또는 180으로 이동하고 멈춘다.

 

90도 확인

90도 일때 LED를 On한다.

 

리모콘으로 받은 값을 switch문으로 값을 확인하고 그에 맞는 동작을 하도록 한다.

수동,자동,반자동에 따라 동작을 하고

각도값이 이전값과 다를 대만 서보를 동작 시킨다.

 

아래는 동작하는 모습이다.

 

 

 

첫 개봉기에서는 과녁맞추기 게임이라고 했는데…

생각해보니 IR 이녀석은 아니다…^^

CDS와 레이져를 해야지 사격이 되겠다.

IR은 대충 방향만 맞아도… ^^

 

 

 

본 서보(SG90)를 개조해서 RC를 만들까 하고 있다.

아두이노 프로미니에 블루투스(혹은 IR), 서보 두개, 보조배터리…

헌데 과연 이 서보가 저 무게들을 다 견딜 수 있을까?

고민이다.

느린건 괜찮은데…(어차피 아들이 가지고 놀 녀석임으로… ^^)

안되면 일반 모터와 모터 드라이버 등을 사용하거나 좀 더 힘 좋은 서보를 사용해야 하거나…

최대한 단순하게 가고싶은데… ㅠㅜ

 

 

 

암튼…

샘플코드 만들어 보고 동작 구현 시켜보고 하는 것도 쉽진 않지만…

글 쓰는게 제일로 어려운것 같다. ^^;

 

 

 

※ 본 제품은 아이씨뱅큐 무상체험단 21기 활동의 일환으로 체험 제품을 제공받아 작성되었습니다. http://www.icbanq.com

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다