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/alexandros.tzikas/index.md
+25-26Lines changed: 25 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,19 +11,23 @@ An embedded project that simulates a real-life parking, using a barrier to allow
11
11
:::
12
12
13
13
## Description
14
-
This project is designed to be a model of a real-life parking; it uses two ultrasonic sensor to detect cars approaching a barrier (operated by a SG90 servomotor), both entering and exiting the parking, opening the barrier for exiting cars and opening the barrier for entering cars. If the parking is full or blocked (entry can be temporarly blocked via a button), the barrier will not open for any cars attempting to enter. A buzzer will play a sound effect when a car tries to enter/exit. The number of available parking slots is shown by 4 LEDs that will be lit for free spaces and unlit for occupied spaces. The computations and processing are all done by the microcontroller (STM32-NUCLEO-U545RE-Q).
14
+
This project is designed to be a model of a real-life parking; it uses two ultrasonic sensor to detect cars approaching a barrier (operated by a SG90 servomotor), both entering and exiting the parking, opening the barrier for exiting cars and opening the barrier for entering cars. If the parking is full or blocked (entry can be temporarly blocked via a button), the barrier will not open for any cars attempting to enter. A buzzer will play a sound effect when a car tries to enter/exit. The number of available parking slots is shown by 4 LEDs that will be lit for free spaces and unlit for occupied spaces. An alarm button can be pressed to block the barrier, make an alarm sound and make a red led blink. The computations and processing are all done by the microcontroller (STM32-NUCLEO-U545RE-Q).
15
15
16
16
## Motivation
17
17
I chose this project because it is a real-life application witch can help me learn rust better, as it help me understand subjects such as real-time sensor integration; it was also suggested to me by a coleague as beeing a reliable project idea.
18
18
19
19
## Architecture
20
20
21
-

21
+

22
22
23
23
Input:
24
24
25
25
*HC-SRO4* ultrasonic sensor will receive signals to see the ditance of a car from the sensor and will send the signals through a GPIO pin
26
26
27
+
*Block Button* will be high/low depending on whether it is pushed or not, used for temporarly blocking the barrier.
28
+
29
+
*Alarm Button* will be high/low depending on whether its pushed or not, used to make the parking enter an aalarm state
30
+
27
31
Processing:
28
32
29
33
*STM32-NUCLEO-U545RE-Q* will do computations and signal processing and send data to the laptop via USB.
@@ -36,6 +40,8 @@ Output:
36
40
37
41
*parking space LEDs* 4 yellow LEDs will be set high/low depending on the number of available parking spots.
38
42
43
+
*Buzzer* will go high/low at frequencies specified by the code to produce different sounds
44
+
39
45
## Log
40
46
41
47
### Week 13 April - 19 April
@@ -61,12 +67,11 @@ More software - base form of the project was completed; also rearanged things on
61
67
Not much done during the week due to a lack of time because of other projects/examinations; I got some cardboard for the actual parking lot and started adding some extra things - a buzzer that would play tunes for succesful entry/exit, 4 LED's to show parking availability and a button to block the barrier from opening. Rearranged stuff again due to lack of space on the breadboard, also attached servo to make the barrier stationary.
62
68
63
69
### Week 25 May - Pm fair
64
-
Started week by revising code - to be continued
70
+
Started week by revising code. Added an alarm button that makes a red led light on and off and makes the buzzer play an alarm like sound while blocking the barrier both for entry and exit.
65
71
66
72
## Hardware
67
73
68
-
picture will be updated soonly
69
-

74
+

70
75
71
76
*STM32-NUCLEO-U545RE-Q* will do computatiosn, signals processing and transmit data to the laptop
72
77
@@ -78,12 +83,11 @@ picture will be updated soonly
78
83
79
84
*Buzzer* will play different chimes for succesful entry/exit and for failed entry
80
85
81
-
*Button*will temporarly block the barrier from beeing opened
86
+
*Buttons* one will temporarly block the barrier from beeing opened, one will make the parking enter an alarm state
82
87
83
88
## Schematics
84
89
85
-
to be updated
86
-

90
+

87
91
88
92
## Bill of Materials
89
93
@@ -104,29 +108,24 @@ to be updated
104
108
|[embassy-stm32](https://github.com/embassy-rs/embassy)| async HAL for STM32 microcontrollers | controls PWM(servo, sensor), UART (ESP32), GPIO |
105
109
|[embassy-time](https://github.com/embassy-rs/embassy)| timing and delay for embassy projects | used for delays, timing measurements, ultrasonic echo timing and servo contorl intervals |
106
110
|[embassy-executor](https://github.com/embassy-rs/embassy)| async task executor | runs synchronous tasks, currently servomotor control and readinf of ultrasonic sensor |
107
-
| [embassy-embedded-hal](https://github.com/rust-embedded/embedded-hal) | compatibility between embassy and embedded-hal | embedded hardware abstraction suport
108
-
|[embassy-sync](https://github.com/embassy-rs/embassy)| syncronization for async embedded programs | for sharing data safely between async tasks |
109
111
|[embedded-hal](https://github.com/rust-embedded/embedded-hal)| hardware abstraction for embedded rust | PWM traits like enablind PWM and setting duty cycle |
110
112
|[defmt](https://github.com/knurling-rs/defmt)| logging for embedded rust | print debugging information like sensor state, distances from sensor, system status |
111
113
|[defmt-rrt](https://github.com/knurling-rs/defmt)| rrt backend for defmt | send debug logs from STM to laptop |
112
114
| [panic-probe](https://github.com/knurlings-rs/probe-run) | panic handler | used to report problems during debuggging
113
-
| [cortex-m](https://github.com/rust-embedded/cortex-m) | low level support for microcontroller | acces to STM32 features
114
-
|[cortex-m-rt](https://github.com/rust-embedded/cortex-m)| runtime support for cortex-m microcontrollers | provides runtime support |
0 commit comments