This is an old revision of the document!
Tomita Ionut 334CD
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.
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.
Diagrama bloc:
Lista de piese:
Schema electrica:
Arduino IDE – utilizat pentru dezvoltarea și încărcarea codului pe placa compatibilă Arduino UNO (ATmega328P + CH340).
- Servo.h – pentru controlul servomotorului responsabil cu deschiderea/închiderea capacului. - Adafruit_ADXL345_U.h – pentru interfațarea cu accelerometrul ADXL345 prin I²C. - Wire.h – pentru comunicarea I²C între microcontroler și accelerometru.
Implementarea software este funcțională și include următoarele componente: - Deschiderea automată a capacului: la detectarea mișcării prin senzorul PIR, capacul se deschide automat și rămâne deschis pentru o perioadă prestabilită. - Detecția manipulării neautorizate: accelerometrul monitorizează mișcările bruște sau înclinările coșului și declanșează o alarmă sonoră în caz de manipulare neautorizată. - Alarmă sonoră: un buzzer emite un semnal sonor specific în cazul detectării unei manipulări neautorizate. - Afișaj LCD *(opțional)*: pentru afișarea stării curente a coșului, numărul de deschideri sau alte informații relevante.
- Servo.h: oferă o interfață simplă și eficientă pentru controlul servomotoarelor, permițând poziționarea precisă a capacului coșului. - Adafruit_ADXL345_U.h: bibliotecă robustă și bine documentată pentru interfațarea cu accelerometrul ADXL345, facilitând citirea și interpretarea datelor de accelerație. - Wire.h: standard pentru comunicarea I²C, necesară pentru interacțiunea cu accelerometrul.
Proiectul se distinge prin integrarea mai multor senzori și actuatori pentru a crea un coș de gunoi inteligent care: - Se deschide automat la detectarea mișcării, fără a necesita contact fizic. - Detectează manipulările neautorizate și declanșează o alarmă sonoră specifică. - *(Opțional)* Afișează informații relevante pe un ecran LCD, oferind feedback utilizatorului.
Această combinație de funcționalități oferă o soluție inovatoare pentru gestionarea deșeurilor în mod igienic și securizat.
- Întreruperi (Interrupts): utilizate pentru a reacționa prompt la semnalele senzorului PIR, asigurând o deschidere rapidă a capacului la detectarea mișcării. - Timere: folosite pentru a gestiona durata de deschidere a capacului și pentru a controla durata alarmei sonore. - PWM (Pulse Width Modulation): necesar pentru controlul precis al poziției servomotorului. - I²C: interfață de comunicare cu accelerometrul ADXL345, permițând citirea datelor de accelerație.
Aceste funcționalități au fost studiate și aplicate în laboratoarele cursului, demonstrând aplicabilitatea lor în proiecte practice.
Structura software este organizată în mai multe stări: - Așteptare detectare mișcare: sistemul monitorizează senzorul PIR pentru a detecta prezența utilizatorului. - Deschidere capac: la detectarea mișcării, servomotorul deschide capacul și începe un temporizator. - Închidere capac: după expirarea temporizatorului, capacul se închide automat. - Monitorizare accelerometru: în paralel, accelerometrul verifică dacă coșul este manipulat neautorizat. - Declanșare alarmă: la detectarea unei manipulări neautorizate, buzzerul emite o alarmă sonoră specifică.
Validarea funcționării corecte a fost realizată prin testarea fiecărei componente individual și în ansamblu, asigurând o integrare coerentă a tuturor funcționalităților.
- Senzor PIR: ajustarea sensibilității și a duratei semnalului de ieșire pentru a evita declanșările false. - Accelerometru ADXL345: setarea gamei de măsurare la ±16g pentru a detecta mișcările bruște; stabilirea unui prag de accelerație pentru declanșarea alarmei.
Calibrarea a fost realizată prin observarea comportamentului senzorilor în condiții reale de utilizare și ajustarea parametrilor pentru a obține o funcționare fiabilă.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.