Skip to content

Commit 4bfdd77

Browse files
authored
Project/alexandros.tzikas (#1368)
* Add project page for alexandros.tzikas * Alexandros Tzikas project documentation * weekly log update * Update log/add schematics * fixed schematics+hardware+log update * Update to log + other things * Kicad+architecture+more update
1 parent ebf9753 commit 4bfdd77

4 files changed

Lines changed: 30 additions & 26 deletions

File tree

website/versioned_docs/version-fils_en/project/2026/alexandros.tzikas/index.md

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,23 @@ An embedded project that simulates a real-life parking, using a barrier to allow
1111
:::
1212

1313
## 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).
1515

1616
## Motivation
1717
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.
1818

1919
## Architecture
2020

21-
![System Architecture](./maarchupdated.svg)
21+
![System Architecture](./maarchfinal.svg)
2222

2323
Input:
2424

2525
*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
2626

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+
2731
Processing:
2832

2933
*STM32-NUCLEO-U545RE-Q* will do computations and signal processing and send data to the laptop via USB.
@@ -36,6 +40,8 @@ Output:
3640

3741
*parking space LEDs* 4 yellow LEDs will be set high/low depending on the number of available parking spots.
3842

43+
*Buzzer* will go high/low at frequencies specified by the code to produce different sounds
44+
3945
## Log
4046

4147
### Week 13 April - 19 April
@@ -61,12 +67,11 @@ More software - base form of the project was completed; also rearanged things on
6167
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.
6268

6369
### 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.
6571

6672
## Hardware
6773

68-
picture will be updated soonly
69-
![Hardware picture](./mahardware.webp)
74+
![Hardware picture](./mahardwareupdated.webp)
7075

7176
*STM32-NUCLEO-U545RE-Q* will do computatiosn, signals processing and transmit data to the laptop
7277

@@ -78,12 +83,11 @@ picture will be updated soonly
7883

7984
*Buzzer* will play different chimes for succesful entry/exit and for failed entry
8085

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
8287

8388
## Schematics
8489

85-
to be updated
86-
![KiCAD Schematics](./kicadmabun2.svg)
90+
![KiCAD Schematics](./kicadmaupdated1.svg)
8791

8892
## Bill of Materials
8993

@@ -104,29 +108,24 @@ to be updated
104108
| [embassy-stm32](https://github.com/embassy-rs/embassy) | async HAL for STM32 microcontrollers | controls PWM(servo, sensor), UART (ESP32), GPIO |
105109
| [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 |
106110
| [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 |
109111
| [embedded-hal](https://github.com/rust-embedded/embedded-hal) | hardware abstraction for embedded rust | PWM traits like enablind PWM and setting duty cycle |
110112
| [defmt](https://github.com/knurling-rs/defmt) | logging for embedded rust | print debugging information like sensor state, distances from sensor, system status |
111113
| [defmt-rrt](https://github.com/knurling-rs/defmt) | rrt backend for defmt | send debug logs from STM to laptop |
112114
| [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 |
115-
116115

117116
## Links
118117

119-
[Sensor documentation](https://web.eece.maine.edu/~zhu/book/lab/HC-SR04%20User%20Manual.pdf)
120-
[Sensor tutorial](https://projecthub.arduino.cc/Isaac100/getting-started-with-the-hc-sr04-ultrasonic-sensor-7cabe1)
121-
[Sensor tutorial](https://controllerstech.com/hcsr04-ultrasonic-sensor-and-stm32/)
122-
[Servomotor documentation](http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf)
123-
[STM documentation](https://www.st.com/en/evaluation-tools/stm32-nucleo-boards/documentation.html)
124-
[Servomotor tutorial](https://www.electronics-lab.com/project/using-sg90-servo-motor-arduino/)
125-
[Buzzer tutorial](https://controllerstech.com/interface-passive-buzzer-with-stm32/)
126-
[Buzzer help](https://www.omnicalculator.com/other/note-frequency)
127-
[Rust Book](https://docs.rust-embedded.org/book/)
128-
[Embassy Intro](https://embassy.dev/)
129-
[PullUp resistors](https://learn.sparkfun.com/tutorials/pull-up-resistors)
130-
[Pin Map](https://embedded-rust-101.wyliodrin.com/docs/fils_en/lab/02)
131-
[Other](https://embedded-rust-101.wyliodrin.com/docs/fils_en/category/lab)
118+
| [Sensor documentation](https://web.eece.maine.edu/~zhu/book/lab/HC-SR04%20User%20Manual.pdf) |
119+
| [Sensor tutorial](https://projecthub.arduino.cc/Isaac100/getting-started-with-the-hc-sr04-ultrasonic-sensor-7cabe1) |
120+
| [Sensor tutorial](https://controllerstech.com/hcsr04-ultrasonic-sensor-and-stm32/) |
121+
| [Servomotor documentation](http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf) |
122+
| [STM documentation](https://www.st.com/en/evaluation-tools/stm32-nucleo-boards/documentation.html) |
123+
| [Servomotor tutorial](https://www.electronics-lab.com/project/using-sg90-servo-motor-arduino/) |
124+
| [Buzzer tutorial](https://controllerstech.com/interface-passive-buzzer-with-stm32/) |
125+
| [Buzzer help](https://www.omnicalculator.com/other/note-frequency) |
126+
| [Rust Book](https://docs.rust-embedded.org/book/) |
127+
| [Embassy Intro](https://embassy.dev/) |
128+
| [PullUp resistors](https://learn.sparkfun.com/tutorials/pull-up-resistors) |
129+
| [Pin Map](https://embedded-rust-101.wyliodrin.com/docs/fils_en/lab/02) |
130+
| [Other](https://embedded-rust-101.wyliodrin.com/docs/fils_en/category/lab) |
132131

website/versioned_docs/version-fils_en/project/2026/alexandros.tzikas/kicadmaupdated1.svg

Lines changed: 1 addition & 0 deletions
Loading

website/versioned_docs/version-fils_en/project/2026/alexandros.tzikas/maarchfinal.svg

Lines changed: 4 additions & 0 deletions
Loading
52.9 KB
Loading

0 commit comments

Comments
 (0)