728x90
반응형
습식, 건식, 금속 폐기물 자동 분리 DIY 프로젝트
🧭 프로젝트 개요
환경 보호는 생활 속 작은 실천에서부터! 이번 프로젝트는 Arduino와 다양한 센서를 이용해 습식, 건식, 금속 폐기물을 자동으로 분리하는 스마트 분리수거 시스템입니다.
- 습식 감지: 빗방울 센서
- 금속 감지: 근접 센서
- 물체 감지 및 배출: IR 센서 + 서보 모터
- 자동 분류: 스테퍼 모터 + 회전 쓰레기통
센서로 감지 → 플랩 방향 전환 → 쓰레기통 회전 분류 실제 기성품처럼 작동하는 멋진 프로젝트예요!
📦 재료 목록
항목수량설명
Arduino Uno | 1 | 마이크로컨트롤러 |
빗방울 센서 | 1 | 습식 폐기물 감지 |
근접 센서 | 1 | 금속 탐지용 |
IR 센서 | 1 | 물체 감지용 |
서보 모터 | 1 | 배출 슈트 제어 |
스테퍼 모터 + 드라이버 | 1 | 쓰레기통 회전 제어 |
부저 | 1 | 상태 피드백 |
점퍼 케이블, 18650 배터리팩 | - | 전원 및 연결 |
합판(30x12x2cm), PVC 파이프(1/2", 2.5", 3") | - | 본체 조립 |
샤프트 어댑터, 볼트류 | - | 회전 연결용 |
아두이노 코드 및 라이브러리 | 링크 참조 | 아래 코드 참고 |
🛠️ 1단계: 기본 구성 및 배선
- 합판 위에 아두이노 보드, 스테퍼 드라이버, 부저 부착
- 모든 센서와 모터를 Arduino에 핀별로 연결
- IR → 물체 감지 (입구 센서)
- 빗방울 센서 → 습식 여부
- 근접 센서 → 금속 탐지
- 서보 → 배출 플랩 회전
- 스테퍼 모터 → 쓰레기통 회전
분류 메커니즘 구성
-
- 1/2" UPVC 파이프를 잡고 나사를 사용하여 엔드 캡을 설치합니다.
- 파이프 상단에 1/2" UPVC L-보우를 부착합니다.
- 다른 1/2" UPVC 엔드 캡에 구멍을 뚫고 이를 2.5" PVC 파이프에 부착합니다.
- 이 2.5" PVC 파이프 어셈블리를 L-보우에 연결합니다.
- 2.5인치 PVC 파이프의 한쪽에 IR 센서를 장착하고 반대쪽에 근접 센서를 장착합니다.
- 분류 슈트용 플랩을 만들려면 3인치 PVC 파이프(길이 30cm)를 사용하여 수직으로 자른 다음 가열하여 시트로 평평하게 만듭니다.
- 서보 모터 부착 장치의 확장을 포함하여 이 PVC 시트에서 원형 모양을 추적하고 자릅니다. 이것은 폐기물을 지시하는 플랩이 될 것입니다.
- 서보 모터를 2.5인치 PVC 파이프 어셈블리에 부착합니다.
- PVC 플랩에 구멍을 뚫고 접착제를 사용하여 서보 모터 혼을 부착합니다.
- 마지막으로 빗방울 센서를 PVC 덮개에 부착합니다.
- 쓰레기통 조립
- 납작한 PVC 시트를 사용하여 쓰레기통의 회전 베이스 역할을 할 세 잎 클로버 모양을 추적하고 자릅니다. 3 개의 3 인치 PVC 파이프를 크기 가이드로 사용하십시오.
- 이 클로버 모양의 바닥에 3개의 3인치 PVC 파이프를 붙입니다.
-
🧱 2단계: 구조 설계
- PVC 파이프와 시트로 분류 슈트 및 쓰레기통 구성
- 플랩은 3인치 PVC 시트를 평평하게 펴서 자름
- 플랩에 서보 모터 부착 → 방향 전환 제어
- 아래는 세잎클로버 형태의 3칸 쓰레기통
- 각 통은 DRY, WET, METAL로 라벨 지정
전기 연결



- 비디오에 제공된 회로도에 따라 모든 전자 부품을 연결하십시오.
- 스테퍼 모터를 스테퍼 드라이버에 연결합니다.
- 빗방울 센서, 부저, 서보 모터 및 IR 센서를 Arduino에 연결합니다.
- 스테퍼 드라이버와 배터리 홀더를 Arduino에 연결합니다.
💡 3단계: Arduino 코드 로직 요약
- IR 센서가 쓰레기 인식
- 습식 센서 → 일정 전압 이상이면 WET 통으로 분류
- 금속 센서 → 감지되면 METAL 통
- 둘 다 아니면 → DRY 통
- 플랩 방향 전환 후, 쓰레기통 회전
> 플랩은 서보 모터로 방향 바꾸고, 스테퍼는 정확한 각도로 회전하여 목표 통으로 이동
💻 4단계: 코드 & 라이브러리 다운로드
- Arduino 전체 코드 다운로드
- 서보 모터 라이브러리
- 스테퍼 모터 라이브러리
- Arduino IDE 설치 파일
#include <CheapStepper.h>
#include <Servo.h>
Servo servo1;
#define ir 5
#define proxi 6
#define buzzer 12
int potPin = A0; //input pin
int soil=0;
int fsoil;
CheapStepper stepper (8,9,10,11);
void setup()
{Serial.begin(9600);
pinMode(proxi, INPUT_PULLUP);
pinMode(ir, INPUT);
pinMode(buzzer, OUTPUT);
servo1.attach(7);
stepper.setRpm(17);
servo1.write(180);
delay(1000);
servo1.write(70);
delay(1000);
}
void loop()
{
fsoil=0;
int L =digitalRead(proxi);
Serial.print(L);
if(L==0)
{
tone(buzzer, 1000, 1000);
stepper.moveDegreesCW (240);
delay(1000);
servo1.write(180);
delay(1000);
servo1.write(70);
delay(1000);
stepper.moveDegreesCCW (240);
delay(1000);
}
if(digitalRead(ir)==0)
{
tone(buzzer, 1000, 500);
delay(1000);
int soil=0;
for(int i=0;i<3;i++)
{
soil = analogRead(potPin) ;
soil = constrain(soil, 485, 1023);
fsoil = (map(soil, 485, 1023, 100, 0))+fsoil;
delay(75);
}
fsoil=fsoil/3;
Serial.print(fsoil);
Serial.print("%");Serial.print("\n");
if(fsoil>20)
{
stepper.moveDegreesCW (120);
delay(1000);
servo1.write(180);
delay(1000);
servo1.write(70);
delay(1000);
stepper.moveDegreesCCW (120);
delay(1000);
}
else {
tone(buzzer, 1000, 500);
delay(1000);
servo1.write(180);
delay(1000);
servo1.write(70);
delay(1000);}
}
}
> ⚙️ 보드 포트 확인하고 업로드 완료 후, USB 분리해 자율 작동시킬 수 있어요!
🧪 5단계: 최종 조립 및 테스트
- 샤프트 어댑터로 클로버형 쓰레기통과 스테퍼 모터 연결
- 각 쓰레기통 입구는 컬러 페이퍼로 꾸미고 라벨 부착
- 전원 연결 후 다양한 폐기물(물 묻힌 티슈, 금속 캔 등)을 테스트
- 자동으로 플랩이 돌아가고 쓰레기통이 회전하면서 올바르게 분류됩니다!
-
🟢 습식 → 녹색 통 🟡 건식 → 노란색 통 🔴 금속 → 빨간색 통
🌱 확장 아이디어
- 초음파 센서 추가 → 쓰레기통 수위 체크
- Wi-Fi 모듈 추가 → IoT 분리통 관리 시스템
- LCD or OLED → 분류 상태 디스플레이
- 부저 음성 출력 → “금속 폐기물입니다”
728x90
반응형
'모빌리티 프로젝트' 카테고리의 다른 글
직접 만드는 3D 프린팅 태양광 UV 해충 트랩 LumiTrap 만들기 (1) | 2025.06.13 |
---|---|
초소형 3D 프린팅 손전등 DIY 제작기 (무선 충전 지원) (1) | 2025.06.09 |
3D 프린팅으로 제작하는 마이크로그린 발아 트레이 (조명 포함) (1) | 2025.05.30 |
DIY 전기 생성 신발 (0) | 2025.05.30 |
🏮 Brimlight 1.0: 당신의 모자를 헤드램프로 바꿔보세요! (0) | 2025.05.28 |