Найти в Дзене
Заметки кота

Радар присутствия человека LD2410 на ESP32

В этой статье мы рассмотрим проект создания устройства для мониторинга пространства с использованием современного радарного датчика LD2410, микроконтроллера ESP32 и OLED-дисплея. LD2410 — это 24-ГГц mmWave (миллиметровый) радар-модуль, предназначенный для обнаружения человеческого присутствия и движения. В отличие от обычных PIR-датчиков, которые реагируют лишь на тепловое движение, LD2410 обладает рядом преимуществ: Проект строится на базе микроконтроллера ESP32. Для взаимодействия используются аппаратные интерфейсы I2C и UART, а также GPIO пины для управления кнопками и энкодером. 1. Дисплей OLED (SSD1306, 128x64, I2C): 2. Радарный датчик LD2410 (UART Serial 2): 3. Ротационный энкодер (Rotary Encoder), в рассматриваемом проекте не обязателен: 4. Дополнительные кнопки, в рассматриваемом проекте не обязательны: Программный код реализует цикл опроса датчика и вывод информации на экран. Исходный код:
https://gist.github.com/IvanBiv/e9519d819bd6f30971d27c847e1d4c04
Оглавление

В этой статье мы рассмотрим проект создания устройства для мониторинга пространства с использованием современного радарного датчика LD2410, микроконтроллера ESP32 и OLED-дисплея.

Датчик LD2410

LD2410 — это 24-ГГц mmWave (миллиметровый) радар-модуль, предназначенный для обнаружения человеческого присутствия и движения. В отличие от обычных PIR-датчиков, которые реагируют лишь на тепловое движение, LD2410 обладает рядом преимуществ:

  1. Обнаружение неподвижных объектов: Датчик способен видеть человека, даже если он сидит неподвижно (например, читает книгу или работает за компьютером), что критически важно для систем умного дома.
  2. Измерение расстояния: Радар определяет не только факт наличия человека, но и расстояние до него (в сантиметрах).
  3. Разделение целей: Модуль различает движущиеся и статичные цели, позволяя более гибко настраивать логику работы.
  4. Высокая помехоустойчивость: Он не срабатывает от домашних животных, колебаний штор или изменений освещения.
-2
-3

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

Проект строится на базе микроконтроллера ESP32. Для взаимодействия используются аппаратные интерфейсы I2C и UART, а также GPIO пины для управления кнопками и энкодером.

1. Дисплей OLED (SSD1306, 128x64, I2C):

  • SDA -> GPIO 21
  • SCL -> GPIO 22
  • Адрес I2C: 0x3C

2. Радарный датчик LD2410 (UART Serial 2):

  • TX датчика -> GPIO 16 (RX2 ESP32)
  • RX датчика -> GPIO 17 (TX2 ESP32)
  • Скорость обмена: 256000 бод

3. Ротационный энкодер (Rotary Encoder), в рассматриваемом проекте не обязателен:

  • CLK (A) -> GPIO 26
  • DT (B) -> GPIO 25
  • SW (Кнопка) -> GPIO 27

4. Дополнительные кнопки, в рассматриваемом проекте не обязательны:

  • Кнопка «Confirm» -> GPIO 32
  • Кнопка «Back» -> GPIO 33

Основные возможности устройства

Программный код реализует цикл опроса датчика и вывод информации на экран.

  • Отображение данных: На OLED-экран выводится статус обнаружения. Если цель не найдена (человек не обнаружен), надпись на экране "No target". Если радар обнаружил человека (движущегося или неподвижного), отображается расстояние до него в метрах.
  • Управление отображением: Вертикальное положение текста можно регулировать с помощью дополнительных кнопок (GPIO 32 и 33).
  • При нажатии на кнопку энкодера изменяется размер шрифта текста на дисплее.
-4

Исходный код:

https://gist.github.com/IvanBiv/e9519d819bd6f30971d27c847e1d4c04