This is an old revision of the document!
Scopul principal al proiectului este de a automatiza complet procesul de colectare selectivă la nivel de consumator.
Ideea a plecat de la o problemă reală de zi cu zi: confuzia și comoditatea oamenilor atunci când vine vorba de reciclare.
Cred că acest produs este util pentru că oferă o soluție modernă și ecologică pentru case inteligente, birouri și chiar spații publice.
1. Module Hardware
Alimentare: Sursa 12V DC și modulul Buck Converter LM2596 asigură tensiunile necesare pentru logică (5V) și putere brută pentru motoare.
Procesare: Microcontrolerul ATmega328P este creierul care coordonează tot sistemul.
Senzori (Intrări): Modulul de greutate (HX711) detectează plasarea obiectului. Senzorul inductiv, rețeaua de umiditate și bariera IR colectează date despre proprietățile materialului.
Actuatori (Ieșiri): Servomotorul 1 (Pusher) și Servomotorul 2 (Jgheab) execută acțiunea mecanică de sortare.
2. Module Software
Codul rulat pe microcontroler este format din: bucla de așteptare (declanșată de cântar), algoritmul de achiziție a datelor (care citește senzorii într-o anumită ordine), arborele decizional (care decide tipul de deșeu) și generatorul de semnale PWM (care mișcă motoarele).
3. Interacțiunea (Cum funcționează)
Sistemul stă în așteptare până când senzorul de greutate detectează un obiect. În acel moment, ATmega328P citește starea senzorilor (Inductiv, Umiditate, IR) și folosește logica software pentru a determina categoria deșeului. Microcontrolerul trimite comenzi către Servomotorul 2 pentru a alinia jgheabul cu pubela corectă, iar apoi activează Servomotorul 1 pentru a împinge obiectul de pe trapă. La final, motoarele revin la poziția zero, iar ciclul se reia.
| Componentă | Cantitate | Tip / Model | Rol în proiect |
|---|---|---|---|
| Celulă de sarcină | 1 | Senzor greutate 3kg | Detectează prezența obiectului pe trapă și inițiază ciclul de scanare. |
| Modul HX711 | 1 | Convertor A/D 24-biți | Amplifică semnalul de greutate pentru a putea fi citit de microcontroler. |
| Senzor inductiv de proximitate | 1 | LJ12A3-4-Z | Detectează prezența obiectelor din metal (doze, conserve). |
| LED emițător IR | 1 | 5mm, 940nm | Formează sursa de lumină infraroșie pentru bariera optică. |
| LED receptor IR | 1 | Fototranzistor 5mm, analogic | Măsoară cantitatea de lumină ce trece prin obiect (detecție sticlă/transparență). |
| Servomotor | 2 | MG996R (Metal Gear) | Execută acțiunea mecanică: măturarea trapei (Pusher) și rotirea jgheabului. |
| Bandă adezivă de cupru | 1 rolă | Lățime 10mm | Formează grilajul conductiv pentru senzorul DIY de umiditate (deșeu organic). |
| Condensatori | 2 | Electrolitici (ex: 470µF / 50V) | Protejează placa de resetări, preluând șocurile de curent la pornirea servomotoarelor. |
| Microcontroler | 1 | ATmega328PB / 328P | Unitatea centrală de procesare care rulează codul, citește senzorii și comandă motoarele. |
| Modul alimentare | 1 | Buck Converter LM2596 | Coboară și stabilizează tensiunea de la 12V la 5V pentru logica plăcii și motoare. |
Fiecare pin a fost ales strategic pe baza funcțiilor hardware specifice ale microcontrolerului, pentru a asigura o citire rapidă a senzorilor și un control fin al actuatoarelor.
| Componentă | Pin ATmega328P | Tip Semnal | Justificare Tehnică |
|---|---|---|---|
| Modul HX711 (DT) | PD2 | Digital In (INT0) | Folosește întreruperea hardware (INT0) pentru a detecta instantaneu schimbarea greutății, optimizând codul. |
| Modul HX711 (SCK) | PD3 | Digital Out | Generează semnalul de ceas (clock) pentru sincronizarea citirii datelor de la cântar. |
| Senzor Inductiv | PD4 | Digital In | Citește semnalul binar de prezență metal (0/1), adaptat la 5V prin divizorul de tensiune. |
| Servo 1 (Pusher) | PB1 | PWM (16-bit) | Legat la Timer-ul 1 (OC1A) pe 16 biți, pentru un control PWM mult mai precis și fin al unghiului. |
| Servo 2 (Jgheab) | PB2 | PWM (16-bit) | Legat la Timer-ul 1 (OC1B) pe 16 biți, pentru a preveni tremurul brațului sub greutatea sticlelor. |
| Emițător IR (LED) | PD7 | Digital Out | Control on/off din cod pentru citire diferențială (eliminarea erorilor date de lumina ambientală). |
| Receptor IR (Foto) | PC1 | Analog In (ADC1) | Măsoară exact câtă lumină trece prin obiect, stabilind un prag clar între plastic transparent și metal opac. |
| Senzor Ploaie DIY | PC0 | Analog In (ADC0) | Citește rezistența lichidului. Convertorul ADC permite citirea “gradului de umezeală”, nu doar o valoare binară. |
Proiectul folosește un sistem cu două tensiuni (12V și 5V) pentru a separa partea de forță/detecție de partea logică, protejând astfel microcontrolerul de perturbații și supracurenți.
Notă de Siguranță Hardware: Deoarece senzorul inductiv funcționează la 12V, semnalul său de ieșire este trecut obligatoriu printr-un divizor de tensiune rezistiv (15kΩ / 10kΩ) înainte de a intra în pinul PD4. Astfel, tensiunea este coborâtă la un nivel logic sigur de 4.8V, prevenind distrugerea pinului.
Proiectul se află în faza de achiziție și procesare primară a datelor. Momentan, s-a implementat logica de bază pentru interogarea secvențială a senzorilor, controlată manual printr-un buton (pe pinul PD5). Funcționează complet partea de citire digitală a senzorului inductiv (detectare metalelor) și citirea analogică a senzorului de umiditate (detectare resturi biodegradabile).
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.