Ултразвукова схема за измерване на разстояние, използваща 16 × 2 LCD

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази статия ще изградим ултразвукова верига за измерване на разстояние, използвайки Arduino и 16x2 LCD. Също така ще видим какво представлява ултразвуков модул, как работи и как може да се използва за измерване на разстоянието.

Какво е ултразвук?

Средно здраво човешко същество може да чува честоти, вариращи от 20 Hz до 20 000 Hz. Над 20 000Hz или 20 KHz човешкото ухо не е в състояние да открие тези честоти. Всеки акустичен резонанс, по-голям от 20 KHz, се нарича ултразвукова и всяка акустика резонира по-малко от 20 Hz се нарича инфразвукова.



Повечето домашни животни, като котка или куче, могат да чуят широк диапазон на акустична честота, по-голям от човешките същества. Някои от нашите електронни устройства може да ги дразни, затова ултразвуковият звук се използва в електронната репеленти против комари а също и в репеленти за кучета.

Но много от дивите животни като прилепите се възползват от ултразвука, който им помага да определят разстоянието между хищника и плячката. Той има биологични сензори, които изчисляват разстоянието чрез излъчване и приемане на ултразвукови вълни.



Този принцип се използва в много съвременни електронно измервателно оборудване ще научим как същият принцип може да се приложи и за настоящия проект.

Ултразвуков сензор:

Ще използваме специален ултразвуков приемо-предавателен модул за електронно устройство HC-SR04, който е много популярен и често се предлага в сайтовете за електронна търговия и електронните магазини.

Състои се от 4 пина Vcc, земя, спусък и ехо. Тези щифтове са свързани с микроконтролер arduino.

Има модули на предавател и приемник които изглеждат идентични и са защитени от алуминиев цилиндър и мрежа в отвора на предавателя и приемника. Модулът също се състои от микроконтролери, които декодират ехо сигнали.

За да измерим разстоянието, трябва да изпратим поредица от ултразвукови изблици и да слушаме ехото. За да направим това, трябва да поддържаме щифта на спусъка висок за 10 микросекунди, предавателят изпраща 8 импулса от ултразвукови изблици.

Модулът на приемника слуша тези изблици след удряне на препятствие. Ехо пинът издава висок сигнал, пропорционален на разстоянието. Arduino интерпретира времето на изпратените и получените сигнали, за да определи действителното разстояние.

Тъй като звукът се движи с 340 m / s във въздуха и времето може да се определи чрез сравняване на изпратени и приети сигнали, можем да определим разстоянието, като използваме формулата скорост-разстояние:

Разстояние = скорост х време

Тези стойности ще бъдат изчислени от Arduino и ще бъдат отпечатани подходящи стойности на LCD дисплея. Предложената схема на ултразвуков измервателен уред може да показва разстоянието в сантиметър, както и в метър.

Прототип на автора:

Тестван работен модел на ултразвукова верига за измерване на разстояние, използваща 16x2 LCD

Електрическа схема:

Ултразвукова верига за измерване на разстояние, използваща 16x2 LCD

Връзката на ултразвуковия измервателен уред се осъществява чрез стандартен интерфейс arduino-LCD, който можем да намерим и в много други подобни проекти, базирани на arduino-LCD. Потенциометърът се използва за регулиране на контраста на LCD дисплея.

The ултразвуков сензор могат да бъдат директно вмъкнати на аналогов щифт, както е показано в авторския прототип от A0 до A3, сензорите, обърнати навън, могат да намалят задръстванията на проводниците, докато дублират горната схема.

Код на програмата:

#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) }


Предишна: Моторизирана верига за сенки за слънце Напред: 6-ватова аудио усилвателна схема, използваща TDA1011