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

Ультразвуковой дальномер HC-SR04 предназначен для измерения расстояния от устройства до объекта. Работа модуля основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, не сложно вычислить расстояние до препятствия. Поскольку в основе работы устройства используется ультразвук, модуль плохо подходит для определения расстояния до звукопоглощающих объектов. Для идеального измерения расстояния поверхность объекта должна быть ровной и гладкой. В этой статье мы подключим ультразвуковой дальномер HC-SR04 к Arduino.

Схема подключения HC-SR04 к Arduino

Подключение ультразвукового датчика расстояния HC-SR04 к Arduino достаточно просто. Схема подключения показана на рисунке.
Схема подключения HC-SR04 к ArduinoКонтакт земли подключаем к выводу GND на плате Arduino, вывод питания соединяем с 5V. Trig и Echo подсоединяем к цифровым пинам платы.

Arduino HC-SR04
VCC Vcc
13 Trig
12 Echo
GND Gnd

Пример скетча

Ну а теперь после подключения ультразвуковой дальномера HC-SR04 к Arduino разберемся с программной частью. Для начала мы используем простой скетч, который поможет нам определить расстояние до объекта в сантиметрах без использования библиотек.

Результат

Подключение ультразвукового дальномера HC-SR04 к Arduino - Результат

Установка библиотеки HC-SR04

Количество строк кода можно существенно уменьшить, используя библиотеку HCSR04 для работы с дальномером. Библиотеку можно установить из самой среды следующим образом:

  1. В Arduino IDE открываем менеджер библиотек: Скетч->Подключить библиотеку->Добавить .ZIP библиотеку…Подключение дальномера HC-SR04 к Arduino - Добавить .ZIP библиотеку...
  2. Выбираем .ZIP архив (HCSR04.zip) и кликаем Open/Открыть.Подключение дальномера HC-SR04 к Arduino - Выбор архива .ZIP
  3. Библиотека установлена.Подключение дальномера HC-SR04 к Arduino - Библиотека Добавлена.

Описание методов библиотеки HCSR04.zip

HCSR04(uint8_t, uint8_t, unsigned long)

Конструктор для создания экземпляра класса, первый параметр это номер trig пина, второй — echo, третий — timeout в микросекундах.

begin()

Инициализация HC-SR04.

getDistanceMm()

Возвращает расстояние в миллиметрах.

getDistanceCm()

Возвращает расстояние в сантиметрах.

getDistanceInch()

Возвращает расстояние в дюймах.

getDistanceMmFloat()

Возвращает расстояние в миллиметрах. Тип возвращаемых данных float.

getDistanceCmFloat()

Возвращает расстояние в сантиметрах. Тип возвращаемых данных float.

getDistanceInchFloat()

Возвращает расстояние в дюймах. Тип возвращаемых данных float.

getDuration()

Это частный метод, который возвращает продолжительность в микросекундах — прошедшее время до объекта/препятствия и обратно.

Пример скетча

Проверить работоспособность библиотеки можно следующим примером:

Результат

Подключение HC-SR04 к Arduino - Результат используя библиотеку HCSR04.zip

Подключение HC-SR04 к Arduino и вывод на LCD1602

Чтобы не использовать компьютер для вывода информации, мы будем вывести данные о расстоянии на ЖКИ, в моём случае — это LCD1602 (два ряда по 16 символов). Лучше всего использовать PCF8574 — I2C модуль для LCD на базе HD44780. Подробнее в статье Подключение LCD1602 к Arduino по I2C (HD44780/PCF8574).

Схема подключения LCD1602 и HC-SR04 к Arduino

Схема подключения I2C PCF8574 LCD1602 и HC-SR04 к ArduinoПодключение HC-SR04 к Arduino:

Arduino Pro Mini HC-SR04
VCC Vcc
13 Trig
12 Echo
GND Gnd

Подключение LCD1602 к Arduino:

Arduino Pro Mini LCD I2C модуль
GND GND
5V VCC
A4 SDA
A5 SCL

Пример скетча

Результат

Подключение HC-SR04 к Arduino и вывод на LCD1602 по I2C- Результат

Материалы

Подключение LCD1602 к Arduino по I2C (HD44780/PCF8574)
HC-SR04 — ультразвуковой датчик расстояния
datasheets_HCSR04.pdf

Похожие записи

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

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