Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:alexandru.jipa2803:eugen.cantaragiu [2026/05/12 11:04]
eugen.cantaragiu
pm:prj2026:alexandru.jipa2803:eugen.cantaragiu [2026/05/12 11:28] (current)
eugen.cantaragiu [Jurnal]
Line 5: Line 5:
 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. 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. 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.
- 
-<note tip> 
-</​note>​ 
 ===== Descriere generală ===== ===== Descriere generală =====
  
Line 47: Line 44:
 Î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:​ Î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:​
  
-afișarea informațiilor pe un display LCD1602; +  * afișarea informațiilor pe display-ul LCD1602; 
-introducerea unei parole folosind ​o tastatură ​matricială 3x4+  ​* ​introducerea unei parole folosind ​keypad-ul ​matricial;​ 
-detectarea monedelor folosind senzori IR; +  ​* ​detectarea monedelor folosind senzori IR; 
-generarea de semnale sonore ​folosind ​un buzzer ​activ; +  ​* ​generarea de feedback sonor folosind ​buzzerul ​activ; 
-gestionarea timpului folosind ​Timer2; +  * utilizarea ​Timer2 ​pentru gestionarea operațiilor dependente de timp
-actualizarea ​sumei introduse ​și afișarea ​acesteia pe LCD.+  ​* ​actualizarea și afișarea ​sumei totale introduse.
  
 ==== Conexiuni hardware ==== ==== Conexiuni hardware ====
 +
 +{{ :​pm:​prj2026:​alexandru.jipa2803:​sch_el_piggy_b.png |}}
  
 === LCD1602 === === LCD1602 ===
  
-^ Funcție LCD ^ Pin microcontroller ^ +^ Funcție LCD ^ Pin microcontroller ​^ Rol 
-| RS | PB0 | +| RS | PB0 | Selectează dacă se transmite o comandă sau un caracter către LCD 
-| EN | PB1 | +| EN | PB1 | Semnal de validare; LCD-ul citește datele când acest pin este activat ​
-| D4 | PD4 | +| D4 | PD4 | Linie de date pentru modul 4-bit 
-| D5 | PD5 | +| D5 | PD5 | Linie de date pentru modul 4-bit 
-| D6 | PD6 | +| D6 | PD6 | Linie de date pentru modul 4-bit 
-| D7 | PD7 | +| D7 | PD7 | Linie de date pentru modul 4-bit 
-| VDD | 5V | +| VDD | 5V | Alimentarea LCD-ului ​
-| VSS | GND | +| VSS | GND | Masă comună ​
-| RW | GND |+| 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.
  
-LCD-ul este utilizat în modul 4-bit pentru ​reducerea numărului de pini utilizați.+Modulul LCD1602 folosit are potențiometru inclus ​pentru ​reglarea contrastului,​ ceea ce permite ajustarea vizibilității caracterelor afișate.
  
 === Keypad 3x4 === === Keypad 3x4 ===
  
-^ Funcție keypad ^ Pin microcontroller ^ +^ Funcție keypad ^ Pin microcontroller ​^ Rol 
-| ROW1 | PB2 | +| ROW1 | PB2 | Linie de scanare pentru primul rând 
-| ROW2 | PB3 | +| ROW2 | PB3 | Linie de scanare pentru al doilea rând 
-| ROW3 | PB4 | +| ROW3 | PB4 | Linie de scanare pentru al treilea rând 
-| ROW4 | PB5 | +| ROW4 | PB5 | Linie de scanare pentru al patrulea rând 
-| COL1 | PD0 | +| COL1 | PD0 | Intrare pentru prima coloană ​
-| COL2 | PD1 | +| COL2 | PD1 | Intrare pentru a doua coloană ​
-| COL3 | PD2 |+| COL3 | PD2 | Intrare pentru a treia coloană ​|
  
-Tastatura matricială este scanată secvențial prin activarea liniilor și citirea coloanelor ​folosind ​rezistențele interne pull-up.+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ținterne pull-up ​activate.
  
 === Senzori IR === === Senzori IR ===
  
-^ Senzor ^ Pin microcontroller ^ +^ Senzor ^ Pin microcontroller ​^ Rol 
-| Senzor 5 bani | PC5 | +| Senzor 5 bani | PC5 | Detectează moneda de 5 bani 
-| Senzor 10 bani | PC4 | +| Senzor 10 bani | PC4 | Detectează moneda de 10 bani 
-| Senzor 50 bani | PC3 |+| Senzor 50 bani | PC3 | Detectează moneda de 50 bani |
  
-Senzorii detectează ​prezența ​monedelor prin modificarea stării logice a pinilor de intrare.+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.
  
 === Buzzer activ === === Buzzer activ ===
  
-^ Componentă ^ Pin microcontroller ^ +^ Componentă ^ Pin microcontroller ​^ Rol 
-| Buzzer | PC2 |+| Buzzer | PC2 | Generează feedback sonor |
  
-Buzzerul este utilizat pentru ​generarea ​feedback-ului sonor la detectarea monedelor.+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.
  
-<note tip> +==== Mecanismul de sortare al monedelor ==== 
-Aici puneţi tot ce ţine de hardware design: + 
-  * listă de piese +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 ș50 bani
-  * scheme electrice (se pot lua şi de pe Internet şdin datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) + 
-  * diagrame de semnal ​ +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.
-  * rezultatele simulării +
-</​note>​+
  
 +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.
 ===== Software Design ===== ===== Software Design =====
  
Line 121: Line 121:
   * controlul LED-ului RGB pentru stări diferite   * controlul LED-ului RGB pentru stări diferite
   * controlul buzzerului pentru feedback sonor   * controlul buzzerului pentru feedback sonor
-<note tip> 
-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 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 141: Line 134:
 Repository GitHub: Repository GitHub:
 https://​github.com/​Eugen2613/​Smart-Piggy-Bank https://​github.com/​Eugen2613/​Smart-Piggy-Bank
- 
-<note warning> 
-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**. 
-</​note>​ 
  
 ===== Jurnal ===== ===== Jurnal =====
Line 153: Line 140:
 | 27.04.2026 | Alegerea temei proiectului | | 27.04.2026 | Alegerea temei proiectului |
 | 05.05.2026 | Crearea paginii wiki | | 05.05.2026 | Crearea paginii wiki |
-10.05.2026 ​| Implementarea LCD-ului și keypad-ului | +7.05.2026 - 10.05.2026| Implementarea ​hardware - conexiuni + cutie |
-| 12.05.2026 | Implementarea ​detectării monedelor ​| +
-| 13.05.2026 | Implementarea buzzerului și Timer2 | +
- +
-<note tip> +
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2026/alexandru.jipa2803/eugen.cantaragiu.1778573071.txt.gz · Last modified: 2026/05/12 11:04 by eugen.cantaragiu
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