This is an old revision of the document!


Radar cu 2 senzori ultrasonici, alerta si afisaj

Introducere

Punctul de plecare a fost problema vitezi excesive de pe drumurile publice din Romania, una dintre principalele cauze ale accidentelor grave de circulatie.

Acest proiect a fost conceput pentru a masura viteza medie a masinilor pe un anumit segment de drum si declanseaza o alarma sonora daca viteza legala este depasita. Sistemul activeaza primul senzor ultrasonic si porneste un timer in momentul in care un vehicul este detectat. Cand vehiculul ajunge la cel de-al doilea senzor, ce este amplasat la o distanta stiuta, timer-ul se opreste si se calculeaza viteza medie pe baza timpului si a distantei dintre senzori. Aceasta este afisata pe un ecran LCD prin intermediul modulului I2C. Daca viteza masurata depaseste o limita prestabilita (configurata manual), un buzzer emite un semnal de alarma, sunetul creste si descreste pe parcursul a cateva secunde.

Proiectul este util deoarece poate fi amplasat pe orice segment de drum pentru colectarea datelor reale despre viteza si a semnala contraventiile din trafic. Acesta incurajeaza soferii sa respecte viteza legala prin feedback-ul audio imediat.

Descriere generală

Sistemul este compus din urmatoarele module hardware si software:

Module Hardware
  • ATmega328P Xplained Mini - placa de microcontroler principala ce coordoneaza toata logica, masoara timpul si comunicatia
  • Senzorul ultrasonic 1 - amplasat la inceputul segmentului de drum masurat, detecteaza cand un vehicul intra in zona si porneste timer-ul prin intrerupere externa
  • Senzorul ultrasonic 2 - amplasat la finalul segmentului masurat, detecteaza cand vehiculul iese si opreste timer-ul prin intrerupere externa
  • Buzzer pasiv - emite un semnal de alarma generat prin PWM cand viteza legala este depasita, intensitatea sunetului creste si scade pe parcursul a cateva secunde
  • LCD 16×2 cu modulul I2C - afiseaza viteza calculata si statusul sistemului in timp real, conectata prin interfata TWI.
  • Breadboard + fire jumper - folosite pentru fiecare conexiune intre componente
Module Software (posibil sa se schimbe)
  • Handler intreruperi - configureaza intreruperile externe pe pinii Echo ai ambilor senzori. Cand senzorul 1 semnaleaza, timer-ul incepe masurarea. Cand senzorul 2 semnaleaza, timer-ul se opreste si se foloseste timpul scurs.
  • Calcul viteza - calculeaza viteza medie ca: v = distanta/timp, unde distanta este separarea fizica intre cei 2 senzori (este constanta)
  • Control buzzer PWM - daca viteza depaseste pragul prestabilit, generam un semnal PWM pe pinul buzzer-ului. Duty cycle-ul este modulat in timp pentru a crea un efect de alarma care creste si apoi scade.
  • Driver LCD I2C - foloseste perifericul TWI al ATmega328P pentru a trimite datele de viteza catre modulul I2C conectat la LCD, formatate ca “Viteza: XX km/h”.

Hardware Design

Lista componente
Componenta Model / Specificatii Cantitate
Placa microcontroller ATmega328P Xplained Mini 1
Senzor ultrasonic de distanta HC-SR04 2
Afisaj LCD LCD 16×2 1
Modul I2C pentru LCD CEY4005 1
Buzzer pasiv Compatibil 3.3V-5V 1
Breadboard 830 puncte 1
Fire jumper Male-to-male, culori diverse ~20
Fire jumper mama-tata Female-to-male, culori diverse 4
Cablu USB Micro-USB 1
Sursa de alimentare 5V prin USB sau externa 1

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

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.

Jurnal

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

Bibliografie/Resurse

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

Export to PDF

pm/prj2026/atoader/ionel_andrei.ciuca.1778936344.txt.gz · Last modified: 2026/05/16 15:59 by ionel_andrei.ciuca
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