Intelligent Trash Can - TOMIŢA Ionuţ
Introducere
Prezentarea pe scurt a proiectului:
Am realizat un coș de gunoi automatizat care se deschide singur când detectează apropierea mâinii, numără obiectele aruncate și emite un sunet de alertă dacă este răsturnat sau dacă cineva încearcă să îl fure. Informațiile pot fi afișate pe un ecran LCD.
Scopul meu este să contribui la reducerea poluării și la promovarea unui comportament mai responsabil față de mediu, oferind în același timp o soluție igienică și sigură de colectare a deșeurilor.
Ideea a venit din dorința de a adăuga un plus de inteligență unui obiect banal, cum e coșul de gunoi. M-am gândit cum ar fi dacă ar putea reacționa singur la mișcare, ar putea contoriza deșeurile și s-ar putea proteja împotriva furtului.
Cred că un astfel de coș ar fi foarte util în orașe, parcuri, școli sau clădiri publice, pentru a reduce poluarea, a evita contactul direct și a preveni vandalismul sau furtul. Pentru mine, acest proiect a fost o oportunitate de a învăța mai mult despre electronică, programare și soluții inteligente pentru probleme reale.
Descriere generală
Proiectul „Intelligent Trash Can” combină senzori de proximitate, detecție de mișcare și accelerometru cu un actuator (servomotor) și un afișaj LCD pentru a obține un dispozitiv care deschide automat capacul la apropierea mâinii, ține evidența obiectelor aruncate, și declanșează o alarmă sonoră în cazul manipulării neautorizate (răsturnare). Toate modulele sunt alimentate de la aceeași sursă de 5 V, asigurată de regulatorul de pe placa Arduino UNO compatibilă (ATmega328P + CH340), iar semnalele dintre senzor/actuator și microcontroler sunt distribuite pe interfețe standard (PWM, GPIO digital, I²C), fără necesitatea conversiei suplimentare de niveluri.
Hardware Design
Diagrama bloc:
Lista de piese:
Schema electrica:
Software Design
Mediu de dezvoltare: Arduino IDE (placă Arduino UNO – ATmega328P + CH340)
Librării folosite:
Servo.h – controlul servomotorului pentru deschiderea/închiderea capacului
Adafruit_ADXL345_U.h – comunicare cu accelerometrul ADXL345 prin I²C
LiquidCrystal_I2C – comunicare I²C între microcontroler accelerometru si LCD
Funcționalități implementate:
Deschidere automată capac: La detectarea mișcării prin senzorul PIR, capacul se deschide automat și rămâne deschis un timp prestabilit.
Detecție manipulare neautorizată: Accelerometrul monitorizează mișcările bruște/inclinarea coșului și declanșează alarma sonoră.
Alarmă sonoră: Un buzzer emite un sunet de avertizare în cazul unei manipulări neautorizate.
Afișaj LCD: Afișează informații precum numarul de elemente introduse.
Motivația alegerii bibliotecilor:
Servo.h – interfață simplă și eficientă pentru controlul servomotorului
Adafruit_ADXL345_U.h – bibliotecă robustă pentru accelerometrul ADXL345
Wire.h – standard pentru comunicarea I²C
Elemente de noutate:
Integrarea senzorilo pentru a crea un coș inteligent
Deschiderea automată a capacului fără contact fizic
Detectarea tentativelor de manipulare și declanșarea unei alarme sonore
Afișarea informațiilor utile pe un ecran LCD
Justificarea utilizării funcționalităților din laborator:
Întreruperi (Interrupts): reacționează prompt la semnalele PIR, pentru deschiderea rapidă a capacului
Timere: gestionează durata de deschidere a capacului și timpul de activare a alarmei
PWM (Pulse Width Modulation): permite controlul precis al poziției servomotorului
I²C: interfață pentru comunicarea cu accelerometrul ADXL345
Structura proiectului și interacțiunea funcționalităților:
Așteptare detectare mișcare: Sistemul monitorizează senzorul PIR pentru a detecta prezența.
Deschidere capac: La detectarea mișcării, servomotorul deschide capacul și pornește un timer.
Închidere capac: După expirarea temporizatorului, capacul se închide automat.
Monitorizare accelerometru: Verifică dacă coșul este manipulat neautorizat.
Declanșare alarmă: La detectarea unei manipulări neautorizate, buzzerul emite un semnal sonor.
Detectare obiecte cu senzor ultrasonic: Senzorul ultrasonic montat pe capac detectează introducerea obiectelor în coș. Informațiile colectate sunt procesate și transmise pentru afișare pe ecranul LCD (de exemplu: număr obiecte detectate, nivel de umplere, etc.).
Calibrarea senzorilor:
Senzor PIR – ajustarea sensibilității și duratei semnalului pentru a evita alarmele false. (manual)
Accelerometru ADXL345 – setarea la ±16g pentru detectarea mișcărilor bruște; stabilirea pragurilor de accelerare pentru declanșarea alarmei.
Cod sursa:
https://github.com/Ionut-Tomita/PM-Project
Rezultate Obţinute