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 |
| Rezistențe | 3 | Link | 19.99 (1 set) |
| Fire Dupont Tată-Tată 20cm | 20 | Link | 8.99 (1 set) |
| Fire Dupont Tată-Mamă 20cm | 4 | Link | 6.99 (1 set) |
| 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:
Elementul de noutate al proiectului: constă în reproducerea fizică a unei mecanice competitive de e-sports (defuse contracronometru) într-un sistem embedded bazat pe stări. Noutatea constă în multitasking-ul audio: suprapunerea dinamică a două fluxuri sonore independente (bip-ul bombei și ticăitul de defuse) pe un singur buzzer, fără a deforma unda PWM principală.
Justificarea utilizării funcționalităților din laborator:
Scheletul proiectului și interacțiunea funcționalităților: programul este structurat ca un Automat de Stări Finit (FSM) rulat în loop() printr-un bloc “switch-case”:
Calibrarea perifericelor și sincronizarea I/O:
Optimizări arhitecturale realizate:
Materialul video prezintă funcționarea montajului fizic realizat pe placa Arduino Uno. Sunt ilustrate etapele de armare a sistemului prin tastatură, comportamentul alarmelor sonore și vizuale, precum și simularea procesului de dezamorsare contracronometru utilizând butonul hardware.
Proiectul a demonstrat cu succes realizarea unui dispozitiv interactiv de simulare, utilizând eficient resursele hardware ale unei plăci de dezvoltare Arduino Uno (bazată pe microcontrolerul ATmega328P). Lucrarea a evidențiat faptul că o astfel de platformă accesibilă poate fi transformată dintr-un simplu kit de testare într-un sistem embedded rapid și stabil, capabil să ruleze o logică complexă în timp real.
Pe lângă dezvoltarea algoritmului de joc, proiectul a oferit o experiență practică valoroasă în structurarea codului și în sincronizarea proceselor. Cea mai importantă realizare a fost eliminarea completă a blocajelor software: actualizarea ecranului, scanarea tastelor și generarea alertelor sonore rulează fluid și simultan. Acest lucru garantează un răspuns instantaneu la acțiunile utilizatorului și demonstrează cum optimizarea atentă a programului permite obținerea unui multitasking real pe un hardware limitat.
Resurse Hardware & Software