Circuit de măsurare a distanței cu ultrasunete utilizând LCD 16 × 2

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest articol vom construi un circuit de măsurare a distanței cu ultrasunete utilizând Arduino și LCD 16x2. De asemenea, vom vedea ce este un modul cu ultrasunete, cum funcționează și cum poate fi utilizat pentru a măsura distanța.

Ce este ultrasunetele?

O ființă umană sănătoasă medie poate auzi frecvențe cuprinse între 20 Hz și 20.000 Hz. Peste 20.000Hz sau 20 KHz urechea umană este incapabilă să detecteze aceste frecvențe. Orice rezonanță acustică mai mare de 20 KHz se numește ca ultrasunete iar orice acustică rezonează mai puțin de 20 Hz se numește infrasonic.



Majoritatea animalelor domestice, cum ar fi pisica sau câinele, pot auzi o gamă largă de frecvențe acustice mai mari decât ființele umane. Unii dintre ai noștri dispozitive electronice poate să-i enerveze de aceea sunetul cu ultrasunete este folosit în electronică repelenți de țânțari și, de asemenea, în repelenți pentru câini.

Dar multe dintre animalele sălbatice, cum ar fi liliecii, profită de ultrasunete, ceea ce le ajută să determine distanța dintre prădător și pradă. Are senzori biologici care calculează distanța emițând și primind unde ultrasonice.



Acest principiu este utilizat în multe moderne echipamente electronice de măsurare vom afla cum același principiu ar putea fi aplicat și pentru prezentul proiect.

Senzor cu ultrasunete:

Vom utiliza un modul special de emisie-recepție cu ultrasunete pentru dispozitive electronice HC-SR04, care este foarte popular și disponibil în mod obișnuit pe site-urile de comerț electronic și magazinele electronice de vânzare cu amănuntul.

Este format din 4 pini Vcc, sol, declanșator și ecou. Acești pini sunt interfațați cu microcontrolerul arduino.

Are o module emițător și receptor care arată identic și sunt protejate de cilindru și plasă de aluminiu la deschiderea emițătorului și receptorului. Modulul este, de asemenea, format din microcontrolere care decodează semnale de ecou.

Pentru a măsura distanța, trebuie să trimitem serii de rafale cu ultrasunete și să ascultăm ecoul. Pentru a face acest lucru, trebuie să menținem pinul de declanșare ridicat timp de 10 microsecunde, transmițătorul trimite 8 impulsuri de rafale ultrasonice.

Modulul receptor ascultă acele explozii după ce a lovit un obstacol. Știftul de ecou emite un semnal ridicat proporțional cu distanța. Arduino interpretează timpul semnalelor trimise și recepționate pentru a determina distanța reală.

Deoarece sunetul se deplasează la 340 m / s în aer și timpul poate fi determinat prin compararea semnalelor trimise și primite, putem determina distanța utilizând formula viteză-distanță:

Distanță = viteză X timp

Aceste valori vor fi calculate de Arduino și vor imprima valorile corespunzătoare pe ecranul LCD. Circuitul de măsurare a distanței cu ultrasunete propus poate afișa distanța atât în ​​centimetri, cât și în metri.

Prototipul autorului:

Model de lucru testat al circuitului de măsurare a distanței cu ultrasunete utilizând LCD 16x2

Diagrama circuitului:

Circuit cu ultrasunete de măsurare a distanței utilizând LCD 16x2

Conexiunea cu ultrasunete a distanței se face printr-o interfață standard arduino-LCD, pe care o putem găsi și în multe alte proiecte similare bazate pe arduino-LCD. Potențiometrul este utilizat pentru a regla contrastul afișajului LCD.

senzor cu ultrasunete poate fi introdus direct pe pinul analogic așa cum se arată în prototipul autorului de la A0 la A3, senzorii orientați spre exterior putând reduce congestia firelor în timp ce dublează circuitul de mai sus.

Codul programului:

#include LiquidCrystal lcd(12,11,5,4,3,2) const int trigger = A1 const int echo = A2 int vcc = A0 int gnd = A3 long Time float distanceCM float distanceM float resultCM float resultM void setup() { lcd.begin(16,2) pinMode(trigger,OUTPUT) pinMode(echo,INPUT) pinMode(vcc,OUTPUT) pinMode(gnd,OUTPUT) } void loop() { digitalWrite(vcc,HIGH) digitalWrite(gnd,LOW) digitalWrite(trigger,LOW) delay(1) digitalWrite(trigger,HIGH) delayMicroseconds(10) digitalWrite(trigger,LOW) Time=pulseIn(echo,HIGH) distanceCM=Time*0.034 resultCM=distanceCM/2 resultM=resultCM/100 lcd.setCursor(0,0) lcd.print('Distance:') lcd.print(resultM) lcd.print('M') lcd.setCursor(0,1) lcd.print('Distance:') lcd.print(resultCM) lcd.print('cm') delay(1000) }


Precedent: Circuit de umbră de soare motorizat Următorul: Circuit amplificator audio de 6 wați utilizând TDA1011