코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2020-07-06 18:29:41
Ver2.0
안녕하세요! 이번에는 저번에 공유했던 Ver1.0에 이어서 코코아팹의 오렌지 보드를 활용하여 모든 손소독제 호환형 "자동 손소독제 펌핑 키트"를 만들어 보았습니다.
이번 프로젝트에서는 시중에서 저렴하고 쉽게 구할 수 있는 MG996R, MG996, MG995 서보를 사용하여 제작하실 수 있습니다.
또한 락커 스위치를 이용하여 원하지 않을때는 서보모터가 작동되지 않게 소스코드도 수정하였습니다.
아직 모델링을 비롯하여 많은 부분에서 부족한 부분이 많이 있을 수 있으나 집에서 간단히 자동 손소독제 펌핑장치를 만들고싶어 제작하게되었습니다.
모델링 파일은 아래서 다운받을 수 있습니다. (부족한 부분이 많아도 양해바랍니다ㅠㅠ)
아래 링크로 들어가시면 모델링 파일과, 소스코드를 다운받을실 수 있습니다.
자세한 제작 방법은 아래 영상을 참고해주세요!!
Contact: bks5677@naver.com
/*
Title: 아두이노 손소독제 자동 펌핑키트 Arduino Sanitizer Auto Pumping Kit
Youtube Link: https://youtu.be/fLsvbnxbabY
소스코드 공유 시 위 사항을 포함하여 공유해주세요.
When sharing the source code, please include the source as shown above.
echo = 3
trig = 4
servo = 5
*/
#include <Servo.h>
Servo myservo;
int first_angle = 100; //you can change the value.
int second_angle = 50; //you can change the value.
int detection_distance = 20; //(cm)you can change the value.
int sw = 12; //Switch
int echoPin = 3; //ultrasonic sensor echoPIN
int trigPin = 4; //ultrasonic sensor trigPIN
void setup() {
myservo.attach(5);
myservo.write(first_angle);
pinMode(sw, INPUT_PULLUP);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop(){
digitalWrite(trigPin, LOW);
digitalWrite(echoPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long duration = pulseIn(echoPin, HIGH);
float distance = duration / 29.0 / 2.0;
if (digitalRead(sw) == LOW){
if (distance <= detection_distance){
myservo.write(second_angle);
delay(400);
myservo.write(first_angle);
delay(800);
}
}
else{
myservo.write(first_angle);
}
}
황정언전깃줄 Youtube | 고등학생