Измерение расстояния с помощью ультразвукового датчика

Урок в котором используя звуковые волны ультразвуковой датчик вычислит расстояние между собой и объектом, а затем информация отобразится на ЖК-дисплее.

Комплектующие

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

На этом всё. Хороших вам проектов.

4 мая 2018 в 14:38 | Обновлено 7 декабря 2019 в 00:18 (редакция)
Опубликовано:
Уроки, ,

1 комментарий

  1. Bon Chance
    26 мая 2021 в 09:54

    LCD RS pin to digital pin 12… на рисунке 10,
    LCD Enable pin to digital pin 11… на рисунке 9.
    Питание дисплея без резистора.
    Это должно работать?

    Ответить

Добавить комментарий

Ваш E-mail не будет никому виден. Обязательные поля отмечены *