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
Componente folosite
Componenta Rol in proiect
ATmega328P Xplained Mini Microcontroller principal - proceseaza semnalele de la senzori, calculeaza viteza si controleaza afisajul si buzzer-ul
HC-SR04 #1 (Senzor 1) Senzor ultrasonic - detecteaza trecerea unui obiect prin primul punct de masurare
HC-SR04 #2 (Senzor 2) Senzor ultrasonic - detecteaza trecerea aceluiasi obiect prin al doilea punct de masurare
LCD 16×2 cu modul I2C (LCD_I2C) Afiseaza mesajele “Speed Radar” si viteza calculata in km/h
Buzzer pasiv Semnalizare sonora la detectarea unui obiect
Breadboard + fire jumper Interconectarea componentelor
Pinii folositi
Pin ATmega328P Eticheta Componenta Rol
PB2 PB2 Buzzer Semnal digital pentru activarea buzzer-ului
PD2 ECHO1 HC-SR04 #1 Receptie semnal ECHO de la senzorul 1 (input)
PD3 ECHO2 HC-SR04 #2 Receptie semnal ECHO de la senzorul 2 (input)
PD4 TRIG1 HC-SR04 #1 Trimitere puls TRIG catre senzorul 1 (output)
PD5 TRIG2 HC-SR04 #2 Trimitere puls TRIG catre senzorul 2 (output)
PC4 SDA LCD I2C Linie de date I2C pentru LCD
PC5 SCL LCD I2C Linie de ceas I2C pentru LCD
VCC +5V Toate componentele Alimentare 5V
GND GND Toate componentele Masa comuna

Am ales pinii ECHO pe PD2/PD3 deoarece corespund intreruperilor externe INT0 si INT1 ale ATmega328P Xplained Mini, permitand capturarea precisa a timpului semnalelor ultrasunetelor prin intreruperi hardware, fara polling.

Comunicatia I2C (SDA/SCL pe PC4/PC5) pentru a putea transmite semnalele.

Schema electrica

Schema prezinta:

  • ATmega328P Xplained Mini in centru, ca unitate de control
  • HC-SR04 #1 conectat pe pinii TRIG1 (PD4) si ECHO1 (PD2) - reprezinta primul senzor de viteza
  • HC-SR04 #2 conectat pe pinii TRIG2 (PD5) si ECHO2 (PD3) - reprezinta al doilea senzor de viteza, distanta este plasata la distanta pe care o cunoastem
  • LCD I2C conectat pe magistrala I2C (SDA=PC4, SCL=PC5) cu alimentare de 5V
  • Buzzer connectat pe PB2 pentru activare si alimentarea este de 5V + ground

Principiu de functionare

Cei 2 senzori HC-SR04 sunt plasati la o distanta fixa si cunoscuta d (in cm) pe acelasi ax. Cand un obiect trece prin deptul primului senzor, microcontroller-ul porneste un cronometru. Cand acelasi obiect trece prin dreptul celui de-al doilea senzor, cronometrul se opreste si calculeaza viteza.

Imagini Hardware

Imaginea de mai sus prezinta cum am legat cablurile. Cei 2 senzori plasati la capetele unui suport rigid, LCD-ul cu modulul I2C in centru si buzzer-ul atasat lateral. LCD-ul afiseaza “Speed Radar / Viteza XX km/h”.

In imaginea de mai sus se observa clar cum LCD-ul prin I2C reuseste sa afiseze viteza corespunzatoare calculata.

In imaginea de mai sus se observa cum senzorul 1 a detectat un obiect, a trimis semnal, dureaza pana ajunge obiectul la senzorul 2. Cand obiectul a ajuns la senzorul 2 acesta il detecteaza, trimite semnal iar microcontroller-ul calculeaza viteza, trimite catre I2C sa o afiseze pe LCD. Executia se opreste pentru cateva secunde, iar apoi incepem iar detectarea pe senzorul 1 prin resetare.

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.1778939198.txt.gz · Last modified: 2026/05/16 16:46 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