This is an old revision of the document!
Nume: Buciu Cosmin
Grupă: 333CA
Ce face proiectul?
Proiectul constă în realizarea unui dispozitiv electronic interactiv care simulează sistemul de armare al unei bombe, inspirat din mecanicile jocurilor tactice. Utilizatorul interacționează cu o tastatură numerică pentru a introduce un cod de securitate format din 7 cifre. Odată ce codul este validat, sistemul pornește o numărătoare inversă afișată în timp real pe un ecran LCD. În această fază, utilizatorul poate încerca dezamorsarea prin menținerea apăsată a unui buton timp de 5 secunde, acțiune care generează un sunet electronic secundar, intercalat simultan peste bipurile de alertă ale bombei, indiferent de timpul rămas.
Pe durata cronometrării, un buzzer pasiv emite semnale sonore scurte (bip-uri) care se accelerează pe măsură ce timpul expiră, crescând tensiunea. În final, dacă timpul se scurge complet, sistemul semnalează „explozia” prin avertizări sonore continue și prin feedback vizual (mesaj de alertă pe ecran și schimbarea stării LED-ului RGB).
Care este scopul lui?
Scopul principal este crearea unui joc de strategie și dexteritate sub presiune, care să demonstreze cum un microcontroler poate gestiona procese secvențiale și simultane. Sistemul trebuie să preia și să valideze un cod de la tastatură, iar ulterior să declanșeze o stare de alertă în care rulează un Timer pentru cronometrarea precisă. În această a doua fază, microcontrolerul trebuie să actualizeze constant informația pe ecranul I2C și să genereze semnale PWM pentru buzzer în mod sincronizat cu timpul rămas și să proceseze asincron procesul de dezamorsare prin buton și suprapunerea audio aferentă, fără a bloca execuția programului. Este un exercițiu de logică aplicată unde dispozitivul trece prin stări diferite și oferă feedback instantaneu utilizatorului.
Care a fost ideea de la care am pornit?
Ideea mi-a venit inspirându-mă din jocurile video de tip shooter, unde există mecanica de a introduce un cod pentru a activa un anumit obiect dar și cea de dezamorsare contracronometru. Mi-am dorit să aduc acest element virtual în lumea reală, folosind componente electronice accesibile. De asemenea, am vrut să văd dacă pot reproduce acea interacțiune folosind un buzzer pasiv și un ecran LCD, transformând o funcție software de verificare a unei parole într-un montaj fizic pe care utilizatorul îl poate opera prin apăsarea tastelor.
De ce este util proiectul?
Utilitatea proiectului constă în exemplificarea modului în care un microcontroler poate implementa un sistem de securitate de bază, integrând controlul accesului prin parolă cu avertizări sonore și vizuale. Dispozitivul servește ca un model practic pentru înțelegerea proceselor de monitorizare în timp real și a modului în care un automat de stări poate gestiona corect trecerea de la faza de autentificare la cea de monitorizare contracronometru și de întrerupere hardware a alertei în condiții de multitasking electronic.
Proiectul este construit pe o arhitectură de tip Input-Process-Output, având la bază placa de dezvoltare Arduino Uno (echipată cu microcontrolerul ATmega328P). Fluxul de date este gestionat între următoarele module:
| Componentă | Cantitate | Link | Preț unitar (RON) |
|---|---|---|---|
| Placă dezvoltare Arduino UNO ATmega 328P | 1 | Link | 30.93 |
| Display LCD 1602 | 1 | Link | 13.99 |
| Modul interfață I2C | 1 | Link | 9.99 |
| Buzzer pasiv | 1 | Link | 2.99 |
| Breadboard | 1 | Link | 13.99 |
| Tastatură matricială rigidă 3×4 | 1 | Link | 17.99 |
| LED RGB | 1 | Link | 1.51 |
| Buton | 1 | Link | 2.99 |
| Fire Dupont Tată-Tată 20cm | TBD | Link | 0.23 |
| Rezistențe | 3 | Link | 0.10 |
| Preț total | 123.36 RON |
| Componentă | Rol în proiect |
|---|---|
| LCD 1602 | Afișează instrucțiunile, feedback-ul pentru cod și rezultatul accesului |
| Tastatură 3×4 | Permite introducerea numerică a codului și gestionarea software a datelor introduse |
| Buzzer Pasiv | Emite tonuri distincte pentru validarea tastării, succes sau eroare |
| Buton | Resetează instantaneu codul introdus în faza de repaus sau declanșează procesul de dezamorsare (defuse) în faza de alertă, acționând prin intermediul unei întreruperi hardware externe |
| LED RGB | Semnalizarea optică a stării sistemului |
| Rezistențe de 220 Ω | Protejarea diodelor LED prin limitarea curentului electric la valori sigure |
| Componentă | Pin Arduino | Tip Pin | Utilitate |
|---|---|---|---|
| LCD 1602 | A4 (SDA) | Date I2C | Transmite datele text către ecran |
| LCD 1602 | A5 (SCL) | Clock I2C | Sincronizează transmisia datelor între Arduino și LCD |
| Tastatură matricială 3×4 | 4, 6, 8 | Digital | Conectați la coloanele tastaturii |
| Tastatură matricială 3×4 | 3, 5, 7, 13 | Digital | Conectați la rândurile tastaturii |
| Buton | 2 | PCINT | Declanșează întreruperea hardware pentru resetare sau dezamorsare |
| LED RGB (Red) | 9 | PWM | Permite controlul intensității pentru culoarea Red |
| LED RGB (Green) | 10 | PWM | Permite controlul intensității pentru culoarea Green |
| LED RGB (Blue) | 11 | PWM | Permite controlul intensității pentru culoarea Blue |
| Buzzer pasiv | 12 | Digital | Trimite semnalul sonor |
| Linie de Tensiune | 5V | Power | Distribuie tensiunea de 5V către magistrala de alimentare pozitivă a componentelor (LCD, Buzzer, LED) |
| Referință (GND) | GND | Power | Închide circuitul pentru toate componentele |
Mediu de dezvoltare: Arduino IDE → ales pentru simplitatea procesului de upload și integrarea rapidă a Serial Monitor-ului necesar pentru depanarea logicii de acces
Biblioteci utilizate: