코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2015-12-13 00:36:35
Bluno Nano 라는 보드로 처음 만들어 본 자동차입니다.
RC 카라고 하기엔 너무나 허접하지만, DC 모터제어와 BLE 통신을 시험해 보기 위해서 만들었습니다.
바퀴, 본체, DC 모터(2개) 등은 Smart car Chassis 를 구매하면 되고, 타미야에서 파는 버기카 샤시를 구입해도 됩니다.
가격은 만원에서 2만원 정도면 충분할 것 같구요...
DC 모터
DC 모터 제어를 위해서는 https://learn.adafruit.com/assets/2346 에 방문하면 됩니다.
기본 원리는 PWM 으로 0에서 255까지 값을 보내면, 해당 값에 맞도록 DC motor RPM 을 조절하는 것입니다.
좌,우 두개 DC 모터를 제어해야 하므로, Transistor, diode, 저항을 두 개씩 해서 연결하면 됩니다.
Bluno Nano (BLE + 아두이노)
http://www.dfrobot.com/index.php?route=product/product&product_id=1122#.VmwyPdWLSM8
위 사이트에서 구매도 가능하지만, 국내에서도 구매가 가능합니다. Nano 타입이나 microUSB 가 있는 것은 아주 훌륭합니다.
Bluno Nano 는 BLE 통신을 Serial 포트로 하면 됩니다. (오렌지 BLE 와는 다른데, 그냥 Serial 을 쓰면 됩니다)
사이트에서 제공하는 예제는 아래와 같습니다. 아두이노 Serail monitor 에서 글자를 입력하고 엔터를 치면 바로 루프백 되는 예입니다.
void
setup() {
Serial.begin(115200);
//initial the Serial
}
void
loop() {
if
(Serial.available()) {
Serial.write(Serial.read());
//send what has been received
Serial.println();
//print line feed character
}
}
안드로이드 코드는 https://github.com/DFRobot/BlunoBasicDemo 에서 소스코드를 받으셔도 되고,
그 안에 있는 apk 를 직접 설치해도 됩니다. (소스코드는 Android Studio 용으로 되어있지 않지만,
Android Studio 에서도 소스파일을 잘 갖다가 넣으면 잘 동작합니다.)
기타 iOS 용도 있으니 아이폰 개발자들은 참고하시면 될 듯 합니다.
NO | PART | QTY | ETC |
1 | Bluno nano | 1 | http://www.dfrobot.com/ |
2 | 미니 브레드 보드 | 2 | |
3 | Smart Car Chassis | 1 | Banggood 또는 aliexpress 에서 구입 |
4 | 배터리 | 1 | |
5 | PN2222 Transistor | 2 | |
6 | 1N4001 diode | 2 | |
7 | 270 옴 저항 | 2 |
왼쪽 모터 PWM 핀을 5번 오른쪽은 9번으로 설정했습니다.
안드로이드에서는 L l R r 을 보내서 좌우 모터의 속력을 조절합니다.
DC 모터가 PWM 값에 따라 리니어하게 변하진 않지만, 일단 +10, -10 으로 설정해 보았습니다.
기본적인 UI 는 Bluno Basic Demo 와 동일하며, Left RIght speed up down 버튼만 추가하였습니다.안드로이드 쪽 화면입니다.
좌 우 현재 스피드를 알려주는 레이블도 추가하였습니다.
같은 PWM 값에 따라 DC모터 2개 속도가 일정하지 않습니다.
이와 같은 이유로 좌 우 방향 전환을 하려고 하는데 잘 되지 않습니다.
바퀴 동기화는 크랭크를 이용해서 하나의 모터로 하는 것이 아닌가 생각됩니다.
방향 전환은 서보 모터로 해야 하는데, 기구적인 설계를 먼저 해야할 것 같군요... :)
강두진