This shows you the differences between two versions of the page.
pm:prj2022:dene:senzori-parcare [2022/05/27 22:26] gabriel.stanescu [Software Design] |
pm:prj2022:dene:senzori-parcare [2022/06/02 12:33] (current) gabriel.stanescu [Hardware Design] |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Proiectul ofera mai multe posibilitati prin care distanta fata de obstacol poate fi vizualizata. Una dintre interpretari este folosirea unui buzzer, a carui intensitate este direct proportionala cu valoarea distantei. De asemenea, se vor folosi trei LED-uri care au culori intuitive (verde, galben, rosu). | Proiectul ofera mai multe posibilitati prin care distanta fata de obstacol poate fi vizualizata. Una dintre interpretari este folosirea unui buzzer, a carui intensitate este direct proportionala cu valoarea distantei. De asemenea, se vor folosi trei LED-uri care au culori intuitive (verde, galben, rosu). | ||
- | Valoarea efectiva a distantei va fi afisata atat pe un display LCD, cat si pe un Web Server, hostat prin modulul Wi-Fi. Cel din urma stoca si afisa un log cu eventualele "accidente" care au avut loc in timpul in care senzorii erau in modul idle. Trecerea din modul idle in modul normal se va face de pe server. | + | Valoarea efectiva a distantei va fi afisata atat pe un display LCD, cat si pe un Web Server, hostat prin modulul Wi-Fi. Cel din urma stoca si afisa un log cu eventualele "accidente" care au avut loc. |
===Schema Bloc=== | ===Schema Bloc=== | ||
{{pm:prj2022:dene:senzori_parcare_schema_bloc.png?700}} | {{pm:prj2022:dene:senzori_parcare_schema_bloc.png?700}} | ||
Line 23: | Line 23: | ||
== Schema electrica: == | == Schema electrica: == | ||
{{pm:prj2022:dene:stanescu_gabriel_schema_electrica.png?700}} | {{pm:prj2022:dene:stanescu_gabriel_schema_electrica.png?700}} | ||
+ | {{pm:prj2022:dene:stanescu_gabriel_schema_electrica_2.png?700}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 41: | Line 42: | ||
* setup() - am initializat display-ul LCD, cei doi senzori ultrasonici HC-SR04, pinii de output pentru buzzer si LED, si am configurat Web Server-ul hostat folosind modulul ESP8266. | * setup() - am initializat display-ul LCD, cei doi senzori ultrasonici HC-SR04, pinii de output pentru buzzer si LED, si am configurat Web Server-ul hostat folosind modulul ESP8266. | ||
* Senzorii ultrasonici - am realizat setup-ul masurand durata de timing a fiecaruia, calculand mai departe distanta in centimetri. Senzorii transmit ultrasunete (~40kHz), folosind pinul de Trigger, la un interval setat de 10ms. Apoi, undele reflectate de obstacol se intorc catre senzor, unde se va calcula durata. Distanta in cm se calculeaza folosind urmatoarea formula: dist = viteza_sunet * durata / 2. Am considerat viteza sunetului ca fiind constanta, 340m/s. | * Senzorii ultrasonici - am realizat setup-ul masurand durata de timing a fiecaruia, calculand mai departe distanta in centimetri. Senzorii transmit ultrasunete (~40kHz), folosind pinul de Trigger, la un interval setat de 10ms. Apoi, undele reflectate de obstacol se intorc catre senzor, unde se va calcula durata. Distanta in cm se calculeaza folosind urmatoarea formula: dist = viteza_sunet * durata / 2. Am considerat viteza sunetului ca fiind constanta, 340m/s. | ||
- | * Display-ul LCD - va afisa pe fiecare rand distanta pana la obstacol. In cazul in care se depasesc 34 de centimetri, se considera overflow si se va afisa "N/A" in dreptul senzorului aferent. In cazul opus, in care distanta este mai mica decat 1cm, din motive de siguranta, display-ul va afisa mesajul "HIT" | + | * Display-ul LCD - va afisa pe fiecare rand distanta pana la obstacol. In cazul in care se depasesc 34 de centimetri, se considera overflow si se va afisa "N/A" in dreptul senzorului aferent. In cazul opus, in care distanta este mai mica decat 4cm, din motive de siguranta, display-ul va afisa mesajul "HIT". |
+ | * Buzzer, LED - Buzzer-ul este alimentat folosind PWM cu un duty cycle exponential. Acesta incepe sa emita sunet incepand de la o distanta mai mica decat 34cm. LED-ul rosu se va aprinde in cazul unui accident (dist < 1cm), si va ramane aprins pana la resetarea circuitului. | ||
+ | * WebServer - Orice utilizator se poate conecta la reteaua WiFi hostata de Arduino. SSID-ul si parola pot fi schimbate, iar IP-ul este random la fiecare rulare. La fiecare GET request de catre client, acesta are acces la un log in plain text cu totalitatea accidentelor produse. Ex: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{pm:prj2022:dene:stanescu_gabriel_1.png?700}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{pm:prj2022:dene:stanescu_gabriel_2.jpg?700}} |
- | </note> | + | {{pm:prj2022:dene:stanescu_gabriel_3.jpg?700}} |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Pot spune ca proiectul a fost unul interesant si care are o oarecum utilitate in viata reala. Dorinta mea a fost sa combin senzorii auto de parcare clasici, cu features ale Sentry mode-ului masinilor Tesla. Am avut limitari pe partea de web server deoarece modulul WiFi nu suporta implementarea de event listeners. Cu toate acestea, personal sunt multumit de rezultatul final. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | {{:pm:prj2022:dene:Stanescu_Gabriel_ProiectPM_rev.zip| Arhiva Proiect}} |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 69: | Line 66: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | https://create.arduino.cc/projecthub/harshmangukiya/create-esp8266-web-server-9c32ac\\ |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://create.arduino.cc/projecthub/Niv_the_anonymous/esp8266-beginner-tutorial-project-6414c8\\ |
- | </note> | + | https://www.circuitbasics.com/how-to-set-up-an-lcd-display-on-an-arduino/\\ |
+ | https://create.arduino.cc/projecthub/abdularbi17/ultrasonic-sensor-hc-sr04-with-arduino-tutorial-327ff6\\ | ||
+ | https://docs.arduino.cc/tutorials/generic/secrets-of-arduino-pwm\\ | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||