아두이노 자동 개폐 스마트 휴지통 만들기 – 초음파 센서와 서보 모터 활용
부품 및 소모품
| 부품 | 수량 |
| 아두이노 우노 (Arduino UNO) 또는 호환 보드 | 1 |
| 초음파 센서 HC-SR04 | 1 |
| 서보 모터 (타워프로 MG996R 또는 마이크로 서보 SG90) | 1 |
| UTSOURCE 전자 부품 (기타 부품) | 1 |
앱 및 온라인 서비스
프로젝트 소개
모든 게 스마트해지는데 휴지통이라고 예외일까요? 쓰레기를 가져가면 자동으로 뚜껑이 열리고, 3초 대기 후 자동으로 닫히는 스마트 휴지통을 만들어봅시다. 영상으로 정확한 작동 모습을 확인하세요.
1단계: 구성 부품
- 아두이노 우노 (모든 보드 가능)
- 서보 모터 (마이크로 서보 SG90 사용)
- HC-SR04 초음파 센서
- 서보 혼 (서보에 동봉)
- 골판지 (긴 조각) 또는 아이스크림 막대
- 휴지통
2단계: 회로 구성
서보와 초음파 센서 소비 전류가 적어 아두이노 5V 핀에서 직접 전원 공급 가능. 단, 아두이노에는 7.4V 이상(최소 7V) DC 전원 공급 필요.
- 서보 신호선(노란색) → 아두이노 핀 3
- 서보 VCC(빨간색) → 아두이노 5V
- 서보 GND(검정/회색) → 아두이노 GND
- 초음파 센서 Trig → 아두이노 핀 6
- 초음파 센서 Echo → 아두이노 핀 5
- 초음파 센서 VCC → 아두이노 5V
- 초음파 센서 GND → 아두이노 GND
3단계: 서보 혼 연결
서보 혼에 긴 골판지 조각(또는 아이스크림 막대)을 핫글루 등으로 부착한 뒤 서보 모터에 연결.
4단계: 휴지통에 서보와 센서 장착
초음파 센서는 휴지통 위쪽을 향하게 고정. 서보 모터는 뚜껑을 밀 수 있는 위치에 고정해 회전 시 뚜껑이 열리도록 함.
5단계: 코드
GitHub: https://github.com/ashraf-minhaj/Trash-bot
50cm 이내 물체 감지 시 서보를 50도 회전해 뚜껑 오픈 → 3초 대기 → 160도 회전해 뚜껑 닫기. 60ms 딜레이로 루프 반복.
#include <Servo.h>
Servo servo;
int const trigPin = 6;
int const echoPin = 5;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(3);
}
void loop() {
int duration, distance;
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1; // cm 단위 거리
if (distance <= 50 && distance >= 0) {
servo.write(50);
delay(3000);
} else {
servo.write(160);
}
delay(60);
}
6단계: 완성
아두이노에 7V 이상 전원 공급하면 자동 개폐 휴지통 로봇 완성!
작업이 마음에 드신다면 유튜브 채널 구독으로 응원해 주세요.
코드
아두이노 스마트 휴지통 코드 (C/C++) 제공
회로도
회로도 이미지 및 GitHub 링크 제공