This shows you the differences between two versions of the page.
iothings:proiecte:2021:remote_reverse_parking [2022/01/25 21:02] vlad_alexandru.albu Format updates |
iothings:proiecte:2021:remote_reverse_parking [2022/01/27 22:16] (current) vlad_alexandru.albu add demo video |
||
---|---|---|---|
Line 18: | Line 18: | ||
* The ESP32 is the main part of the project, is used to create the web server and controls all the hardware components of the project. | * The ESP32 is the main part of the project, is used to create the web server and controls all the hardware components of the project. | ||
+ | |||
+ | {{ :iothings:proiecte:2021:rrm_esp32.jpg?200 |}} | ||
+ | __//Image 1: [[https://ro.mouser.com/ProductDetail/Espressif-Systems/ESP32-DevKitC-32UE?qs=GedFDFLaBXFguOYDKoZ3jA%3D%3D|ESP32]]// | ||
+ | __ | ||
**2. [[https://cleste.ro/senzor-ultrasonic-hc-sr04.html|HC-SR04 ultrasonic sensor:]]** | **2. [[https://cleste.ro/senzor-ultrasonic-hc-sr04.html|HC-SR04 ultrasonic sensor:]]** | ||
Line 27: | Line 31: | ||
* Based on the measured distance, the DC motor is controlled, reducing the speed, until a full stop, when the distance is small. | * Based on the measured distance, the DC motor is controlled, reducing the speed, until a full stop, when the distance is small. | ||
* It is connected to the 5V ESP32 output, the „trigger” pin, used to send the wave, to ESP32 pin GPIO 5, and „echo” pin, used to receive the wave, to ESP32 GPIO 18 pin. | * It is connected to the 5V ESP32 output, the „trigger” pin, used to send the wave, to ESP32 pin GPIO 5, and „echo” pin, used to receive the wave, to ESP32 GPIO 18 pin. | ||
+ | |||
+ | {{ :iothings:proiecte:2021:rrm_hc-sr04.jpg?300 |}} | ||
+ | __//Image 2: [[https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.elecrow.com%2Fhcsr04-ultrasonic-ranging-sensor-p-316.html&psig=AOvVaw0pYkJYOV2Zy03smg6ESJLK&ust=1643230227655000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCICMk-LjzfUCFQAAAAAdAAAAABAQ|HC-SR04 ultrasonic sensor]] | ||
+ | // | ||
+ | __ | ||
**3. [[https://ardushop.ro/ro/motoare-si-drivere/437-motoras-curent-continuu.html?gclid=CjwKCAiA3L6PBhBvEiwAINlJ9Lp3btwfEgRLbzGz_DGDiGtbaorAFwZQUpWjHT6sdFiZabed_9XHaBoC8I4QAvD_BwE|DC Motor]], [[https://www.emag.ro/circuit-integrat-l293d-ai823-s757/pd/DLBS4TMBM/?cmpid=93116&gclid=CjwKCAiA3L6PBhBvEiwAINlJ9KNPUi1dpzbuIJHPeyimSBnEN2Rpw15H6xvq1zl-vuQwa2a2eXiT_xoC3HIQAvD_BwE|L293D motor controller]] and [[https://ardushop.ro/ro/home/40-modul-sursa-de-alimentare-5v-33v.html?gclid=CjwKCAiA3L6PBhBvEiwAINlJ9CR2toA4tqfQVtq5XY0pz-Hg0jMgYk60E9bX4gFauxsg8pVCWoo4eBoCFEwQAvD_BwE|breadboard power supply module]]:** | **3. [[https://ardushop.ro/ro/motoare-si-drivere/437-motoras-curent-continuu.html?gclid=CjwKCAiA3L6PBhBvEiwAINlJ9Lp3btwfEgRLbzGz_DGDiGtbaorAFwZQUpWjHT6sdFiZabed_9XHaBoC8I4QAvD_BwE|DC Motor]], [[https://www.emag.ro/circuit-integrat-l293d-ai823-s757/pd/DLBS4TMBM/?cmpid=93116&gclid=CjwKCAiA3L6PBhBvEiwAINlJ9KNPUi1dpzbuIJHPeyimSBnEN2Rpw15H6xvq1zl-vuQwa2a2eXiT_xoC3HIQAvD_BwE|L293D motor controller]] and [[https://ardushop.ro/ro/home/40-modul-sursa-de-alimentare-5v-33v.html?gclid=CjwKCAiA3L6PBhBvEiwAINlJ9CR2toA4tqfQVtq5XY0pz-Hg0jMgYk60E9bX4gFauxsg8pVCWoo4eBoCFEwQAvD_BwE|breadboard power supply module]]:** | ||
Line 40: | Line 49: | ||
* L293D controller is used to control the DC motor speed, using the PWM ESP32 pins. The module power supply is connected to the output of the breadboard power supply, the pins for controlling the DC motor direction are connected to ESP32 GPIO 26 and GPIO 27, and the „enable” pin, used to set the motor speed, to GPIO 14. | * L293D controller is used to control the DC motor speed, using the PWM ESP32 pins. The module power supply is connected to the output of the breadboard power supply, the pins for controlling the DC motor direction are connected to ESP32 GPIO 26 and GPIO 27, and the „enable” pin, used to set the motor speed, to GPIO 14. | ||
* The dedicated breadboard power supply module was added to power only the DC motor and L293D module, and is alimented by a 9V battery. | * The dedicated breadboard power supply module was added to power only the DC motor and L293D module, and is alimented by a 9V battery. | ||
+ | |||
+ | {{ :iothings:proiecte:2021:rrm_moto_l293d_power.jpg?400 |}} | ||
+ | //__Image 3: [[https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.elecrow.com%2Fhcsr04-ultrasonic-ranging-sensor-p-316.html&psig=AOvVaw0pYkJYOV2Zy03smg6ESJLK&ust=1643230227655000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCICMk-LjzfUCFQAAAAAdAAAAABAQ|DC motor]], [[https://www.google.com/url?sa=i&url=https%3A%2F%2Fprotosupplies.com%2Fproduct%2Fdual-h-bridge-motor-driver-l293d%2F&psig=AOvVaw17LL4YPKiTeQnheQHfGOQx&ust=1643230335237000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCIDVspXkzfUCFQAAAAAdAAAAABAF|L293D motor driver]] and [[https://www.google.com/url?sa=i&url=https%3A%2F%2Felectropeak.com%2Fbreadboard-power-supply&psig=AOvVaw0kHfoaz_gRobNRSjfT_eJe&ust=1643230377901000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCOju7ankzfUCFQAAAAAdAAAAABAE|Breadboard Power Supply]] | ||
+ | __ | ||
+ | // | ||
**4. [[https://www.optimusdigital.ro/ro/optoelectronice-led-uri/37-led-galben.html|LEDs]] and [[https://www.optimusdigital.ro/ro/audio-buzzere/635-buzzer-activ-de-3-v.html|buzzer]]:** | **4. [[https://www.optimusdigital.ro/ro/optoelectronice-led-uri/37-led-galben.html|LEDs]] and [[https://www.optimusdigital.ro/ro/audio-buzzere/635-buzzer-activ-de-3-v.html|buzzer]]:** | ||
Line 48: | Line 62: | ||
* The buzzer starts to emit sounds when the remote parking is started, and the DC motor starts to run. In the project I used an active buzzer, with integrated oscillator to generate the sounds, and is connected to ESP32 pin 23. | * The buzzer starts to emit sounds when the remote parking is started, and the DC motor starts to run. In the project I used an active buzzer, with integrated oscillator to generate the sounds, and is connected to ESP32 pin 23. | ||
+ | {{ :iothings:proiecte:2021:rrm_led_buzzer.jpg?200 |}} | ||
+ | //__Image 4: [[https://www.optimusdigital.ro/ro/optoelectronice-led-uri/37-led-galben.html|Yellow LED]] and [[https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.zipy.ro%2Fp%2Fali%2F100pcs-lot-active-buzzer-alarm-5v-buzzer-5v-sounder-speaker-buzzer%2F32698201158%2F&psig=AOvVaw3YTdiGyGSsSA8FsDJyD46s&ust=1643230430007000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCIDQ_cLkzfUCFQAAAAAdAAAAABAQ|Active Buzzer]]__// | ||
- | The implementation on the breadboard is presented in the next images: | + | **The implementation on the breadboard is presented in the next images:** |
- | -------img | + | |
- | -------img | + | {{ :iothings:proiecte:2021:rrm_breadboard.jpg?600 |}} |
+ | //__Image 5: Breadboard implementation__// | ||
+ | |||
+ | {{ :iothings:proiecte:2021:rrm_real.jpg?500 |}} | ||
+ | //__Image 6: Real breadboard implementation__// | ||
The electrical diagram of the circuit is presented in the next image: | The electrical diagram of the circuit is presented in the next image: | ||
- | ------img | + | |
+ | {{ :iothings:proiecte:2021:rrm_schematic.jpg?600 |}} | ||
+ | //__Image 7: Schematic__// | ||
====== Software description ====== | ====== Software description ====== | ||
Line 87: | Line 109: | ||
When the microcontroller is booted and the program starts, after the connection to the Wi-Fi is established, the main web page can be accessed, see the preview image below: | When the microcontroller is booted and the program starts, after the connection to the Wi-Fi is established, the main web page can be accessed, see the preview image below: | ||
- | ------img | + | |
+ | {{ :iothings:proiecte:2021:rrm_web1.jpg?200 |}} | ||
+ | //__Image 8: Home web page__// | ||
In this step, all the hardware components are turned off. | In this step, all the hardware components are turned off. | ||
Line 95: | Line 119: | ||
==== Second part ==== | ==== Second part ==== | ||
- | After the car is started we go to the second web page, where the option to start the remote parking is available, see image below: | + | After the car is started we go to the second web page, where the option to start the remote parking is available. |
- | + | ||
- | -----img---- | + | |
In this stage the LEDs will start to blink, noticing visually the user that the car is running. | In this stage the LEDs will start to blink, noticing visually the user that the car is running. | ||
Line 107: | Line 129: | ||
When the remote parking is started, the web page will be updated, and the start button for remote parking can now be used to stop the parking. | When the remote parking is started, the web page will be updated, and the start button for remote parking can now be used to stop the parking. | ||
- | When getting closer to an obstacle, a pop-up warning message will appear on the web page, noticing the user that an obstacle is detected and the distance to it. | + | When getting closer to an obstacle, a pop-up warning message will appear on the web page, noticing the user that an obstacle is detected and the distance to it, as shown below: |
+ | |||
+ | {{ :iothings:proiecte:2021:rrm_web2.jpg?200 |}} | ||
+ | //__Image 9: Remote parking started - web page__// | ||
From the hardware control side, the DC motor will start to run at constant speed, and will decrease the speed when the distance to obstacle, measured with HC-SR04, is decreasing. Also the buzzer will generate sounds in the background. | From the hardware control side, the DC motor will start to run at constant speed, and will decrease the speed when the distance to obstacle, measured with HC-SR04, is decreasing. Also the buzzer will generate sounds in the background. | ||
Line 115: | Line 140: | ||
The work flow and software implementation of the project is described in the next diagram: | The work flow and software implementation of the project is described in the next diagram: | ||
- | imggggg | + | {{ :iothings:proiecte:2021:rrm_state_diagram.jpg?400 |}} |
+ | //__Image 10: State diagram__// | ||
====== Further development ====== | ====== Further development ====== | ||
Line 132: | Line 158: | ||
Also, the IoT domain is in a continue expansion, making the human interaction with electronic devices more easy, and I think the domain chose by me for the project, automotive industry, can take advantage from integrating IoT solutions, more than in present. | Also, the IoT domain is in a continue expansion, making the human interaction with electronic devices more easy, and I think the domain chose by me for the project, automotive industry, can take advantage from integrating IoT solutions, more than in present. | ||
+ | |||
+ | ====== Source code, Demo video and Presentation ====== | ||
+ | [[https://we.tl/t-LU5gt92oTn]] | ||
====== Reference pages ====== | ====== Reference pages ====== |