Ультразвуковой датчик MicroPython HC-SR04 — ESP32 и Thonny IDE

Ul Trazvukovoj Datcik Micropython Hc Sr04 Esp32 I Thonny Ide



MicroPython широко используется с микроконтроллерами и встроенными системами. Мы можем писать код и библиотеки внутри MicroPython IDE и взаимодействовать с несколькими датчиками. Эта запись поможет вам измерить расстояние с помощью ESP32 с датчиком HC-SR04.

ESP32 с ультразвуковым датчиком HC-SR04 с использованием MicroPython

Для сопряжения ESP32 с ультразвуком достаточно подключить два провода. Используя ультразвуковые датчики, мы можем измерять расстояние до объекта и запускать реакции на основе этой системы, такие как системы предотвращения столкновений транспортных средств.









Используя MicroPython, разработанный язык для ESP32 и других микроконтроллеров, мы можем взаимодействовать с несколькими датчиками, такими как ХК-SR04 . Будет написан код MicroPython, который вычисляет время, необходимое волне SONAR для достижения от датчика до объекта и обратно к объекту. Позже, используя формулу расстояния, мы можем рассчитать расстояние до объекта.



Вот некоторые основные особенности датчика HC-SR04:





Характеристики Ценность
Рабочее напряжение 5 В постоянного тока
Рабочий ток 15 мА
Рабочая частота 40KHz
Мой диапазон 2 см/1 дюйм
Максимальный диапазон 400 см/13 футов
Точность 3 мм
Угол измерения <15 градусов

Распиновка HC-SR04 HC-SR04 содержит следующие четыре булавки:

  • Вк: Подключитесь к пину ESP32 Vin
  • Земля: Подключиться к земле
  • Триггер: Пин для получения управляющего сигнала от платы ESP32
  • Эхо: Отправить обратный сигнал. Плата микроконтроллера получает этот сигнал для расчета расстояния по времени.



Как работает ультразвук

После подключения датчика HC-SR04 к ESP32 сигнал на Триггер PIN-код будет сгенерирован платой. Как только сигнал поступает на триггер датчика HC-SR04, генерируется ультразвуковая волна, которая покидает датчик и попадает в объект или тело препятствия. После удара он отскочит обратно к поверхности объекта.

  Изображение, содержащее текст Описание создается автоматически

Как только отраженная волна достигнет приемного конца датчика, будет сгенерирован сигнальный импульс на выводе эха. ESP32 получает сигнал эхо-сигнала и вычисляет расстояние между объектом и датчиком, используя Расстояние-Формула.

  Автоматически сгенерированное текстовое описание

Общее вычисленное расстояние должно быть разделено на два внутри кода ESP32, поскольку расстояние, которое мы получаем изначально, равно общему расстоянию от датчика до объекта и обратно до принимающего конца датчика. Таким образом, реальное расстояние — это сигнал, равный половине этого расстояния.

Схема

Ниже приведена схема взаимодействия ESP32 с ультразвуковым датчиком:

  Картинка с текстом, электроникой Описание генерируется автоматически

Подключите триггер и эхо-контакт датчика к GPIO 5 и GPIO 18 ESP32 соответственно. Также соедините контакт ESP32 GND и Vin с контактами датчика.

Ультразвуковой датчик HC-SR04 Пин ESP32
Триггер GPIO 5
Эхо GPIO 18
ЗАЗЕМЛЕНИЕ ЗАЗЕМЛЕНИЕ
ВКК ПРИЙТИ

Аппаратное обеспечение

Для программирования ультразвукового датчика необходимы следующие компоненты:

  • ESP32
  • ХК-SR04
  • Макет
  • Перемычки

  Изображение, содержащее текст Описание создается автоматически

Как настроить ультразвуковой HC-SR04 с ESP32 с помощью MicroPython

Прежде чем мы сможем запрограммировать ESP32 с ультразвуковым датчиком, нам нужно установить в него библиотеку. Подключите плату ESP32 к ПК. Следуйте инструкциям, чтобы завершить настройку ESP32 с ультразвуковым датчиком в Thonny IDE с использованием MicroPython.

Шаг 1: Теперь откройте Thonny IDE. Создайте новый файл в окне редактора Перейти к : Файл>Создать или нажмите Ctrl + Н .

После открытия нового файла вставьте следующий код в окно редактора Thonny IDE.

импорт машина , время
из машина импорт Штырь

учебный класс ХССР04:

# echo_timeout_us основан на пределе диапазона чипа (400 см)
деф __горячий__ ( себя , триггер_пин , echo_pin , echo_timeout_us знак равно 500 * два * 30 ) :

себя . echo_timeout_us знак равно echo_timeout_us
# Инициальный триггерный контакт (выходной)
себя . курок знак равно Штырь ( триггер_пин , Режим знак равно Штырь. ВНЕ , тянуть знак равно Никто )
себя . курок . ценность ( 0 )

# Инициальный эхо-пин (in)
себя . эхо знак равно Штырь ( echo_pin , Режим знак равно Штырь. В , тянуть знак равно Никто )

деф _send_pulse_and_wait ( себя ) :

себя . курок . ценность ( 0 ) # Стабилизировать датчик
время . sleep_us ( 5 )
себя . курок . ценность ( 1 )
# Отправить импульс 10 мкс.
время . sleep_us ( 10 )
себя . курок . ценность ( 0 )
пытаться :
пульс_время знак равно машина. time_pulse_us ( себя . эхо , 1 , себя . echo_timeout_us )
возвращаться пульс_время
кроме OSError в качестве бывший:
если бывший. аргументы [ 0 ] == 110 : # 110 = ВРЕМЯВЫХОД
поднимать OSError ( 'Вне диапазона' )
поднимать бывший

деф расстояние_мм ( себя ) :

пульс_время знак равно себя ._send_pulse_and_wait ( )

мм знак равно пульс_время * 100 // 582
возвращаться мм

деф расстояние_см ( себя ) :

пульс_время знак равно себя ._send_pulse_and_wait ( )

смс знак равно ( пульс_время / два ) / 29.1
возвращаться смс

Шаг 2: После написания библиотека код внутри окна редактора, теперь мы должны сохранить его внутри устройства MicroPython.

  Текст, описание приложения генерируется автоматически

Шаг 3: Перейти к : Файл>Сохранить или нажмите Ctrl + С .

  Графический пользовательский интерфейс, приложение, описание Teams генерируется автоматически

Шаг 4: Появится новое окно. Убедитесь, что ESP32 подключен к ПК. Выберите устройство MicroPython для сохранения файла библиотеки.

  Графический пользовательский интерфейс, описание приложения генерируется автоматически

Шаг 5: Сохраните файл ультразвуковой библиотеки с именем hcsr04.py и нажмите ХОРОШО .

  Графический пользовательский интерфейс, описание приложения генерируется автоматически

Теперь библиотека ультразвуковых датчиков hcsr04 успешно добавлена ​​на плату ESP32. Теперь мы можем вызывать библиотечные функции внутри кода для измерения расстояния до различных объектов.

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

Для кода ультразвукового датчика создайте новый файл ( Ctrl + Н ). В окне редактора введите приведенный ниже код и сохраните его внутри main.py или же boot.py файл. Этот код напечатает расстояние до любого объекта, который находится перед HC-SR04.

  Графический пользовательский интерфейс, текст, описание приложения генерируется автоматически

Код начался с вызова важных библиотек, таких как HCSR04 а также время библиотека вместе с спать давать отсрочки.

Далее мы создали новый объект с именем датчик . Этот объект принимает три разных аргумента: триггер, эхо и тайм-аут. Здесь тайм-аут определяется как максимальное время после выхода датчика за пределы диапазона.

датчик знак равно HCSR04 ( триггер_пин знак равно 5 , echo_pin знак равно 18 , echo_timeout_us знак равно 10000 )

Для измерения и сохранения расстояния новый объект с именем расстояние создано. Этот объект сохранит расстояние в см.

расстояние знак равно датчик. расстояние_см ( )

Напишите следующий код, чтобы получить данные в мм.

расстояние знак равно датчик. расстояние_мм ( )

Затем мы напечатали результат в оболочке MicroPython IDE.

Распечатать ( 'Расстояние:' , расстояние , 'см' )

В конце дается задержка 1 сек.

спать ( 1 )

Полный код приведен ниже:

из hcsr04 импорт HCSR04
из время импорт спать
# ЕСП32
датчик знак равно HCSR04 ( триггер_пин знак равно 5 , echo_pin знак равно 18 , echo_timeout_us знак равно 10000 )
# ESP8266
#sensor = HCSR04(trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
пока Истинный :
расстояние знак равно датчик. расстояние_см ( )
Распечатать ( 'Расстояние:' , расстояние , 'см' )
спать ( 1 )

После написания и сохранения кода внутри устройства MicroPython я запускаю ультразвуковой датчик. main.py код файла. Нажмите кнопку воспроизведения или нажмите F5 .

  Графический пользовательский интерфейс, текст, приложение, чат или текстовое сообщение Описание генерируется автоматически

Выход ультразвукового датчика при приближении объекта

Теперь поместите объект рядом с ультразвуковым датчиком и проверьте измеренное расстояние в окне серийного монитора Arduino IDE.

  Изображение, содержащее текст Описание создается автоматически

Расстояние до объекта отображается в терминале оболочки. Теперь объект находится на расстоянии 5 см от ультразвукового датчика.

Выход ультразвукового датчика, когда объект находится далеко

Теперь, чтобы проверить наш результат, мы поместим объекты далеко от датчика и проверим работу ультразвукового датчика. Разместите объекты, как показано на изображении ниже:

  Изображение, содержащее текст Описание создается автоматически

Окно вывода даст нам новое расстояние, и, как мы видим, объект находится далеко от датчика, поэтому измеренное расстояние составляет прибл. 15 см от ультразвукового датчика.

  Графический пользовательский интерфейс, приложение, словесное описание автоматически генерируется

Вывод

Измерение расстояния имеет большое применение, когда речь идет о робототехнике и других проектах, существуют разные способы измерения расстояния. HC-SR04 с ESP32 может измерять расстояние до различных объектов. Здесь в этой статье будут рассмотрены все шаги, необходимые для интеграции и начала измерения расстояния с помощью ESP32.