코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2015-09-29 14:59:12
귀여운 미니언즈를 만들 계획이였지만, 멋있는 사우론 을 만들어보겠습니다 ~ \ (ㅇㅁㅇ) /
다소 무리한 프로젝트지만 성공적으로 끝나길 빌고 있습니다 ㅠ
제가 아두이노를 접한지 5개월 정도 되가는군요
저의 최고 기술인 서보모터를 이용하여 사우론을 만들계획입니다.
원리는 로봇의 눈을 움직이는 것과 같은 원리입니다.
kocoafab에 있는 튜토리얼을 참고해 기본 사용법을 익혀두세요!
NO | 부품명 | 수량 | 상세 설명 |
1 | 오렌지 보드 | 1 | |
2 | 서보모터 | 2 | |
3 | 케이블 | 8 | |
4 | 브레드 보드 | 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);
}
}
염소할배