Proiectul „Bomb Defusal Duel” reprezintă un joc embedded multiplayer realizat pe platforma ATmega328P Xplained Mini.
Jocul simulează dezamorsarea unei bombe prin introducerea unei secvențe corecte de butoane într-un timp limitat. Proiectul utilizează multiple periferice hardware și software pentru a crea o experiență interactivă completă:
Scopul principal al proiectului este utilizarea integrată a funcționalităților studiate în cadrul laboratoarelor PM pentru realizarea unui sistem embedded interactiv și modular.
Jocul funcționează în două faze principale:
La începutul fiecărei runde, unul dintre jucători introduce o secvență secretă formată din 4 culori folosind butoanele disponibile.
După confirmarea secvenței, celălalt jucător trebuie să reproducă secvența corectă înainte de expirarea timpului.
Sistemul oferă:
Jocul continuă până când unul dintre jucători ajunge la 5 victorii.
În etapa actuală au fost integrate și testate toate componentele hardware principale necesare funcționării jocului.
Au fost realizate:
Toate componentele funcționează simultan și au fost validate individual înainte de integrarea finală.
| Componentă | Rol |
|---|---|
| ATmega328P Xplained Mini | Microcontroler principal |
| Breadboard | Prototipare și interconectare |
| 4 x LED-uri | Feedback vizual pentru acțiuni |
| 4 x rezistențe 220Ω | Limitarea curentului pentru LED-uri |
| 5 x butoane | Introducerea comenzilor |
| buzzer pasiv | Generarea efectelor sonore |
| display OLED SSD1306 | Afișarea informațiilor |
| fire jumper | Realizarea conexiunilor |
| Componentă | Pin microcontroler |
|---|---|
| LED roșu | PB0 |
| LED galben | PB1 |
| LED albastru | PB2 |
| LED verde | PB3 |
| Buton roșu | PD2 |
| Buton galben | PD3 |
| Buton albastru | PD4 |
| Buton verde | PD5 |
| Buzzer | PD6 |
| Buton confirmare | PD7 |
| Buton onboard START/STOP | PB7 |
| OLED SDA | PC4 |
| OLED SCL | PC5 |
Pinii au fost aleși astfel încât să permită organizarea logică și eficientă a componentelor.
LED-urile au fost grupate pe PORTB pentru simplificarea controlului ieșirilor digitale.
Butoanele au fost grupate pe PORTD pentru utilizarea facilă a intrărilor digitale și activarea rezistențelor interne de tip pull-up.
Display-ul OLED utilizează protocolul I2C, fiind conectat la:
conform configurației hardware standard a microcontrolerului ATmega328P.
În cadrul proiectului au fost utilizate multiple concepte și funcționalități prezentate în laboratoare:
Implementarea software este complet funcțională și include:
Arhitectura proiectului este modulară, funcționalitățile fiind separate în funcții dedicate pentru:
| Bibliotecă | Rol |
|---|---|
| Wire.h | Comunicare I2C |
| Adafruit_GFX.h | Funcții grafice pentru display |
| Adafruit_SSD1306.h | Control display OLED SSD1306 |
Elementul principal de noutate al proiectului este implementarea unui joc multiplayer embedded complet interactiv, utilizând exclusiv resurse hardware limitate ale microcontrolerului.
Proiectul combină:
pentru a crea o experiență similară unui joc real de tip „bomb defusal”.
Fiecare componentă a fost testată individual înainte de integrarea finală:
Validarea finală a constat în rularea completă a jocului cu doi jucători.
Au fost realizate următoarele optimizări:
Proiectul demonstrează integrarea eficientă a mai multor periferice hardware și concepte software într-un sistem embedded interactiv.
În cadrul proiectului au fost utilizate noțiuni importante precum:
Rezultatul final este un joc multiplayer complet funcțional și extensibil.