Detecteaza si afiseaza distanta cu Arduino si senzorul ultrasonic HC-SR04

Detecteaza si afiseaza distanta cu Arduino si senzorul ultrasonic HC-SR04
Salutare, sunt Oana de la Bitmi.ro si astazi iti arat cum am construit un sistem simplu si vizual care afiseaza distanta detectata de un senzor ultrasonic prin aprinderea a trei LED-uri. Totul se bazeaza pe modulul pentru afisarea distantei la care se conecteaza senzorul ultrasonic HC-SR04, un Arduino Nano si trei LED-uri colorate care indica daca obiectul detectat este departe, aproape sau foarte aproape. Este un proiect ideal daca vrei sa inveti cum sa folosesti un senzor ultrasonic cu iesire seriala si cum sa interpretezi datele in Arduino pentru a controla iesiri digitale. 


Despre modulul de afisare distanta pentru senzorul ultrasonic HC-SR04


Acest modul este o versiune compacta si foarte prietenoasa pentru testarea rapida a senzorului ultrasonic HC-SR04. In loc sa conectezi senzorul direct la Arduino si sa calculezi manual distanta pe baza impulsurilor de trigger si echo, acest modul face toata treaba in locul tau si transmite direct distanta masurata prin interfata seriala (TX). Pe langa afisajul sau LED care iti arata distanta in centimetri, il poti folosi ca un emitator de date pentru Arduino – exact ce am facut in acest proiect. 

Ce este si cum functioneaza senzorul ultrasonic HC-SR04

Senzorul ultrasonic HC-SR04 este un dispozitiv foarte popular in proiectele cu Arduino, folosit pentru a masura distanta pana la un obiect folosind unde sonore. Functionarea lui este inspirata din ecolocatia folosita de lilieci: senzorul emite un semnal ultrasonic si masoara timpul necesar pentru ca ecoul sa se intoarca dupa ce s-a lovit de un obstacol. Aceasta informatie este apoi folosita pentru a calcula distanta fata de acel obiect.

HC-SR04 are patru pini: VCC (alimentare 5V), GND (masa), TRIG (declanseaza semnalul ultrasonic) si ECHO (primeste ecoul si transmite timpul catre Arduino). In mod normal, Arduino trimite un impuls de cateva microsecunde catre pinul TRIG, iar senzorul emite un semnal ultrasonic cu frecventa de 40kHz. Dupa ce unda se reflecta si se intoarce la senzor, pinul ECHO trimite inapoi un impuls cu o durata proportionala cu distanta. Formula folosita pentru calcul este:

Distanta (cm) = Timp (microsecunde) / 58.0

In proiectul meu, am folosit o varianta mai simpla a acestui senzor, un modul cu afisaj care face toate calculele in locul meu si transmite direct distanta in centimetri pe portul serial (TX). Astfel, nu mai este nevoie sa calculez manual, ci pot citi direct valoarea si o pot folosi pentru a aprinde LED-urile in functie de pragurile setate. Este o solutie foarte comoda si ideala pentru proiecte vizuale sau educationale.



Componente necesare
1 x Placa de dezvoltare compatibila Arduino Nano V3
1 x Senzor ultrasonic HC-SR04
1 x Modul afisare distanta pentru senzorul ultrasonic HC-SR04
1 x Breadboard 830 puncte 
3 LED-uri  (am ales rosu, galben, verde)
3 rezistori 220 Ohm 
3 fire tata - mama
7 fire tata - tata 

Schema de conectare

Cod sursa

Dupa ce ai realizat circuitul, e timpul sa introduci codul sursa, pentru a descarca codul sursa clic AICI.

Conecteaza placa de dezvoltare compatibila Arduino Nano la computer folosind portul USB. Apoi, mergi la meniul Tools si selecteaza tipul de placa si portul serial pe care il folosesti (optiunile Board si Port). 

Pentru a incarca codul pe placa, apasa butonul Upload (simbolul cu sageata spre dreapta). In partea de jos a ferestrei, vei putea urmari mesajele de stare: Compiling Sketch, Uploading si Done. Odata ce incarcarea s-a finalizat cu succes, placa Arduino va incepe sa ruleze codul pe care l-ai incarcat.

 

Cum functioneaza proiectul

Am folosit un modul de afisare a distantei pentru HC-SR04 – acesta calculeaza distanta automat si o transmite prin pinul TX catre placa Arduino. Astfel, nu mai e nevoie sa folosesti pinii TRIG si ECHO, ceea ce simplifica foarte mult conectarea. Arduino citeste datele transmise de modulul ultrasonic prin pinul TX, extrage valoarea distantei in centimetri si aprinde LED-urile in functie de praguri pe care le-am stabilit astfel:

  • LED verde: obiectul este departe (>20 cm)

  • LED galben: obiectul este aproape (intre 10 si 20 cm)

  • LED rosu: obiectul este foarte aproape (<=10 cm)

Prin folosirea bibliotecii SoftwareSerial, putem intercepta datele seriale fara sa ocupam portul USB folosit pentru programare si monitorizare. In acest fel, putem citi in timp real distantele si actualiza LED-urile in functie de aceste masuratori.

Compara produse

Trebuie sa mai adaugi cel putin un produs pentru a compara produse.

A fost adaugat la favorite!

A fost sters din favorite!