Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:razvans:parking_helper [2023/05/16 22:49]
catalin_ioan.balea
pm:prj2023:razvans:parking_helper [2023/05/30 00:20] (current)
catalin_ioan.balea [Rezultate Obţinute]
Line 1: Line 1:
 ====== Parking Helper ====== ====== Parking Helper ======
 ===== Introducere ===== ===== Introducere =====
-Proiectul foloseste senzori ultrasonici pentru a detecta posibile obstacole aflate in fata sau spatele masinii si incearca sa ofera o reprezentare cat mai exacta a locatiei lor prin semnale sonore si vizuale. Scopul proiectului este reducerea dificultatii parcarii unei masini. Sistemul este util, deoarece adesea vizibilitatea soferului ​din masina ​este redusa sau conditiile meteo impiedica vizibilitatea.+Proiectul foloseste senzori ultrasonici pentru a detecta posibile obstacole aflate in fata sau spatele masinii si incearca sa ofera o reprezentare cat mai exacta a locatiei lor prin semnale sonore si vizuale. Scopul proiectului este reducerea dificultatii parcarii unei masini. Sistemul este util, deoarece adesea vizibilitatea soferului ​masinii ​este redusa sau conditiile meteo impiedica vizibilitatea.
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 8: Line 8:
  
 Senzorii vor transmite date catre arduino, iar acesta, pe baza datelor primite, va afisa pe ecranul OLED o reprezentare a masinii si a locatiei obstacolelor,​ va marii sau micsora frecventa semnalului sonor emis de buzzer si va aprinde diverse LED-uri (de culori reprezentativa:​ rosu, portocaliu, galben, verde) semnificand gradul de apropiere al obiectului de masina. \\ Senzorii vor transmite date catre arduino, iar acesta, pe baza datelor primite, va afisa pe ecranul OLED o reprezentare a masinii si a locatiei obstacolelor,​ va marii sau micsora frecventa semnalului sonor emis de buzzer si va aprinde diverse LED-uri (de culori reprezentativa:​ rosu, portocaliu, galben, verde) semnificand gradul de apropiere al obiectului de masina. \\
-Obstacolele vor fi reprezentate ​de niste semicercuri ​pe ecranul OLED, asemenea undei care detecteaza obiectul. \\ +Detectarea obstacolelor va fi reprezentata ​de niste linii reprezentative ​pe ecranul OLED, asemenea undei care detecteaza obiectul. Liniile delimiteaza spatiul de siguranta, acesta fiind spatiul dintre masina si o linie, in spatiul dincolo de linie considerandu-se a fi obstacolul. 
-Buzzer-ul va emite un semnal sonor de indata ce un obstacol ​s-a detectat si va creste frecventa acestuia odata cu apropierea obiectului de masina. \\+Daca LED-ul rosu nu este aprins pe ecran se va afisa masina si linii fata-spate reprezentand ce detecteaza senzorul din fata si spatele masinii, daca LED-ul rosu este aprins pe ecran se va reprezenta masina, dar mai mica, si fata sau spatele masinii, depinde de unde se detecteaza un obiect mai apropiat, impreuna cu o linie care semnifica unde se afla obiectul detectat, dar cu o precizie mai mare decat in modul anterior.\\ 
 +Buzzer-ul va emite un semnal sonor de baza, chiar daca niciun obiect nu s-a detectatsi va creste frecventa acestuia odata cu apropierea obiectului de masina. \\
 LED-uri se vor aprinde pe rand avand urmatoarele semnificatii:​ LED-uri se vor aprinde pe rand avand urmatoarele semnificatii:​
   * verde: nu este niciun obstacol detectat   * verde: nu este niciun obstacol detectat
-  * galben: este un obstacol detectat dar este cat de departe posibil+  * galben: este un obstacol detectat dar nu este aproape ​de masina
   * portocaliu: este un obstacol detectat si este mai aproape decat in starea galbena   * portocaliu: este un obstacol detectat si este mai aproape decat in starea galbena
   * rosu: este un obstacol detectat si este foarte aproape de masina   * rosu: este un obstacol detectat si este foarte aproape de masina
Line 22: Line 23:
   - 2 senzori ultrasonici   - 2 senzori ultrasonici
   - buzzer   - buzzer
-  - LED-uri+  - LED-uri
   - ecran OLED   - ecran OLED
  
Line 30: Line 31:
  
 ===== Software Design ===== ===== Software Design =====
 +Descrierea codului aplicaţiei (firmware):
 +  * mediu de dezvoltare: IDE Arduino
 +  * librării şi surse 3rd-party: Adafruit_GFX,​ Adafruit_SSD1306
 +
 +Descriere functii cod:
 +  * calculateTopValue(int frequency): calculeaza valoarea top-ului pe baza frecventei introduse (cu prescalar de 256)
 +  * configure_timer1(),​ init_timer1():​ functii care seteaza timer1 pentru utilizarea buzzer-ului
 +  * pulseIn(): masoara timpul in care se receptioneaza unda transmisa de emitatorul senzorului
 +  * drawRoundRect(),​ drawTriangle(),​ drawLine(): deseneaza obiectele specificate pe ecranul OLED pe baza punctelor date ca parametru
  
 +Descriere cod:
 +Pe baza datelor de la senzori aprind cate un LED, afisez pe ecranul OLED un desen reprezentativ,​ pe baza datelor primite, si modific frecventa buzzer-ului utilizand timer1 pentru a nu avea intreruperi de sonor. Buzzer-ul functioneaza astfel: cand timer1 atinge topul setat schimb valoarea ​
 +de output a buzzer-ului (din high in low sau din low in high), iar cand vreau sa modific frecventa buzzer-ului modific valoarea topului, astfel incat timer-ul sa-si atinga topul mai repede sau mai lent.
  
 <note tip> <note tip>
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR) +  * mediu de dezvoltare: IDE Arduino 
-  * librării şi surse 3rd-party ​(e.g. Procyon AVRlib) +  * librării şi surse 3rd-party: Adafruit_GFX,​ Adafruit_SSD1306
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate+
 </​note>​ </​note>​
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 +Proiectul indeplineste toate functionalitatile prezentate.
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+In videoclip senzorul fata este cel din stanga, iar cel spate este cel din dreapta. 
 +Fata masini este indicata pe ecranul OLED print-un triunghi.
 </​note>​ </​note>​
 +<​html>​
 +  <iframe width="​560"​ height="​315" ​
 +  src="​https://​www.youtube.com/​embed/​uU3dd9qMOGg" ​
 +  title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ allowfullscreen></​iframe>​
 +</​html>​
  
-===== Concluzii ===== 
  
 +===== Concluzii =====
 +Proiectul a reprezentat o experienta foarte interesanta,​ mai ales ca a fost primul proiect care a inclus si o parte hardware pe care l-am realizat. A fost distractiv de realizat si a ajutat foarte mult la intelegerea in profunzime a materiei. ​
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{pm:prj2023:​razvans:​pm-parkinghelpercode.zip}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, 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 63: Line 79:
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +Resurse Software:
 +  * [[https://​github.com/​adafruit/​Adafruit_SSD1306 | OLED Display library]]
 +Resurse Hardware:
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm| PM labs]]
 +  * [[https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf | ATmega328P Datasheet]]
 +  * [[https://​howtomechatronics.com/​tutorials/​arduino/​ultrasonic-sensor-hc-sr04/#:​~:​text=How%20the%20HC%2DSR04%20Ultrasonic%20Distance%20Sensor%20Works%3F,​you%20can%20calculate%20the%20distance. | Ultrasonic Sensor Guide]]
  
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​note>​ 
  
 <​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>​
  
pm/prj2023/razvans/parking_helper.1684266581.txt.gz · Last modified: 2023/05/16 22:49 by catalin_ioan.balea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0