BDD - Bomb Defusal Device

Introducere

Dispozitivul este in esenta un puzzle care trebuie rezolvat intr-un timp limita. Este gandit sa fie folosit in aplicatii cum ar fi evenimente de airsoft / paintball.
Inspiratia acestui dispozitiv provine din alte proiecte similare[1], Keep Talking and Nobody Explodes si Counter-Strike.

El are rolul de a aduce un plus de realism evenimentelor si a facilita scenarii de joc mai complexe.

Descriere generală

Pentru a amorsa bomba, user-ul trebuie sa introduca codul folosind tastatura matriceala.

Pentru a dezamorsa bomba, user-ul trebuie sa rezolve cele 2 puzzle-uri in timpul alocat.

Hardware Design

Lista Componente

- Arduino UNO R3
- LCD 1602 I2C
- 4x Butoane
- 6x LED-uri de diverse culori
- Tastatura Matriceala 3×4
- 2x Buzzer
- Diverse Fire / Rezistori

Diagrama hardware:
Actual Wiring:
actual_wiring_bdd.jpeg

Software Design

Dispozitivul trece prin 4 etape:

1.) Configurare initiala - se genereaza secventa de dezamorsare pentru jocul de memorie si se alege la intamplare firul de dezamorsare.
2.) Armare bomba - asteapta introducerea codului de armare.
3.) Dezamorsare bomba - incepe numaratoare inversa si se testeaza conditiile de dezamorsare.
4.) Awaiting reset - dupa ce expira timpul sau bomba este dezamorsata bomba afiseaza statusul si un prompt de resetare pentru a incepe un joc nou,

LCD-ul este controlat prin intermediul protocolului I2C. Am folosit libraria LiquidCrystal_I2C.h.
Keypad-ul este controlat prin libraria Keypad.h

Pentru a tine cont de timpul ramas pana la dezamorsare, am folosit un hardware timer configurat sa genereze o intrerupere la fiecare secunda in care este scazut timpul ramas pana la explozie si este setat un flag de reactualizare display.

Deconectarea unui fir este realizata prin o intrerupere de tip pin change, care seteaza un flag de verificare in loop-ul principal.

Codul sursa poate fi gasit aici[2].

Rezultate Obţinute

case_closed_bdd.jpeg case_open_bdd.jpeg

Bibliografie/Resurse

pm/prj2023/avaduva/bdd.txt · Last modified: 2023/05/29 20:27 by andrei.besliu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0