ESP32 Урок 32/55 - Предупреждение о дистанции при движении задним ходом с ЖК-дисплеем и зуммером | Обучающий набор SunFounder для Интернета вещей
В этом руководстве мы создадим систему помощи при движении задним ходом с использованием микроконтроллера ESP32, ультразвукового датчика расстояния, ЖК-дисплея и зуммера. Этот проект будет предупреждать вас о расстоянии до препятствий при движении задним ходом, при этом частота звукового сигнала зуммера будет меняться в зависимости от близости препятствия. Вы узнаете, как подключить компоненты, написать код и ожидать, что система будет эффективно работать для вашего автомобиля.
При реализации этого проекта ESP32 будет обрабатывать показания датчика и управлять зуммером и ЖК-дисплеем. Ультразвуковой датчик будет измерять расстояние до любых препятствий, а зуммер будет обеспечивать звуковую обратную связь на основе этого расстояния. ЖК-дисплей будет отображать измеренное расстояние, позволяя видеть показания в реальном времени. Для более четкого понимания настройки обязательно посмотрите видео (на видео в 00:00).
Объяснение аппаратного обеспечения
Ключевые компоненты этого проекта включают микроконтроллер ESP32, ультразвуковой датчик расстояния, ЖК-дисплей и зуммер. ESP32 — это мощный микроконтроллер со встроенными возможностями Wi-Fi и Bluetooth, что делает его идеальным для проектов Интернета вещей. Ультразвуковой датчик измеряет расстояния, излучая звуковые волны и рассчитывая время, необходимое для возвращения эха. ЖК-дисплей будет отображать измеренное расстояние, а зуммер будет обеспечивать звуковые предупреждения в зависимости от близости.
Каждый компонент играет решающую роль в обеспечении правильной работы помощника при движении задним ходом. Понимание того, как эти части работают вместе, поможет вам устранить любые проблемы, которые могут возникнуть в процессе сборки. Проект использует вычислительную мощность ESP32 для эффективного управления данными датчика и управления выходами.
Детали из технического описания
| Производитель | Espressif Systems |
|---|---|
| Номер детали | ESP32 |
| Логическое/IO напряжение | 3,3 В |
| Напряжение питания | 5 В (макс.) |
| Выходной ток (на канал) | 40 мА |
| Пиковый ток (на канал) | 160 мА |
| Рекомендации по частоте ШИМ | 1 кГц - 40 кГц |
| Пороговые значения входной логики | 0,3 ВКК (низкий), 0,7 ВКК (высокий) |
| Падение напряжения / RDS(on) / насыщение | 0,2 В (тип.) |
| Тепловые пределы | Рабочая температура: от -40°C до 85°C |
| Корпус | QFN48 |
| Примечания / варианты | Доступны различные модули ESP32 |
- Обеспечьте правильное питание, чтобы избежать повреждений.
- Используйте резистор с зуммером для ограничения тока.
- Держите сигнальные провода короткими, чтобы уменьшить помехи.
- При необходимости используйте подтягивающие резисторы для цифровых входов.
- Будьте осторожны с максимальным диапазоном ультразвукового датчика.
Инструкции по подключению

Чтобы подключить компоненты для проекта, начните с подключения ультразвукового датчика. Подключите контакт VCC датчика к линии питания 5 В, а контакт GND к земле. Контакт Trig должен быть подключен к контакту 26 на ESP32, а контакт Echo должен быть подключен к контакту 25.
Затем подключите зуммер, соединив его положительный вывод с контактом 14 на ESP32, а отрицательный вывод с землей. Для ЖК-дисплея подключите контакт VCC к линии 5 В, а контакт GND к земле. Контакты SDA и SCL ЖК-дисплея должны быть подключены к контактам 21 и 22 соответственно. Убедитесь, что все соединения надежны, чтобы избежать обрывов во время работы.
Примеры кода и пояснения
В коде вы найдете ключевые идентификаторы, такие как distance, который хранит измеренное расстояние от ультразвукового датчика. Эта переменная непрерывно обновляется в цикле, чтобы отражать текущее расстояние. Контакт зуммера определен как buzzerPin, что позволяет легко управлять его состоянием.
const int triggerPin = 26; // Контакт Trig для ультразвукового датчика
const int echoPin = 25; // Контакт Echo для ультразвукового датчика
const int buzzerPin = 14; // Контакт зуммера
Эти константы определены в начале кода для ясности и простоты настройки. Контакты Trig и Echo используются для связи с ультразвуковым датчиком, а контакт зуммера управляет звуковым выходом.
void setup() {
pinMode(triggerPin, OUTPUT); // Установить контакт Trig как выход
pinMode(echoPin, INPUT); // Установить контакт Echo как вход
pinMode(buzzerPin, OUTPUT); // Установить контакт зуммера как выход
}
В функции setup() мы настраиваем режимы контактов для ультразвукового датчика и зуммера. Это гарантирует, что ESP32 сможет правильно взаимодействовать с аппаратными компонентами во время работы.
void loop() {
distance = readDistance(); // Вызов функции для чтения расстояния
if (distance <= 10) {
beep(100); // Быстрый сигнал для близкого расстояния
} else if (distance <= 20) {
beep(500); // Средний сигнал для умеренного расстояния
} else {
beep(2000); // Медленный сигнал для безопасного расстояния
}
}
Функция loop() непрерывно считывает расстояние и регулирует частоту звуковых сигналов зуммера в зависимости от значения. Функция beep() вызывается с разными интервалами в зависимости от того, насколько близко находится препятствие.
Демонстрация / Что ожидать
После того как всё подключено и код загружен, можно ожидать, что система будет издавать звуковые сигналы с разными интервалами в зависимости от расстояния до препятствия. Когда расстояние меньше 10 см, зуммер будет пищать быстро, а при расстоянии более 50 см сигнал будет медленным. Обязательно протестируйте систему, поместив руку перед ультразвуковым датчиком, чтобы увидеть изменения показаний расстояния и соответствующие частоты сигналов (на видео на отметке 12:30).
Временные метки видео
- 00:00 Начало
- 2:08 Введение и документация
- 4:12 Объяснение подключения
- 13:17 Код Arduino
- 21:01 Выбор платы ESP32 и COM-порта в Arduino IDE
- 22:48 Демонстрация в лаборатории
- 24:54 Демонстрация на автомобиле
Common Course Links
Common Course Files
Вещи, которые могут вам понадобиться
-
АмазонкаКупите LCD1602-I2C на Amazonamzn.to
-
eBayКупить LCD1602-I2C на eBayebay.us
-
АлиЭкспрессКупите 10 шт. LCD1602-I2C на AliExpresss.click.aliexpress.com
-
АлиЭкспрессКупите LCD1602-I2C на AliExpress.s.click.aliexpress.com
Ресурсы и ссылки
-
ДокументацияESP32 Учебник 32/55 - страница документа SunFounder для помощи в реверсированииdocs.sunfounder.com
Файлы📁
Файл Fritzing
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB