시리즈로 아두이노 프로젝트를 포스팅하고 있는데요. 이번 시간에는 스타워즈의 사랑스런 캐릭터 R2D2 를 아두이노와 모터를 이용해서 휴대폰으로 조정하는 프로젝트입니다. 본 프로젝트를 진행해 보고 싶으신 학교나 단체가 있으시면 연락 주세요.
기본적인 진행은 지난 시간에 포스팅한 8족 보행 로보트를 만드는 프로젝트와 같습니다. 블루투스모듈로 아두이노와 스마트폰을 연결해서 아두이노에 연결된 모터를 조정하는 구조입니다.
Step 1: 디자인
디자인은 블렌더를 이용해서 했습니다. 블렌더는 무료로 사용할 수 있는 3d CG 프로그램입니다. 사용한 블렌더의 버전은 2.7입니다.
- 다운로드 블렌더
- 참고기사 무료로(도) 사용할 수있는 무료 CAD 와 CG 소프트웨어 리스트
Step 2: 준비물
이번 프로젝트에서 사용한 부품은 아래와 같습니다.
- One Arduino UNO
- One HC-06 (Bluetooth module)
- Two DC motors
- One servo motor
- One L298N (DC motor driver)
Step 3: 코딩
이번 프로젝트에서 사용한 코드는 아래와 같습니다. 프로그램은 아두이IDE 를사용해서 옮겨 줍니다. 머리의 회전을 코드로 추가해 보세요. LCD를 추가해 빛나게 해도 좋습니다.
#include <SoftwareSerial.h>
SoftwareSerial BT(7,6);
#include <VarSpeedServo.h>
VarSpeedServo myservo;
void setup()
{
BT.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
myservo.attach(9);
}
char a;
void loop()
{
if (BT.available()) {
a = (BT.read());
if (a == '0') {
BT.println("R2 is stopping!");
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
if (a == '1') {
BT.println("R2 is forwarding!");
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
}
if (a == '2') {
BT.println("R2 is backwarding!");
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
}
if (a == '3') {
BT.println("R2 is turning left!");
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
}
if (a == '4') {
BT.println("R2 is turning right!");
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
}
if (a == '5') {
BT.println("R2 is rotating its head!");
myservo.write(180, 30, true);
myservo.write(0, 30, true);
}
}
}
Step 4: 만들기
이번 아두이노 프로젝트를 만드는 영상입니다. 참조하시고 재미있게 진행해 보세요.
이상으로 프로젝트를 소개해 봤는데요. 본 프로젝트를 진행해 보고 싶은 단체나 문의하고 싶은 점 댓글로 연락을 부탁드립니다.