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

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

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

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

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

Ардуино+