아두이노로 만든 자동으로 열리는 쓰레기통의 종이컵 ver
수능이 끝나고 모든 입시가 끝나니 정말 할게 없었다.
예전에 학교에서 조금 해봤던 아두이노를 만져보려고 마음 먹고 용산 전자상가 지하에 있는 샘플전자와 동신전자에서 아두이노, 초음파센서, 점퍼선, 서보모터, 저항, led 몇 개를 사왔다.
그런데 집에와서 보니,,,,, 점퍼선을 MF로 사온 것을 깨닫게 되었다.. 정말 짜증이 났지만 브레드보드와 아두이노를 연결하기 위해 다음 날 다시 용산에 가 MM 점퍼선을 구매해왔다.
오랜만에 하는 거니 감을 익히기 위해 간단한 led 끄고 켜기, 초음파 센서로 led 키기 등등을 만들어 봤다.
어떤 분 인스타에서 자동으로 열리는 쓰레기통을 종이컵으로 만든 영상을 보고 난 후로 그걸 꼭 만들고 싶었다.
여~~러 시행착오 끝에 완성했다.. 비주얼은 좀 구리지만
완성작
영상도 있다.
ㅋㅋ 허접하네
서보모터 위치랑 각도 맞추는게 참.. 애매해서 애먹었다.
사용한 소스코드는 다음과 같다.
#include <Servo.h>
Servo myservo;
int pos = 0;
int servo=12;
int echoPin = 3;
int trigPin = 2;
float duration;
float distance = 100;
void setup() {
myservo.attach(servo);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, HIGH);
delay(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = ((float)(340 * duration) / 10000) / 2;
if (distance < 10) {
for (pos = 10; pos < 250; pos += 2)
{
myservo.write(pos);
delay(30);
}
delay(2000);
}
delay(50);
}
각도를 0~90으로 했더니 영 안돌아 가서 이것저것 해보다 10에서 250도로 맞췄다.
사실 if 부분에서 delay(2000) 후이 다시 250에서 10으로 가야하는데 코드를 그렇게 짜니 이상하게 뚜껑 열고 닫는게 반대로 되버렸다.. 어찌어찌하다 아예 저렇게 해버리니 그럭저럭 된 것 같다.
다음은 피에조부저를 사서 종이 피아노를 만들 계획이다~~
그나저나 저거 다시 분해하기 뭔가 아깝다.