LD2410B Датчик присутствия человека

Узнайте всё о датчике присутствия человека LD2410B: характеристики, распиновка, схемы подключения, документация и примеры кода для ESP32, Arduino, Raspberry

Присутствие человека UART Bluetooth

Обзор

LD2410B — это миллиметровый радарный датчик для обнаружения присутствия человека с расширенной поддержкой конфигурации через Bluetooth. Он сохраняет возможность связи по UART, предлагая при этом удобную беспроводную настройку и отладку через BLE.

LD2410B — это радарный датчик присутствия на частоте 24 ГГц. Он позволяет обнаруживать как движущихся, так и неподвижных людей, а встроенный Bluetooth (BLE) значительно упрощает настройку чувствительности без необходимости подключения проводов.

Датчик присутствия LD2410B
Быстрая навигация
Основные разделы статьи
Примеры кода
Популярные платформы

О датчике присутствия человека LD2410B

LD2410B — это обновленная версия популярного радарного датчика миллиметрового диапазона LD2410. Он включает в себя все функции обнаружения присутствия оригинальной модели, такие как обнаружение неподвижных и движущихся людей с использованием радарной технологии 24 ГГц, добавляя при этом встроенный Bluetooth Low Energy (BLE) для беспроводной конфигурации.

Это избавляет от необходимости проводного доступа к UART во время настройки, упрощая установку и калибровку. Как и его предшественник, LD2410B идеально подходит для приложений умного дома, таких как автоматизация освещения, безопасность и системы ОВКВ. Узнать больше об оригинальном датчике можно на странице LD2410.

Где купить

Приобретите LD2410B

Технические характеристики

Характеристики LD2410B

Полные технические характеристики датчика присутствия LD2410B.

Интерфейс
UART & Bluetooth LE
Дальность
До 6 метров
Угол обзора
±60°
Питание
5V DC
Скачать полный даташит
Конфигурация пинов

Распиновка LD2410B

LD2410B имеет 5-контактный разъем для подключения питания, UART-связи и цифрового выхода. Благодаря компактному дизайну и шагу выводов 1.27 мм, он легко интегрируется в различные устройства.

Визуальная диаграмма распиновки
Схема LD2410B
Распиновка LD2410B
Всего выводов
5
Типы
Питание + UART
Быстрые советы
  • Скорость UART — 256000 бод по умолчанию.
  • Датчик 24 ГГц — обнаруживает даже дыхание человека.
  • Bluetooth — используйте приложение HiLink (HLK Radar BLE).
Описание выводов
Название Тип Описание Примечания
1 VCC Питание Вход питания (5В) Требуется стабильное 5В
2 GND Земля Подключение земли Общая земля
3 TX UART Out Передача данных UART К RX контроллера (например, GPIO16)
4 RX UART In Прием данных UART К TX контроллера (например, GPIO17)
5 OUT Digital Out Цифровой выход присутствия HIGH при обнаружении, LOW если пусто
Руководство по подключению

Подключение LD2410B к ESP32

Для взаимодействия LD2410B с ESP32 используйте интерфейс UART. Рекомендуется использовать UART2 на ESP32 (обычно GPIO16 и GPIO17), так как UART0 занят для отладки и прошивки.

Схема подключения
Рекомендуемая (UART)
Подключение LD2410B к ESP32
Подключений
4-5
Статус
4 обязательны
Протокол
UART
Подключения пинов
Вывод LD2410B Подключение Вывод ESP32 Описание
VCC обязательно VIN / 5V Питание (5В)
GND обязательно GND Общая земля
TX обязательно GPIO16 (RX2) Передача данных от датчика к ESP32
RX обязательно GPIO17 (TX2) Прием команд от ESP32 к датчику
OUT опционально GPIO18 Цифровой сигнал присутствия
📍 UART Скорость: 256000 bps 📱 Bluetooth: Приложение HiLink ⚡ Питание: 5В (минимум 200мА) 📡 Частота: 24 ГГц (FMCW) 📐 Угол: ±60° по горизонтали и вертикали
Помощь и поддержка

Устранение неполадок LD2410B

Распространённые проблемы и их решения при работе с датчиком.

Bluetooth не обнаруживается
Датчик не виден в приложении HiLink

Проблема: датчик отсутствует в списке доступных устройств BLE.

Решение: Убедитесь, что на датчик подано питание 5В. Bluetooth может отключаться, если идет активный обмен данными по UART. Попробуйте перезагрузить датчик, отключив UART‑соединение, и выполните сканирование снова.

Нет данных в Serial Monitor
ESP32 не получает ничего по UART

Решение: Проверьте правильность подключения TX/RX (TX датчика к RX контроллера). Убедитесь, что скорость UART в коде установлена на 256000 бод. Также проверьте, не подключен ли кто-то к датчику по Bluetooth — одновременная работа BLE и UART может конфликтовать на некоторых версиях прошивки.

Задержка обнаружения
Датчик реагирует слишком медленно

Причина: Неверные настройки порогов (gates) энергии.

Решение: Подключитесь через мобильное приложение и отрегулируйте чувствительность для каждой зоны (gate). Убедитесь, что перед радаром нет крупных металлических предметов или вибрирующих объектов (например, вентиляторов).

Советы по отладке

Serial монитор
Проверка сырых данных
Используйте Serial монитор со скоростью 115200 (для логов ESP32). Если данные от датчика кажутся мусором, убедитесь, что вы используете правильные пины UART и скорость 256000 бод для порта связи с датчиком.
Стабильное питание
Проверка просадок напряжения
Радарные датчики потребляют значительный ток импульсами. Если ESP32 постоянно перезагружается или Bluetooth обрывается, попробуйте запитать датчик от отдельного источника 5В или добавьте конденсатор 100-470мкФ по линии питания.

Дополнительные ресурсы

Примеры кода

Примеры программирования LD2410B

Готовые к использованию примеры кода для интеграции датчика в ваши проекты.

Пример для Arduino

Использование библиотеки ld2410

C++
#include <ld2410.h>

// Для ESP32 используем Serial2 (TX2=GPIO17, RX2=GPIO16 по умолчанию)
#define MONITOR_SERIAL Serial
#define RADAR_SERIAL Serial2
#define RADAR_BAUD 256000

ld2410 radar;

void setup() {
  MONITOR_SERIAL.begin(115200);
  // Инициализация датчика на 256000 бод
  RADAR_SERIAL.begin(RADAR_BAUD);
  
  MONITOR_SERIAL.println("\nТестирование LD2410B...");
  
  if (radar.begin(RADAR_SERIAL)) {
    MONITOR_SERIAL.println("Датчик успешно инициализирован");
  } else {
    MONITOR_SERIAL.println("Ошибка связи с датчиком");
  }
}

void loop() {
  radar.read(); // Считываем данные из буфера UART
  
  if (radar.isConnected() && millis() % 1000 == 0) { // Каждую секунду выводим статус
    if (radar.presenceDetected()) {
      MONITOR_SERIAL.print("Обнаружено: ");
      if (radar.movingTargetDetected()) {
        MONITOR_SERIAL.print("Движение (");
        MONITOR_SERIAL.print(radar.movingTargetDistance());
        MONITOR_SERIAL.print(" см) ");
      }
      if (radar.stationaryTargetDetected()) {
        MONITOR_SERIAL.print("Покой (");
        MONITOR_SERIAL.print(radar.stationaryTargetDistance());
        MONITOR_SERIAL.print(" см)");
      }
      MONITOR_SERIAL.println();
    } else {
      MONITOR_SERIAL.println("Присутствие не обнаружено");
    }
    delay(1); // Небольшая задержка для предотвращения дублирования в ту же миллисекунду
  }
}

Этот скетч использует библиотеку ld2410 для работы с датчиком на ESP32. Мы настраиваем Serial2 на скорость 256000 бод и считываем данные о движущихся и неподвижных целях.

Пример для ESPHome

Интеграция в Home Assistant

YAML
uart:
  id: uart_bus
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 256000

ld2410:
  uart_id: uart_bus

binary_sensor:
  - platform: ld2410
    has_target:
      name: "Присутствие обнаружено"
    has_moving_target:
      name: "Движение"
    has_still_target:
      name: "Неподвижная цель"

sensor:
  - platform: ld2410
    moving_distance:
      name: "Расстояние до движущейся цели"
    still_distance:
      name: "Расстояние до неподвижной цели"
    moving_energy:
      name: "Энергия движения"
    still_energy:
      name: "Энергия покоя"

Для LD2410B в ESPHome используется стандартный компонент ld2410. Настройки UART идентичны оригинальной версии. Не забудьте отключить Bluetooth-соединение в приложении, если используете UART-интеграцию.

Пример для PlatformIO

Конфигурация проекта

C++

platformio.ini

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
    iavorvel/MyLD2410 @ ^1.0.2
monitor_speed = 115200

Библиотека MyLD2410 отлично подходит для продвинутой работы с датчиком, позволяя настраивать пороги чувствительности прямо из кода контроллера.

Пример для MicroPython

Чтение сырых данных по UART

Python
from machine import UART
import time

# Инициализация UART2: TX=GPIO17, RX=GPIO16, скорость 256000
uart = UART(2, baudrate=256000, tx=17, rx=16)

def read_radar():
    while True:
        if uart.any():
            data = uart.read()
            if data:
                # В MicroPython данные выводятся как байтовая строка
                print("Сырые данные:", data)
        time.sleep(0.1)

print("Запуск чтения LD2410B...")
read_radar()

В MicroPython можно напрямую читать байтовый поток. Для полноценного разбора данных рекомендуется использовать специализированные драйверы, совместимые с форматом кадров HLK‑LD2410.

Итоги LD2410B

Датчик присутствия человека **LD2410B** — это мощное решение для точного мониторинга помещений. Благодаря поддержке Bluetooth и UART, он предлагает гибкость в настройке и надежность в работе, превосходя традиционные PIR‑датчики по возможности обнаружения неподвижных объектов.

Рекомендации

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

Безопасность

Питайте датчик точным напряжением 5В. Подача 12В или переполюсовка мгновенно выведут радар из строя. Учитывайте нагрев модуля при длительной работе.

Готовы создать умный дом?

Теперь у вас есть все инструменты, чтобы интегрировать LD2410B в свой проект. Начните с простых примеров и переходите к сложной автоматизации!