아두이노, 메이커

[아두이노 프로젝트] 8족 보행 종이 로보트 만들기

탁이 2019. 11. 19. 21:30

이번 시간에는 아두이노와 종이로 만드는 로보트를 소개합니다. 꽤 오래전에 만들어 봤던 로보트인데요. 아두이노와 블루투스 모듈 그리고 스마트폰을 이용해서 조정하는 로봇입니다. 

 

Step 1: 디자인

디자인은 블렌더를 이용해서 했습니다. 블렌더는 무료로 사용할 수 있는 3d CG 프로그램입니다. 사용한 블렌더의 버전은 2.7입니다. 기본적인 다리의 움직임은 키네틱아티스트인 테오얀센 선생님의 strandbeest의 구조입니다. 

 

 

 

Step 2: 사용한 부품 

이번 프로젝트에서 사용한 부품은 아래와 같습니다. 

  • One Arduino UNO
  • One HC-06 (Bluetooth module)
  • Two DC motors
  • One L298N (DC motor driver)

 

Step 3: CNC컷터를 이용해 커팅

CNC페이터 컷터인 실루엣을 이용해서 프리컷을 만들었습니다. 

 

Step 4: 코딩

#include <SoftwareSerial.h>
SoftwareSerial BT(7,6);
void setup()
{
  BT.begin(9600);
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT); 
  pinMode(5, OUTPUT); 
}
char a;
void loop()
{
  if (BT.available()) {
    a = (BT.read());
    if (a == '0') {
    BT.println("Beast is stopping!");
    digitalWrite(2, LOW); 
    digitalWrite(3, LOW); 
    digitalWrite(4, LOW); 
    digitalWrite(5, LOW); 
    }
    if (a == '1') {
    BT.println("Beast is forwarding!");
    digitalWrite(2, HIGH); 
    digitalWrite(3, LOW); 
    digitalWrite(4, HIGH); 
    digitalWrite(5, LOW); 
    }
    if (a == '2') {
    BT.println("Beast is backwarding!");
    digitalWrite(2, LOW); 
    digitalWrite(3, HIGH); 
    digitalWrite(4, LOW); 
    digitalWrite(5, HIGH); 
    }
    if (a == '3') {
    BT.println("Beast is turning left!");
    digitalWrite(2, HIGH); 
    digitalWrite(3, LOW);  
    digitalWrite(4, LOW); 
    digitalWrite(5, HIGH); 
    }    
    if (a == '4') {
    BT.println("Beast is turning right!");
    digitalWrite(2, LOW); 
    digitalWrite(3, HIGH);  
    digitalWrite(4, HIGH); 
    digitalWrite(5, LOW); 
    }
  }
}

 

아두이노의 IDE를 이용해 프로그램을 했습니다. 블루투스모듈(HC-06) 을 이용해서 스마트폰의 앱과 커뮤니케이션을 합니다.

Step 5: 조립

조립한 순서는 아래와 같습니다.

 

①다리 * 8

②모터박스 * 2
③연결 지지대 * 2

④센터박스

⑤아두이노 케이블연결

 

조립이 끝나면, 아두이노와 건전지 블루투스모듈 그리고 모터드라이버를 센터박스에 넣고 센터박스를 닫습니다. 다 끝나면 아두이노와 컴퓨터를 연결해서 프로그램을 넣어 줍니다.

 

자세한 방법은 아래 비디오를 참조해 주세요.