Skip to content

Commit 8d90312

Browse files
authored
smart zhome (#844)
* Create gul_neva.arifoglu * Create index.md * Delete website/versioned_docs/version-fils_en/project/2026/gul_neva.arifoglu * Delete website/versioned_docs/version-fils_en/project/2026/index.md * add link * Update index.md * Update index.md
1 parent d33821e commit 8d90312

1 file changed

Lines changed: 119 additions & 0 deletions

File tree

  • website/versioned_docs/version-fils_en/project/2026/gul_neva.arifoglu
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Secure RFID Zhome
2+
3+
:::info
4+
**Author**: ARIFOGLU Gul Neva \
5+
**GitHub Project Link**: https://github.com/UPB-PMRust-Students/fils-project-2026-nevoss-s
6+
7+
:::
8+
9+
10+
## Description
11+
12+
This project presents a smart home door system based on the STM32 microcontroller using the Rust programming language. The system provides secure and automated access control for a house entrance.
13+
14+
When a person approaches the door, a PIR motion sensor detects movement and activates the system. The user must scan an RFID card to gain access. If the card is valid, the door opens using a servo motor. If invalid, access is denied.
15+
16+
The system also uses LEDs and an LCD display to provide feedback, and a photoresistor to automatically control lighting after entry.
17+
18+
---
19+
20+
## Motivation
21+
22+
This project was chosen to simulate a real-life smart home system that combines security, automation, and embedded systems design. It provides practical experience with Rust in embedded environments and interaction with hardware components.
23+
24+
---
25+
26+
## Architecture
27+
System workflow:
28+
29+
1. Person approaches the door
30+
2. PIR sensor detects motion
31+
3. RFID system activates
32+
4. Card is scanned
33+
5. STM32 verifies the card
34+
6. If valid:
35+
- Door opens (servo motor)
36+
- Green LED turns on
37+
- LCD displays welcome message
38+
7. If invalid:
39+
- Door remains closed
40+
- Red LED turns on
41+
8. After entry:
42+
- Light is controlled automatically using photoresistor
43+
44+
---
45+
46+
47+
## Log
48+
49+
50+
## WEEK 1
51+
* Project idea selection.
52+
## WEEK 2
53+
* Component research.
54+
## WEEK 3
55+
* Hardware planning.
56+
## WEEK 4
57+
* Initial setup.
58+
## WEEK 7
59+
* Started to connect components.
60+
61+
---
62+
63+
64+
## Hardware
65+
66+
Main components:
67+
68+
- STM32 microcontroller
69+
- RFID module (RC522)
70+
- PIR motion sensor
71+
- Servo motor (SG90)
72+
- LCD display (16x2 I2C)
73+
- LEDs
74+
- Photoresistor
75+
- Breadboard and jumper wires
76+
77+
The STM32 microcontroller controls all peripherals. The RFID module is used for authentication, the PIR sensor detects motion, and the servo motor controls the door mechanism. The LCD provides feedback to the user, while LEDs indicate system status. The photoresistor enables automatic lighting control.
78+
79+
---
80+
81+
82+
83+
84+
## Bill of Materials
85+
86+
| Device | Usage | Price |
87+
| :--------------------------------------------------------------------------------------------------------------------------- | :---------------------------- | :------- |
88+
| [STM32 NUCLEO](https://www.st.com/en/evaluation-tools/nucleo-boards.html) | The main microcontroller | ~125 RON |
89+
| [RFID RC522 Module](https://components101.com/wireless/rc522-rfid-module) | Card authentication | ~40 RON |
90+
| [PIR Motion Sensor](https://components101.com/sensors/pir-sensor) | Motion detection | ~10 RON |
91+
| [Servo Motor SG90](https://components101.com/motors/servo-motor-basics-pinout-datasheet) | Door lock/unlock mechanism | ~10 RON |
92+
| [LCD 16x2 I2C](https://lastminuteengineers.com/i2c-lcd-arduino-tutorial/) | Display system messages | ~20 RON |
93+
| [LED Kit](https://www.emag.ro/kit-200-buc-led-3mm-5mm-de-diferite-culori-ai707/pd/D4DJYTMBM/) | Status indication (green/red) | ~5 RON |
94+
| [Photoresistor (LDR)](https://components101.com/sensors/ldr-light-dependent-resistor) | Ambient light detection | ~2 RON |
95+
| [Breadboard](https://www.emag.ro/breadboard-h-hct-tronic-830-puncte-de-conectare-abs-200x630-puncte-034-066/pd/DBNQ7R3BM/) | Circuit prototyping | ~20 RON |
96+
| [Jumper Wires](https://www.emag.ro/set-40-cabluri-jumper-tata-tata-pentru-breadboard-multicolore-20cm-034-030/pd/D18P4G3BM/) | Component connections | ~20 RON |
97+
98+
99+
100+
101+
## Software
102+
103+
| Library | Description | Usage |
104+
| ------------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
105+
| [embassy-stm32](https://crates.io/crates/embassy-stm32) | Hardware abstraction layer for STM32 microcontrollers | Used to control GPIO, timers, I2C and other peripherals |
106+
| [embassy-executor](https://crates.io/crates/embassy-executor) | Async task executor for embedded systems | Runs concurrent tasks such as motion detection and RFID processing |
107+
| [embassy-time](https://crates.io/crates/embassy-time) | Time management utilities | Handles delays and timing operations |
108+
| [embedded-hal](https://crates.io/crates/embedded-hal) | Standard embedded hardware interfaces | Provides common interfaces for sensors and peripherals |
109+
| [mfrc522](https://crates.io/crates/mfrc522) | RFID reader driver | Reads and processes RFID card data |
110+
| [lcd-lcm1602-i2c](https://crates.io/crates/lcd-lcm1602-i2c) | LCD display driver | Controls the 16x2 LCD display over I2C |
111+
| [embedded-hal-bus](https://crates.io/crates/embedded-hal-bus) | Bus sharing utilities | Allows multiple devices to share I2C communication |
112+
| [defmt](https://crates.io/crates/defmt) | Lightweight logging framework | Used for debug messages |
113+
| [defmt-rtt](https://crates.io/crates/defmt-rtt) | RTT transport for logs | Sends debug output to host PC |
114+
| [panic-probe](https://crates.io/crates/panic-probe) | Panic handler for embedded debugging | Reports system crashes during development |
115+
116+
## Links
117+
118+
1. [link](https://embassy.dev/)
119+
...

0 commit comments

Comments
 (0)