You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/versioned_docs/version-fils_en/project/2026/denisa_adina.druica/index.md
+12-2Lines changed: 12 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,10 +31,16 @@ The motivation for this project came from my passion for gaming and technology.
31
31
<!-- write your progress here every week -->
32
32
### Week 5 - 11 May
33
33
34
+
Started working on the 3D design for the bomb and started searching for other libraries that I could use for the project.
35
+
34
36
### Week 12 - 18 May
35
37
38
+
Connected all the components using the Kicad scheme and I also made some small analog connectivities in order to test if the hardware was working.
39
+
36
40
### Week 19 - 25 May
37
41
42
+
I finished connecting all the hardware and started working on implementing them in the 3d build.
43
+
38
44
## Hardware
39
45
40
46
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.
@@ -73,12 +79,16 @@ The format is
73
79
74
80
| Library | Description | Usage |
75
81
|---------|-------------|-------|
76
-
|[tm1637-embedded-hal](https://github.com/JadKHaddad/tm1637)| Display driver for the TM1637 chip | Translates game time into 7-segment LED patterns. |
82
+
|[tm1637](https://github.com/JadKHaddad/tm1637)| Display driver for the TM1637 chip | Translates game time into 7-segment LED patterns. |
77
83
|[embedded-hal](https://github.com/rust-embedded/embedded-hal)| Standard hardware interfaces for Rust. | Provides the "rules" for pin and timer interaction. |
84
+
|[embassy-sync](https://crates.io/crates/embassy-sync)| Mutex, Channel for shared state between tasks | Shared MISTAKE_COUNT, SOLVED_COUNT, GAME_OVER, the buzzer sound queue, and the display message between tasks safely |
85
+
|[embassy-executor](https://crates.io/crates/embassy-executor)| Async task runtime | Ran all 5 module tasks plus the game supervisor at the same time on the single core |
86
+
|[embassy-futures](https://crates.io/crates/embassy-futures)| For concurrent async operations | Let the morse blinker and button listener run concurrently inside one task, and let the sequence module wait on 4 buttons at once |
87
+
|[cortex-m](https://crates.io/crates/cortex-m)| Used to intentionally trigger an Undefined Instruction exception | Provided the busy-wait delay at startup and the udf instruction that halts the chip cleanly when the game ends |
88
+
|[cortex-m-rt](https://crates.io/crates/cortex-m-rt)| Startup/reset handler, interrupt vector table | Set up the chip's interrupt table and reset handler so the program starts correctly after flashing |
78
89
|[dht-sensor](https://github.com/michaelbeaumont/dht-sensor)| Protocol Driver | Decodes the digital pulses from the DHT11 into temperature |
79
90
|[embassy-stm32](https://github.com/embassy-rs/embassy)| STM32-specific hardware implementation. | Controls the actual physical pins on the Nucleo U545. |
80
91
|[embassy-time](https://github.com/embassy-rs/embassy/tree/main/embassy-time)| High-precision timekeeping library for embedded systems. | Manages the 5:00 countdown and handles the variable "tick" speed based on mistakes. |
81
-
|[rand](https://github.com/rust-random/rand)| Random Selection | Picks a random word from your "Morse List" every time the game starts.|
82
92
|[heapless](https://github.com/rust-embedded/heapless)| Static Storage | Stores the list of Morse words without needing a heap |
0 commit comments