This is an old revision of the document!


Cos de gunoi inteligent

Introducere

Ti-a fost vreodata lene sa deschizi cosul de gunoi si ai vrut sa se deschida singur? Nu? Minti, cu totii vrem asta. De aceea am venit cu ideea sa fac un cos de gunoi inteligent ce se deschide automat atunci cand te apropii cu mana de el si contorizeaza cate lucruri ai aruncat in el, perfect pentru a stii cat de plin este cosul.

Ideea a pornit de la faptul ca in baie am un cos de gunoi ce normal ar trebui sa se deschida prin apasarea cu piciorul pe o placa de presiune, dar mecanismul nu mai functioneaza.

Cum functioneaza exact? Folosind un senzor ultrasonic si un servo motor, capacul cosului s-ar deschide automat, iar folosind un display LCD am contoriza cate obiecte au fost aruncate in cos. Scopul este de a crea un dispozitiv practic si igienic, ce ar fi util pentru oricine.

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Descriere generală

Sistemul este compus din urmatoarele:

Module hardware:

  • ATmega328P-XMINI - microcontrollerul principal, creierul intregii operatiuni, cel care primeste datele de la senzor si decide ce se intampla mai departe
  • HC-SR04P - senzorul ultrasonic care detecteaza daca te-ai apropiat cu mana de cos
  • SG90 - servo motorul care deschide si inchide capacul cosului
  • LCD 1602 + modul I2C - display-ul care iti arata cate obiecte ai aruncat in cos
  • Buzzer activ 5V - emite un sunet atunci cand capacul se deschide
  • LED rosu + verde - indica starea cosului, deschis sau inchis
  • Rezistente 1kΩ - protejeaza LED-urile de la a se arde

Module software: (prone to changes)

  • Driver TWI/I2C - se ocupa de comunicatia dintre microcontroller si LCD
  • Modul HC-SR04 - gestioneaza intreruperile externe de pe pinul ECHO si calculeaza distanta pana la mana
  • Control servo PWM - foloseste Timer1 in modul Fast PWM pentru a controla unghiul capacului
  • Logica principala - decide cand sa deschida capacul, cand sa il inchida, incrementeaza contorul si actualizeaza display-ul

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

Lista Componente
Componenta Model / Specificatii Cantitate
Microcontroller ATmega328P-XMINI 1
Breadboard 400 puncte 1
Fire tata-tata 20cm, dupont ~8
Fire mama-tata 20cm, dupont ~8
Rezistenta 220Ω 4
Senzor ultrasonic HC-SR04P 1
LED rosu 5mm, 3.5V 2
LED verde 5mm, 3.5V 2
Servo motor SG90, 5V 1
Buzzer activ 5V, 2300Hz 1
Display LCD + modul I2C LCD 1602, interfata I2C 1
Componente folosite si Rolul lor
Componenta Rol in proiect
Microcontroller ATmega328P-XMINI Creierul sistemului. Ruleaza codul in C pur, citeste senzorul prin pooling si controleaza actuatorii (timere, registre).
Senzor ultrasonic HC-SR04P Modulul de input. Masoara distanta pana la mana utilizatorului prin emiterea si receptia de unde sonore.
Servo motor SG90 Actuatorul principal. Actioneaza mecanic tija (push-rod) pentru a ridica si cobori capacul cosului.
Display LCD 1602 + modul I2C Interfata vizuala. Afiseaza mesaje de stare (“Apropie mana”, “Capac Deschis!”) si contorul de utilizari.
Buzzer activ Feedback sonor. Emite un semnal acustic scurt (un “beep”) in momentul in care capacul se deschide.
Pinii folositi
Pin ATmega328P Eticheta Componenta Rol
PD2 BUZZER Buzzer Activ Iesire digitala - Controlul on/off al semnalului sonor
PD3 LED_ROSU LED-uri Rosii Iesire digitala - Activarea indicatorului de capac deschis
PD4 LED_VERDE LED-uri Verzi Iesire digitala - Activarea indicatorului de stare de veghe
PD5 US_ECHO Senzor HC-SR04 Intrare digitala - Masurarea duratei pulsului de ecou reflectat
PD6 US_TRIG Senzor HC-SR04 Iesire digitala - Generarea pulsului de declansare de 10us
PB1 SERVO_PWM Servo SG90 Iesire PWM - Generat de Timer 1 (OC1A) la 50Hz pentru unghi
PC4 SDA Modul LCD I2C Linie de date bidirectionala (interfata hardware TWI)
PC5 SCL Modul LCD I2C Linie de ceas/sincronizare (interfata hardware TWI)
VCC / +5V VCC Toate Magistrala pozitiva de alimentare (5V din USB-ul placii)
GND GND Toate Masa comuna a circuitului (intoarcerea curentului la sursa)
Schema electrica

Nu am gasit in KiCad placa ATmega328P Xplained Mini si am folosit echivalentul ATmega328P-P

Schema prezinta:

  • ATmega328P Xplained Mini in centru, ca unitate de control
  • HC-SR04 conectat pe pinii TRIG (PD6) si ECHO (PD5) - reprezinta senzorul ultrasonic pentru masurarea distantei
  • Servo motor SG90 conectat pe pinul PWM (PB1) - reprezinta actuatorul folosit pentru ridicarea capacului
  • LCD I2C conectat pe magistrala I2C (SDA=PC4, SCL=PC5) cu alimentare de 5V - afiseaza starea si numarul de utilizari
  • Buzzer conectat pe PD2 pentru activare si semnalizare sonora scurta la deschidere
  • LED-uri verzi conectate in paralel pe pinul PD4 prin rezistente de 220 Ohm - indicator pentru starea de repaus
  • LED-uri rosii conectate in paralel pe pinul PD3 prin rezistente de 220 Ohm - indicator pentru starea activa (capac deschis)
Principiu de functionare

Sistemul functioneaza pe baza unei bucle infinite de citire si reactie, impartita in trei stadii:

  • Starea de Veghe (Repaus): Senzorul ultrasonic emite unde in permanenta. Cat timp distanta masurata este mai mare de 8 cm, capacul ramane inchis, LED-urile verzi sunt aprinse (indicand starea de veghe), iar ecranul LCD afiseaza textul stabil “Apropie mana” alaturi de numarul curent de utilizari.
  • Starea Activa (Detectie): Cand o mana se apropie la sub 8 cm, microcontrollerul comuta starea: LED-urile verzi se sting, cele rosii se aprind, buzzerul emite un semnal sonor scurt (150ms) ca feedback, iar ecranul isi schimba textul in “Capac Deschis!”. In acelasi timp, contorul de utilizari creste cu +1, iar Timerul 1 modifica factorul de umplere (Duty Cycle) pe pinul PB1, determinand servomotorul sa roteasca axul rapid la 90 de grade, ridicand capacul prin intermediul tijei mecanice.
  • Temporizare si Revenire: Sistemul mentine capacul deschis timp de 4 secunde pentru a permite aruncarea deseurilor. Dupa expirarea timpului, motorul revine lin la 0 grade, LED-urile rosii se sting, cele verzi se reaprind, iar ecranul revine la mesajul de veghe, actualizat cu noul numar de utilizari.

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/atoader/adrian_cosmin.amzar.1778953973.txt.gz · Last modified: 2026/05/16 20:52 by adrian_cosmin.amzar
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0