Zhàdàn
A game about solving puzzles to defuse a bomb.
Author: Druică Denisa-Adina
GitHub Project Link: (https://github.com/UPB-PMRust-Students/fils-project-2026-Adinusha)
Description
This is a game where you have to solve different puzzles, but I will refer to them as modules, in order to successfully defuse the bomb. Failing to do so will result in the "detonation" of the bomb and failing the game.
Motivation
The motivation for this project came from my passion for gaming and technology. I wanted to blend these two in one place and create something that can be used in a fun and relaxing way.
Architecture
Log
Week 5 - 11 May
Week 12 - 18 May
Week 19 - 25 May
Hardware
The STM32 Nucleo-U545RE-Q acts as the high-performance "brain" managing the game logic and countdown, while the TM1637 Display provides the visual timer and the DHT11 Sensor handles the interactive heat-defusal module. User inputs are captured via Square Buttons and a Green LED signals successful module completion, with an Active Buzzer providing audible strikes or explosion alerts. Finally, the SN74LS21DR AND Gate and SN74LS04N NOT Gate provide a hard-wired physical logic layer for the wire-cutting module, ensuring the circuit is only validated when the specific "correct" wire is disconnected.
Schematics
Bill of Materials
| Device | Usage | Price |
|---|---|---|
| STM32 NUCLEO-U545RE-Q | The microcontroller | 125 RON |
| SN74LS21DR | 4:1 And Gate | 2,5 RON |
| SN74LS04N | Not Gate | 3,5 RON RON |
| Square Buttons | Buttons | 0,92 RON |
| Led Display TM1637 | 7 segment display | 8,99 RON |
| Temperature Sensor DHT11 | For the temperature module | 4,65 RON |
| Green LED | For the solved modules | 0,26 RON |
| Active Buzzer | For sound | 0,99 RON |
Software
| Library | Description | Usage |
|---|---|---|
| tm1637-embedded-hal | Display driver for the TM1637 chip | Translates game time into 7-segment LED patterns. |
| embedded-hal | Standard hardware interfaces for Rust. | Provides the "rules" for pin and timer interaction. |
| dht-sensor | Protocol Driver | Decodes the digital pulses from the DHT11 into temperature |
| embassy-stm32 | STM32-specific hardware implementation. | Controls the actual physical pins on the Nucleo U545. |
| embassy-time | High-precision timekeeping library for embedded systems. | Manages the 5:00 countdown and handles the variable "tick" speed based on mistakes. |
| rand | Random Selection | Picks a random word from your "Morse List" every time the game starts. |
| heapless | Static Storage | Stores the list of Morse words without needing a heap |