Introducere

Intr-un oras aglomerat precum Bucurestiul, locurile de parcare se gasesc foarte greu. Datorita lungimii diferite a masinilor, parcarile pot fi facute cu dificultate atunci cand spatiile libere sunt mici.

Cu totii stim ca este foarte important sa reusesti sa iti parchezi masina si in spatii mai mici fara a lovi celelalte masini. Dar de unde stim cat loc mai avem cand dam cu masina in marsarier?Oglinzile cu care sunt dotate masinile nu te ajuta intotdeauna.

De la inventarea lor, sistemele de asistenta la parcare au usurat munca soferilor prin avertizarea acestora cu semnale auditive si vizuale atunci cand se apropie prea mult de obiecte. Astfel se va obtine o parcare mult mai eficienta si mai rapida.

De la toate acestea a pornit si ideea mea pentru acest proiect. Pe scurt un senzor va detecta distanta pana la obiectele din jur. Pe masura ce distanta de la senzor pana la obiectul tinta scade, se vor aprinde niste led-uri, iar un buzzer va emite semnale sonore la intervale tot mai mici. Suplimentar am ales sa afisez si distanta efectiva pana la obiect pe un lcd. Acest sistem este util atat soferilor cu abilitati ridicate la volan dar mai ales celor mai putin priceputi. Mentionez ca sistemul poate fi folosit si pentru masurarea distantei pana la obiecte in general si prin urmare nu doar in cazul parcarilor.

Descriere generala

In realizarea proiectului am pornit de la placuta de baza facuta la prima etapa. Am folosit un echipament care detecteaza distantele pana la obiecte si trimite valori de referinta pana la 254 inch ca raspuns.

Hardware Design

Componente hardware folosite pentru realizarea obiectivului:

Componenta
8 led-uri de culori diferite(2 rosii, 3 galbene, 3 verzi)
un buzzer
un lcd
un senzor ultrasonic de distanta(EZ1)

Mentionez ca schemele de la prima etapa nu le voi mai include in descrierea proiectului deoarece ele sunt disponibile pe placa.

Componenta principala a proiectului este senzorul de distanta ultrasonic LV-MaxSonar-EZ1. Acesta nu se gaseste in magazine si se poate cumpara numai facand comanda(chiar si asa stocul este foarte limitat). Mentionez ca pretul unui astfel de senzor porneste de la aproximativ 100 lei. Acesta detecteaza atat obiecte foarte apropiate(chiar si distanta 0) cat si obiecte mai indepartate(254 inch).

Infomatii suplimentare referitoare la schema acestui senzor dar si alte date tehnice se gasesc in datasheet-ul de pe site-ul pe care am facut comanda.

Cele 8 led-uri de culori diferite(rosii, verzi, galbene) se vor aprinde in functie de datele primite de la senzor(tot mai multe odata cu apropierea). Astfel led-urile din grupul celor verzi se aprind la distante mari fata de obiect, led-urile galbene la distante medii iar cele rosii la distante mici.

Buzzer-ul va emite semnale sonore cu delay tot mai mic pe masura de dispozitivul se apropie de un obiect si semnale sonore cu delay tot mai mare pe masura ce acesta se departeaza.

*Suplimentar mi-am dorit sa utilizez un lcd pe care sa afisez si distantele pana la obiecte actualizate in timp real. Din lipsa de timp aceasta parte am lasat-o totusi nefinalizata. Sectiunea de cod care ar fi implementat acest lucru se gaseste totusi comentata in programul principal din arhiva.

Tabel valori referinta:

Distanta Led-uri aprinse Delay Buzzer(ms)
176cm+ Niciun Led aprins 1500ms
144-176cm Led1 verde 1300ms
112-144cm Led1 si Led2 verzi 1100ms
84-112cm Led1 galben 900ms
60-84cm Led1 si Led2 galbene 700ms
40-60cm Led1 Led2 si Led3 galbene 500ms
24-40cm Led1 rosu 300ms
12-24cm Led1 si Led2 galbene 200ms
0-12cm Led1 Led2 si Led3 galbene 100ms

Schema hardware:

Software design

Aplicatia este scrisa in CodeVision AVR si compilata in cmd pe Windows. Programul:

  1. initializeaza ADC
  2. initializeaza porturile pentru led-uri si buzzer
  3. citeste o valoare de la senzor
  4. intr-o bucla infinita apeleaza functia “buzz” cu parametrul valoare citita si apoi citeste o noua valoare
  5. functia “buzz”:
    • compara valoarea primita ca parametru cu mai multe intervale de referinta
    • in functie de intervalul de referinta in care se incadreaza valoarea aprinde anumite led-uri iar buzzer-ul va emite semnale sonore cu delay-uri specifice
    • citeste o noua valoare de referinta

Codul folosit se gaseste in aceasta arhiva:

Rezultate

Rezultatele obtinute au fost cele asteptate. Pe masura ce apropii dispozitivul de un obiect, senzorul detecteaza distanta pana la el si pe masura ce ma apropii de obiecte se aprind led-urile iar frecventa de emitere a semnalelor sonore de catre buzzer creste. Cea mai “tricky” parte a proiectului a fost cea de calibrare a dispozitivului. Dispozitivul este setat sa prelucreze date si sa ia actiuni conform datelor prezente in tabelul de la sectiunea "Tabel valori referinta".

Concluzii

Per ansamblu un proiect de genu acesta iti poate da destule batai de cap testandu-ti atat abilitatile in materie de software dar si de hardware design. Consider ca satisfactia finalizarii unui proiect de acest gen este una mare raportata la volumul de munca depus.

Download

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.

parkingassistant.zip

Bibliografie

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware:

Senzor ultrasonic de distanta Maxbotix EZ1

ATMEGA16

Poze:

LCD

senzor EZ1

buzzer

pm/prj2010/pgp/andrei331.txt · Last modified: 2021/04/14 17:07 (external edit)
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