프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

반지의 제왕 사우론 도전기 : 1 . Robot Eyes

2015-09-29 14:59:12

개요

 

 

 

 

귀여운 미니언즈를 만들 계획이였지만, 멋있는 사우론 을 만들어보겠습니다 ~  \ (ㅇㅁㅇ) /

다소 무리한 프로젝트지만 성공적으로 끝나길 빌고 있습니다 ㅠ

제가 아두이노를 접한지 5개월 정도 되가는군요

저의 최고 기술인 서보모터를 이용하여 사우론을 만들계획입니다.

원리는 로봇의 눈을 움직이는 것과 같은 원리입니다.

 

 

 

관련 튜토리얼 

 

kocoafab에 있는 튜토리얼을 참고해 기본 사용법을 익혀두세요! 

 

서보모터제어하기

 

 

 

 

NO 부품명 수량 상세 설명
1 오렌지 보드 1  
2 서보모터 2  
3 케이블 8  
4 브레드 보드 1  

 

 

 

 

부품명 오렌지 보드 서보모터 케이블 브레드 보드
파트

 

 

 

 

 

 

하드웨어 메이킹 

 

브레드 보드 레이아웃

 

 

 

 

 

 

 

 

반지의 제왕 사우론 도전기 : 1

 

작동 방법

 

서보모터와 출력물을 연결할때 철사를 이용해서 길이조정을 각자 맞춰주셔야됩니다.

출력물과 모터간의 거리에따라 철사 길이를 조정해 주어 눈이 감겼을때 값이 출력될때 눈꺼풀이 만나도록 해주셔야됩니다.

 

 

서보모터나 출력물이 바닥에 단단히 고정이되어야 제대로 작동이됩니다.

 

 

이 비쥬얼이라면 귀여운 사우론이 되겠네요 ㅜㅜ

사우론 모델링이 없어 모델링을 창조해내야되는 ... 최대한 좋은 퀄리티로 찾아뵙겠습니다~^^ 기다려주세요!!!

 

 

 

 

 

 

 

 

소프트 웨어 코딩 

 

 

 

#include 

Servo myservo1;
Servo myservo2;

char a;


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  myservo1. attach(9);
  myservo2. attach(10);
}

void loop() {
  // put your main code here, to run repeatedly:
  //a = random(1, 5);
  a = Serial.read();

  if (a == '1') {
    //full eyes
    Serial.println("1111111111111111");
    myservo2. write(90);
    delay(1500);
    myservo1. write(60);
    delay(500);
    myservo1. write(130);
    delay(500);
    myservo1. write(60);
    delay(500);
    myservo1. write(130);
    delay(500);
    

    
  }
  else if (a == '2') {
    Serial.println("222222222222");
    myservo1. write(130);
    delay(100);
    myservo2. write(30);
    delay(500);
    myservo2. write(90);
    delay(500);
    myservo2. write(30);
    delay(500);
    myservo2. write(90);
    delay(500);
    myservo2. write(30);
    delay(500);
    myservo2. write(90);
    delay(1500);
  }

  else if (a == '3') {
    //half
    Serial.println("3333333333");
    for(int i=0; i<3; i++) {
      for(int pos = 120; pos>=50; pos-=1)     // goes from 180 degrees to 0 degrees 
      {                                
        myservo1.write(pos);              // tell servo to go to position in variable 'pos' 
        delay(30);                       // waits 15ms for the servo to reach the position 
      } 
    }
   
  }


  else if (a == '4') {
    //sleep
    Serial.println("4444444444444");
    myservo1.write(140);
    delay(500);
    for(int pos = 140; pos>=50; pos-=1)     // goes from 180 degrees to 0 degrees 
    {                                
      myservo1.write(pos);              // tell servo to go to position in variable 'pos' 
      delay(50);                       // waits 15ms for the servo to reach the position 
    } 
    delay(1500);
  }
  else if (a == '5')
  {
    Serial.println("55555555555");
    
      myservo1. write(120);
    delay(2000);
    
    myservo2.write(150);  
    delay(500);
    for(int pos = 150; pos>=30; pos-=1)     // goes from 180 degrees to 0 degrees 
    {                                
      myservo2.write(pos);              // tell servo to go to position in variable 'pos' 
      delay(30);                       // waits 15ms for the servo to reach the position 
    } 
    delay(1500);
  }
   
    
}

 

 

 

 

서보모터 참고하세요!!!

 

Servo myservo1;  -눈꺼풀


Servo myservo2;  - 눈알

 

 

 

 

 

 

 

 

 

 

 

 

모델링 공유 : http://www.thingiverse.com/thing:319978​

 

염소할배