Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Точное измерение расстояния ультразвуковым датчиком HC-SR04 и Arduino: пошаговое руководство

Проект измерения расстояния ультразвуковым датчиком HC-SR04 на Arduino

Ультразвуковое дальномерение применяется в робототехнике, позиционировании, контроле уровня, профилировании, автоматизации. Датчик HC-SR04 — неконтактный, диапазон 2–400 см, точность до 3 мм. Работает по принципу эхо-локации.

Принцип работы HC-SR04

  1. На вход Trig подается импульс 10 мкс (HIGH).
  2. Модуль излучает 8 циклов ультразвука 40 кГц.
  3. Сигнал отражается от препятствия и возвращается к приемнику.
  4. Выход Echo держит HIGH время, равное времени полета туда-обратно.
  5. Расстояние = (время HIGH × скорость звука 340 м/с) / 2.

Деление на 2 — так как время измеряется туда и обратно.

Схема подключения

Компоненты

Спецификация HC-SR04

Распиновка LCD 16×2 (таблица)

PinNameDescription
1VSSGND
2VDD+5V
3VEКонтраст (потенциометр)
4RSRegister Select (команда/данные)
5RWRead/Write (обычно GND = запись)
6ENEnable (строб)
7–14DB0–DB7Данные (8 бит) или DB4–DB7 (4 бит)
15AАнод подсветки (+5V)
16KКатод подсветки (GND)

Программа (скетч)

#include <LiquidCrystal.h>
#define trig 18
#define echo 19
const int rs=12, en=11, d4=5, d5=4, d6=3, d7=2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
float t=0, d=0;

void setup() {
  lcd.begin(16,2);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
}

void loop() {
  lcd.clear();
  digitalWrite(trig, LOW); delayMicroseconds(2);
  digitalWrite(trig, HIGH); delayMicroseconds(10);
  digitalWrite(trig, LOW);
  t = pulseIn(echo, HIGH);        // мкс
  d = t * 0.0340 / 2;             // см (340 м/с = 0.034 см/мкс)
  lcd.setCursor(0,0);
  lcd.print("Distance: ");
  lcd.print(d);
  lcd.print(" cm");
  delay(1000);
}

Как это работает

Загрузите скетч. Поднесите руку/предмет к датчику. На LCD будет отображаться расстояние в см. Меняйте дистанцию — показания обновляются раз в секунду. Датчик излучает пакет 40 кГц, фиксирует эхо, Arduino измеряет длительность импульса Echo и пересчитывает в расстояние.

Типичные ошибки и советы

Промышленные технологии

  1. Принцип работы датчиков расстояния и их ключевые применения
  2. Arduino-датчики: типы, применения и реальные проекты
  3. Как работают схемы на PIR-датчиках: проектирование, принцип работы и реальные применения
  4. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  5. Создание ультразвукового левитатора на Arduino: пошаговое руководство
  6. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  7. Умная банка на ESP8266 + Arduino: мониторинг наполненности в реальном времени
  8. Точное измерение частоты и коэффициента заполнения на Arduino UNO
  9. Сборка компактного FM-радио на Arduino Nano и RDA5807M
  10. Компактный радар на Arduino Nano с HC-SR04 и дисплеем 1.8"