Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,26 @@ The system operates as a state machine with the following states:
## Log

### Week 5 - 11 May
Gathered all the necessary components and set up the development environment
(Rust + Embassy). Started with the basic hardware setup: connected the laser
module and LDR to the breadboard and verified the ADC readings. Implemented
the software baseline calibration for the LDR.

![Early hardware setup](images/week1.webp)

### Week 12 - 18 May
Integrated the SSD1306 OLED display over I2C and the RC522 RFID module over
SPI. Implemented the access control logic: admin card recognition, grace
period, and wrong attempt counter. Connected the buzzer via PWM.

![OLED displaying startup message](images/week2.webp)
![Full system on breadboard](images/week2_2.webp)

### Week 19 - 25 May
Finalized and tested all components together. Assembled everything into a box
for the presentation. The laser beam, alarm, RFID access control, and OLED
display all work correctly together.


## Hardware

Expand All @@ -50,7 +66,7 @@ The system operates as a state machine with the following states:
| KY-008 Laser Module | 1 | Emits the laser beam (650nm, 5V) |
| LDR Photoresistor (5528) | 1 | Detects laser beam interruption via ADC |
| RC522 RFID Module | 1 | Reads MIFARE cards via SPI |
| MIFARE Classic 1K Cards | 5 | 1 admin + 3 users + 1 invalid test card |
| MIFARE Classic 1K Cards | 2 | 1 admin + 1 invalid test card |
| SSD1306 OLED Display (0.96") | 1 | Displays system status via I2C |
| Active Buzzer (5V) | 1 | Sounds the alarm |
| BC547 NPN Transistor | 1 | Drives the buzzer from 3.3V GPIO |
Expand Down Expand Up @@ -97,7 +113,7 @@ The system operates as a state machine with the following states:
| [embassy-time](https://docs.embassy.dev) | Async timers | Grace period timing, debounce |
| [embedded-hal](https://github.com/rust-embedded/embedded-hal) | Hardware Abstraction Layer | Portable hardware interface traits |
| [ssd1306](https://crates.io/crates/ssd1306) | OLED display driver | Rendering text and status messages |
| [mfrc522](https://crates.io/crates/mfrc522) | RFID driver | Reading MIFARE Classic 1K card UIDs |
| rc522 (custom driver) | Custom RC522 SPI driver | Reading MIFARE Classic 1K card UIDs via SPI |
| [embedded-graphics](https://crates.io/crates/embedded-graphics) | 2D graphics library | Text rendering on OLED display |

## Links
Expand Down
Loading