Parking Helper

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 masinii este redusa sau conditiile meteo impiedica vizibilitatea.

Descriere generală

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.
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. 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 detectat, si va creste frecventa acestuia odata cu apropierea obiectului de masina.
LED-uri se vor aprinde pe rand avand urmatoarele semnificatii:

  • verde: nu este niciun obstacol detectat
  • galben: este un obstacol detectat dar nu este aproape de masina
  • portocaliu: este un obstacol detectat si este mai aproape decat in starea galbena
  • rosu: este un obstacol detectat si este foarte aproape de masina

Hardware Design

Lista de piese:

  1. Arduino UNO
  2. 2 senzori ultrasonici
  3. buzzer
  4. 4 LED-uri
  5. ecran OLED

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.

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: IDE Arduino
  • librării şi surse 3rd-party: Adafruit_GFX, Adafruit_SSD1306

Rezultate Obţinute

Proiectul indeplineste toate functionalitatile prezentate.

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.

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

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2023/razvans/parking_helper.txt · Last modified: 2023/05/30 00:20 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