2015년 7월 19일 일요일

레고를 사용한 크레인

거미로봇도 아직 안오고 해서 일전에 구매 해 뒀던 서보 모터로 뭐를 해 볼까 고민을 하다가 아들이 만들어 놓은 크레인이 눈에 들어왔습니다.

'레고시티 시리즈 60076'



흐흐.. 이러면 안되는데..
아들이 잠든 틈을 타서 몰래 바퀴를 분해 했습니다.

처참히 분해 된 크레인 ㅠㅠ

크레인의 바퀴

왠지 여기에 어떻게든 서보 모터를 연결해 주면 움직일 수 있을 것 같다는 생각이 들었습니다.
연결하는 중에 아들이 눈치를 채고 달려왔습니다. 부서졌다고 화를 낼 줄 알았는데....
의외로 호기심을 가지며 뭐 필요한거 없냐고 해서 공동 작업에 들어 갔습니다.
(전 레고를 잘 못하거든요 ^^;;)

서보모터 바퀴랑 연결해 주기

일전에 구매한 서보 모터가 하나가 헛돌아서 ㅠㅠ 아쉽게도 일단 바퀴 하나만 연결 했습니다.

급한 마음에 테이프로 고정 ^^*

ㅋㅋ.. 아들의 도움을 받아 레고로 고정해야 하는데... 움직이는 것을 빨리 보고 싶은 나머지
급한대로 테잎신공을 썼습니다.

아두이노를 얹고 고정시켜 주기
아두이노를 얹어 봤습니다. 의외로 딱 맞네요. 5V 건전지 케이스도 구매 한게 정말 다행입니다.
AA 건전지 3개를 끼우고 아래 사진처럼 건전지 케이스 자리를 만들어 넣어 줬습니다.


건전지 자리도 레고로 확보하고 고정~
짜잔!! 한쪽 바퀴밖에 움직이지 않지만 크레인 바퀴로 아들과 첫 레고 로봇을 만들었습니다.

원래 모터 2개를 연결해서 앞뒤로 움직이는 것을 목적으로 스케치 코드를 만들어 봤습니다.
// Sweep
// by BARRAGAN <http://barraganstudio.com>
// This example code is in the public domain.


#include <Servo.h>

Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo
// a maximum of eight servo objects can be created

int cnt = 180;
int pos = 0; // variable to store the servo position

void setup()
{
myservo1.attach(2); // attaches the servo on pin 9 to the servo object
myservo2.attach(9); // attaches the servo on pin 9 to the servo object
}


void loop()
{
while (cnt>=1) {
myservo1.write(pos);
myservo2.write(cnt);
pos++;
cnt--;
delay(30); // waits 15ms for the servo to reach the position
}

cnt = 180;
pos = 0;
while (cnt>=1) {
myservo1.write(cnt);
myservo2.write(pos);
pos++;
cnt--;
delay(30); // waits 15ms for the servo to reach the position
}
}


이렇게 해서 구동되는 로봇 입니다.

시운전~

21일에 방학이 들어가기 전에 준비물을 마련하고 관련 공부를 마치려고 했는데 아직 부품이 다 마련되지는 않았지만, 아들과 하나하나 시작 할 수 있는 환경은 갖춘거 같아서 햄볶습니다~

방학이 시작되면 본격적으로 레고로 작품을 만들어 보겠습니다. ^_^~

댓글 없음: