This is an old revision of the document!
Proiectul constă într-o pușculiță inteligentă controlată de un microcontroller ATmega. Sistemul permite accesul securizat prin introducerea unei parole de la un keypad 3×4, afișează mesaje pe un LCD1602 și controlează mecanismul de închidere cu ajutorul unui servomotor. Monedele introduse sunt sortate mecanic în funcție de dimensiune și detectate cu ajutorul unor senzori IR. Sistemul oferă feedback vizual prin LED RGB și feedback sonor prin buzzer. Scopul proiectului este să creez o pușculiță mai practică și mai interactivă decât una obișnuită. Aceasta va putea fi deschisă doar cu parolă, va sorta monedele automat după dimensiune și va oferi feedback utilizatorului prin LCD, LED RGB și buzzer.
Sistemul este alcătuit din următoarele module:
Fluxul principal al aplicației:
| Componentă | Rol |
|---|---|
| Placă ATmega | Controlul sistemului |
| Keypad 3×4 | Introducerea parolei |
| LCD1602 shield | Afișarea mesajelor |
| Servomotor SG90 180° | Controlul mecanismului de închidere |
| Senzori IR | Detectarea monedelor |
| Buzzer activ 5V | Feedback sonor |
| LED RGB cu catod comun | Feedback vizual |
| Rezistori 220Ω / 330Ω | Limitarea curentului pentru LED |
| Breadboard MB-102 | Realizarea montajului |
| Fire Dupont | Conectarea componentelor |
În cadrul proiectului a fost realizată integrarea mai multor componente hardware folosind placa de dezvoltare ATmega328P Xplained Mini. Până în acest moment au fost implementate și testate următoarele funcționalități:
| Funcție LCD | Pin microcontroller | Rol |
|---|---|---|
| RS | PB0 | Selectează dacă se transmite o comandă sau un caracter către LCD |
| EN | PB1 | Semnal de validare; LCD-ul citește datele când acest pin este activat |
| D4 | PD4 | Linie de date pentru modul 4-bit |
| D5 | PD5 | Linie de date pentru modul 4-bit |
| D6 | PD6 | Linie de date pentru modul 4-bit |
| D7 | PD7 | Linie de date pentru modul 4-bit |
| VDD | 5V | Alimentarea LCD-ului |
| VSS | GND | Masă comună |
| RW | GND | LCD-ul este folosit doar pentru scriere |
LCD-ul este utilizat în modul 4-bit pentru reducerea numărului de pini utilizați. Pinii PB0 și PB1 au fost aleși pentru semnalele de control, iar pinii PD4–PD7 pentru liniile de date deoarece sunt grupați pe același port, ceea ce simplifică implementarea software.
Modulul LCD1602 folosit are potențiometru inclus pentru reglarea contrastului, ceea ce permite ajustarea vizibilității caracterelor afișate.
| Funcție keypad | Pin microcontroller | Rol |
|---|---|---|
| ROW1 | PB2 | Linie de scanare pentru primul rând |
| ROW2 | PB3 | Linie de scanare pentru al doilea rând |
| ROW3 | PB4 | Linie de scanare pentru al treilea rând |
| ROW4 | PB5 | Linie de scanare pentru al patrulea rând |
| COL1 | PD0 | Intrare pentru prima coloană |
| COL2 | PD1 | Intrare pentru a doua coloană |
| COL3 | PD2 | Intrare pentru a treia coloană |
Tastatura matricială este scanată secvențial prin activarea liniilor și citirea coloanelor. Liniile au fost conectate pe portul B deoarece sunt folosite ca ieșiri, iar coloanele pe portul D deoarece sunt citite ca intrări cu rezistențe interne pull-up activate.
| Senzor | Pin microcontroller | Rol |
|---|---|---|
| Senzor 5 bani | PC5 | Detectează moneda de 5 bani |
| Senzor 10 bani | PC4 | Detectează moneda de 10 bani |
| Senzor 50 bani | PC3 | Detectează moneda de 50 bani |
Senzorii IR detectează trecerea monedelor prin modificarea stării logice a pinilor de intrare. Pinii PC3–PC5 au fost aleși deoarece erau disponibili și permit citirea simplă a semnalelor digitale.
| Componentă | Pin microcontroller | Rol |
|---|---|---|
| Buzzer | PC2 | Generează feedback sonor |
Buzzerul activ este controlat printr-un singur pin digital. Pinul PC2 a fost ales deoarece era disponibil și permite pornirea/oprirerea buzzerului prin semnal HIGH/LOW. Fiind un buzzer activ, acesta nu necesită generarea unei frecvențe PWM, ci doar alimentarea printr-un semnal digital.
Sistemul utilizează un mecanism mecanic de sortare a monedelor în funcție de dimensiunea acestora. Monedele introduse sunt direcționate către compartimente separate dedicate valorilor de 5 bani, 10 bani și 50 bani.
Sortarea este realizată printr-un traseu mecanic proiectat astfel încât monedele să fie separate pe baza diametrului lor. Fiecare compartiment este monitorizat cu ajutorul unui senzor IR care detectează trecerea monedei și transmite informația către microcontroller.
Pentru a îmbunătăți acuratețea detecției, interiorul compartimentelor din zona senzorilor IR a fost vopsit în negru. Această soluție reduce reflexiile luminii infraroșii produse de suprafața peretelui din spate și previne detectările false.
Mediul de dezvoltare folosit va fi Arduino IDE / PlatformIO, în funcție de compatibilitatea plăcii ATmega.
Funcționalități software planificate:
Repository GitHub: https://github.com/Eugen2613/Smart-Piggy-Bank
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.
| Data | Activitate |
|---|---|
| 27.04.2026 | Alegerea temei proiectului |
| 05.05.2026 | Crearea paginii wiki |
| 7.05.2026 - 10.05.2026 | Implementarea hardware - conexiuni + cutie |