This shows you the differences between two versions of the page.
pm:prj2024:avaduva:darius.barbusi [2024/05/25 05:01] darius.barbusi [Bibliografie/Resurse] |
pm:prj2024:avaduva:darius.barbusi [2024/05/26 21:25] (current) darius.barbusi [Scheletul proiectului, interacțiunea dintre funcționalități și validare] |
||
---|---|---|---|
Line 240: | Line 240: | ||
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:** | ||
+ | |||
+ | -Placa de dezvoltare Arduino Uno controlează toate componentele și gestionează logica de funcționare a sistemului | ||
+ | -Senzorul de culoare TCS230 detectează culorile bancnotelor | ||
+ | -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 | ||
+ | -LED-urile (roșu și verde) indică vizual starea sistemului | ||
+ | -Servomotoarele mută bancnotele în zona de depozitare și oferă acces la bani | ||
+ | -Tastatura numerică permite introducerea codului PIN pentru accesul la bani | ||
+ | |||
+ | **2. Configurarea componentelor in setup:** | ||
+ | |||
+ | -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 | ||
+ | |||
+ | **3. Loop-ul principal:** | ||
+ | |||
+ | -Verificarea stării alarmei și gestionarea activării/dezactivării acesteia | ||
+ | -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ă | ||
+ | -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 322: | Line 364: | ||
Am finalizat proiectul cu succes, integrand toate functionalitatile propuse la inceput pentru o pusculita inteligenta. Utilizarea senzorului de culoare pentru identificarea automata a valorii bancnotelor, combinata cu sistemul de securitate bazat pe cod PIN si alarma, ofera utilizatorilor o solutie eficienta pentru mentinerea economiilor. Interactiunea dintre modulele hardware si software, validate prin numeroase teste, confirma ca toate functionalitatile proiectate merg conform asteptarilor, rezultand intr-un proiect terminat cu succes. | Am finalizat proiectul cu succes, integrand toate functionalitatile propuse la inceput pentru o pusculita inteligenta. Utilizarea senzorului de culoare pentru identificarea automata a valorii bancnotelor, combinata cu sistemul de securitate bazat pe cod PIN si alarma, ofera utilizatorilor o solutie eficienta pentru mentinerea economiilor. Interactiunea dintre modulele hardware si software, validate prin numeroase teste, confirma ca toate functionalitatile proiectate merg conform asteptarilor, rezultand intr-un proiect terminat cu succes. | ||
+ | |||
+ | A fost interesant sa lucrez la acest proiect, un proces destul de captivant si provocator, si diferit de alte proiecte anterioare. Mi-am folosit destul de mult imaginatia pentru a proiecta carcasa pusculitei si pentru modul in care am legat piesele (nu prea mi-au ajuns pinii de pe placuta). Mi s-a parut o experienta interesanta din care am invatat ceva nou si care mi-a consolidat cunostintele. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | **DEMO** cu prezentarea tuturor functionalitatilor in arhiva: |
- | 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> | + | |
+ | {{:pm:prj2024:avaduva:proiect_pm_barbusi_darius_final.zip|}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
https://ocw.cs.pub.ro/courses/pm | https://ocw.cs.pub.ro/courses/pm | ||
+ | |||
+ | https://www.hackster.io/diyprojects/arduino-colour-sensing-tutorial-tcs230-tcs3200-color-sensor-013da1 | ||
+ | |||
+ | https://ocw.cs.pub.ro/courses/_media/pm/lab/uno.jpg | ||
+ | |||
+ | https://www.hackster.io/SurtrTech/color-detection-using-tcs3200-230-84a663 | ||
+ | |||
+ | https://www.hackster.io/camdelk/keypad-entry-lock-4d7a03 | ||
+ | |||
+ | https://www.hackster.io/akshayjoseph666/servo-motor-interface-with-arduino-uno-9693ad | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||