This shows you the differences between two versions of the page.
pm:prj2024:avaduva:darius.barbusi [2024/05/26 06:48] darius.barbusi [Scheletul proiectului, interacțiunea dintre funcționalități și validare] |
pm:prj2024:avaduva:darius.barbusi [2024/05/26 21:25] (current) darius.barbusi [Scheletul proiectului, interacțiunea dintre funcționalități și validare] |
||
---|---|---|---|
Line 241: | Line 241: | ||
Proiectul este structurat în mai multe module care colaborează pentru a asigura funcționarea corectă și eficientă a proiectului. Aceste module includ citirea bancnotelor, actualizarea sumei, securitatea prin cod PIN, sistemul de alarmă și gestionarea servomotoarelor. | Proiectul este structurat în mai multe module care colaborează pentru a asigura funcționarea corectă și eficientă a proiectului. Aceste module includ citirea bancnotelor, actualizarea sumei, securitatea prin cod PIN, sistemul de alarmă și gestionarea servomotoarelor. | ||
- | **1. Declarația și Inițializarea Componentelor:** | + | **1. Declarația și inițializarea componentelor:** |
-Placa de dezvoltare Arduino Uno controlează toate componentele și gestionează logica de funcționare a sistemului | -Placa de dezvoltare Arduino Uno controlează toate componentele și gestionează logica de funcționare a sistemului | ||
- | -Senzorul de culoare TCS34725 detectează culorile bancnotelor | + | -Senzorul de culoare TCS230 detectează culorile bancnotelor |
- | -LCD I2C afișează suma totală acumulată și alte mesaje de stare pentru utilizator | + | -LCD I2C afișează suma totală acumulată și alte mesaje de stare pentru utilizator |
- | -Buzzer-ul emite semnale sonore pentru a indica diferite acțiuni și alarme | + | -Buzzer-ul emite semnale sonore pentru a indica diferite acțiuni și alarme |
- | -LED-urile (roșu și verde) indică vizual starea sistemului | + | -LED-urile (roșu și verde) indică vizual starea sistemului |
- | -Servomotoarele mută bancnotele în zona de depozitare și oferă acces la bani | + | -Servomotoarele mută bancnotele în zona de depozitare și oferă acces la bani |
- | -Tastatura numerică permite introducerea codului PIN pentru accesul la bani | + | -Tastatura numerică permite introducerea codului PIN pentru accesul la bani |
- | **2. Configurarea Componentelor în Setup:** | + | **2. Configurarea componentelor in setup:** |
- | Inițializarea și setarea servomotoarelor, senzorului de culoare, LCD-ului, buzzer-ului, LED-urilor și butoanelor. | + | -Inițializarea și setarea servomotoarelor, senzorului de culoare, LCD-ului, buzzer-ului, LED-urilor și butoanelor |
- | Setarea pozițiilor inițiale pentru servomotoare și configurarea pinilor de intrare și ieșire pentru componentele hardware. | + | -Setarea pozițiilor inițiale pentru servomotoare și configurarea pinilor de intrare și ieșire pentru componentele hardware |
- | 3. Loop-ul Principal: | + | |
- | Verificarea stării alarmei și gestionarea activării/dezactivării acesteia. | + | **3. Loop-ul principal:** |
- | Gestionarea introducerii codului PIN și verificarea corectitudinii acestuia pentru accesul la fonduri. | + | |
- | Monitorizarea stării butoanelor pentru inițierea procesului de scanare a bancnotelor sau resetarea sistemului. | + | |
- | Actualizarea servomotoarelor pentru mișcarea bancnotelor și resetarea sistemului după accesarea fondurilor. | + | |
- | 4. Funcții pentru Gestionarea Componentelor: | + | |
- | scanBill(): Activează senzorul de culoare pentru a scana bancnota introdusă. | + | -Verificarea stării alarmei și gestionarea activării/dezactivării acesteia |
- | resetSystem(): Activează procesul de resetare a sistemului. | + | -Gestionarea introducerii codului PIN și verificarea corectitudinii acestuia pentru accesul la fonduri |
- | get_red_frequency(), get_green_frequency(), get_blue_frequency(): Obțin frecvențele culorilor roșu, verde și albastru ale bancnotei scanate. | + | -Monitorizarea stării butoanelor pentru inițierea procesului de scanare a bancnotelor sau resetarea sistemului |
- | check_money_type(): Determină tipul bancnotei pe baza frecvențelor culorilor detectate. | + | -Actualizarea servomotoarelor pentru mișcarea bancnotelor și resetarea sistemului după accesarea fondurilor |
- | playTone(int frequency, int duration): Redă un ton la buzzer pentru notificări sonore. | + | |
- | activateAlarm(): Activează alarma în cazul introducerii incorecte a PIN-ului de trei ori. | + | |
- | 5. Verificarea și Actualizarea Sumei: | + | |
- | Frecvențele culorilor sunt măsurate și comparate cu intervalele predefinite pentru a determina valoarea bancnotei. | + | **4. Funcții pentru gestionarea componentelor:** |
- | Suma totală este actualizată și afișată pe LCD, iar bancnota este mutată în zona de depozitare folosind servomotorul. | + | |
- | 6. Măsuri de Securitate: | + | |
- | Sistemul este protejat de un cod PIN pentru accesul la bani. | + | -scanBill(): Activează senzorul de culoare pentru a scana bancnota introdusă |
- | Dacă PIN-ul este introdus incorect de trei ori consecutiv, sistemul de alarmă se activează, emițând un semnal sonor și aprinzând LED-urile roșu și verde. | + | -resetSystem(): Activează procesul de resetare a sistemului |
+ | -getColors(): Obțin frecvențele culorilor roșu, verde și albastru ale bancnotei scanate | ||
+ | -check_money_type(): Determină tipul bancnotei pe baza frecvențelor culorilor detectate | ||
+ | -playTone(int frequency, int duration): Redă un ton la buzzer pentru notificări sonore | ||
+ | -activateAlarm(): Activează alarma în cazul introducerii incorecte a PIN-ului de trei ori | ||
+ | |||
+ | **5. Verificarea si actualizarea sumei:** | ||
+ | |||
+ | -Frecvențele culorilor sunt măsurate și comparate cu intervalele predefinite pentru a determina valoarea bancnotei | ||
+ | -Suma totală este actualizată și afișată pe LCD, iar bancnota este mutată în zona de depozitare folosind servomotorul | ||
+ | |||
+ | |||
+ | **6. Securitate:** | ||
+ | |||
+ | -Sistemul este protejat de un cod PIN pentru accesul la bani | ||
+ | -Dacă PIN-ul este introdus incorect de trei ori consecutiv, sistemul de alarmă se activează, emițând un semnal sonor și aprinzând LED-urile roșu și verde | ||
** Interacțiunea Dintre Funcționalități ** | ** Interacțiunea Dintre Funcționalități ** | ||
Line 365: | Line 370: | ||
**DEMO** cu prezentarea tuturor functionalitatilor in arhiva: | **DEMO** cu prezentarea tuturor functionalitatilor in arhiva: | ||
- | {{:pm:prj2024:avaduva:proiect_pm_barbusi_darius.zip|}} | + | {{:pm:prj2024:avaduva:proiect_pm_barbusi_darius_final.zip|}} |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||