Урок в котором используя звуковые волны ультразвуковой датчик вычислит расстояние между собой и объектом, а затем информация отобразится на ЖК-дисплее.
Комплектующие
1 - Arduino Uno
1 - Ультразвуковой датчик (HC-SR04)
1 - 16x2 ЖК-Дислей
1 - 10K потенциометр
10 - провода "папа-папа"
5 - провода "папа-мама"
Как работает ультразвуковой датчик расстояния?
Ультразвуковой датчик посылает высокочастотный звуковой импульс, а затем считает время, необходимое для отражения звука (эха) от объекта. Датчик имеет 2 отверстия спереди. Одно отверстие передает ультразвуковые волны (например, крошечный динамик), а другой принимает их (например, крошечный микрофон).
Скорость звука составляет около 341 метр (1100 футов) в секунду на воздухе. Ультразвуковой датчик использует эту информацию вместе с разницей во времени между отправкой и приемом звукового импульса для определения расстояния до объекта. Он использует следующее математическое уравнение:
Расстояние = Время x Скорость звука / 2
Почему и когда использовать ультразвуковые датчики?
Идеально подходит для точного автоматического измерения расстояния в нормальных и сложных условиях. Особенно подходит для сред, в которых оптические датчики непригодны для использования, такие как дым, пыль и тому подобное.
Очень точное, стабильное устройство и может использоваться на больших диапазонах. Ультразвуковые датчики могут измерять следующие параметры без контакта с измеряемой средой:
- Расстояние
- Уровень
- Диаметр
- Присутствие
- Позиционирование
Функционирование проекта
Ультразвуковой датчик HC-SR04 излучает высокочастотный звуковой импульс и вычисляет расстояние, зависящее от времени, которое эхо-сигнал возвращается, после отражения от желаемой цели. Скорость звука составляет 341 метр в секунду на воздухе. После того, как расстояние будет рассчитано, оно будет отображаться на ЖК-дисплее.
Принципиальная схема
Все детали, которые были описаны на шаге "Комплектующие" мы должны соединить как описано на рисунке выше.
Код для Ардуино
Скетч, который нужно загрузить в нашу Ардуино Уно следующий:
/*LCD circuit: * LCD RS pin to digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W pin to ground * LCD VSS pin to ground * LCD VCC pin to 5V * 10K resistor: * ends to +5V and ground * wiper to LCD VO pin (pin 3)*/ #include<LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Interface pins of the LCD const int trig_pin=8; const int echo_pin=9; long distance,duration; void setup() { lcd.begin(16,2); lcd.setCursor(0,0); //set the cursor to column 0 and line 0 pinMode(8,OUTPUT); pinMode(9,INPUT); } void loop() { digitalWrite(8,HIGH); delayMicroseconds(20); digitalWrite(8,LOW); delayMicroseconds(20); duration = pulseIn(echo_pin, HIGH); //To receive the reflected signal. distance= duration*0.034/2; lcd.setCursor(0,1); //set the cursor to column 0 and line 1 lcd.print(distance); lcd.print("cm"); delay(100); }
На этом всё. Хороших вам проектов.
26 мая 2021 в 09:54
LCD RS pin to digital pin 12… на рисунке 10,
LCD Enable pin to digital pin 11… на рисунке 9.
Питание дисплея без резистора.
Это должно работать?