Okos Konyhai Jelenlét-vezérlő ESP32-C3 és LD2410 alapokon

Ebben a bejegyzésben egy egyedi, Home Assistant nélkül is (standalone) működő jelenlét-érzékelős világításvezérlőt mutatunk be. A rendszer különlegessége a mmWave radar technológia, amely a mozdulatlan embert is érzékeli a konyhában, valamint a lágy fényerő-felúszás (PWM).

Hardver Összeállítás és Bekötés

A projekt szívét egy ESP32-C3 SuperMini adja, amely kompakt mérete ellenére beépített Wi-Fi-vel és hardveres PWM támogatással rendelkezik.

Kapcsolási rajz magyarázata:

  1. LD2410C Jelenlét Radar:
    • VCC: 5V (Stabil külső táp ajánlott!)
    • GND: Közös föld az ESP32-vel.
    • TX/RX:KRITIKUS! A keresztbe kötés szabálya szerint:
      • Szenzor TX -> ESP GPIO20 (RX)
      • Szenzor RX -> ESP GPIO21 (TX)
  2. Hőmérséklet érzékelő (NTC 10k):
    • Feszültségosztó kapcsolás: 3.3V -> NTC -> GPIO3 -> 10k Ellenállás -> GND.
  3. Világítás (Mosfet meghajtó):
    • GPIO0: Elsődleges pultvilágítás (PWM kimenet).
    • GPIO1: Másodlagos dekorfény.

ESPHome Konfiguráció (YAML)

A kód tartalmazza a webes felületet, az automatizált jelenlét-logikát és a diagnosztikai adatokat.

YAML

esphome:
  name: konyha-led-vezerlo
  friendly_name: "Konyha LED Vezérlő"

esp32:
  board: esp32-c3-devkitm-1
  variant: esp32c3
  framework:
    type: arduino

# Hálózati elérés
wifi:
  ssid: "A_TE_WIFID"
  password: "A_TE_JELSZAVAD"

# Webes kezelőfelület és távoli frissítés
web_server:
  port: 80
ota:
  - platform: esphome

# Soros kommunikáció a radarral
uart:
  tx_pin: GPIO21
  rx_pin: GPIO20
  baud_rate: 256000

ld2410:

# PWM alapú fényerő szabályzás (Fokozatos felúszás)
output:
  - platform: ledc
    pin: GPIO0
    id: led_output_1

light:
  - platform: monochromatic
    name: "Konyha pult világítás"
    output: led_output_1
    id: light_1
    default_transition_length: 1.5s  # Lágy, 1.5 mp-es bekapcsolás
    restore_mode: ALWAYS_OFF

# Szenzorok: Hőmérséklet és Radar diagnosztika
sensor:
  - platform: ntc
    sensor: resistance_sensor
    calibration:
      b_constant: 3950
      reference_temperature: 25°C
      reference_resistance: 10kOhm
    name: "Konyha hőmérséklet"
    update_interval: 30s # 30 másodperces frissítés az adatáradat ellen

  - platform: resistance
    id: resistance_sensor
    sensor: source_sensor
    configuration: DOWNSTREAM
    resistor: 10kOhm

  - platform: adc
    id: source_sensor
    pin: GPIO3
    attenuation: 12db

  - platform: ld2410
    detection_distance:
      name: "Érzékelt távolság"
    still_energy:
      name: "Jelenlét intenzitása"

# Jelenlét-alapú automatizálás
binary_sensor:
  - platform: ld2410
    has_target:
      name: "Konyhai jelenlét"
      on_press:
        then:
          - light.turn_on: 
              id: light_1
              brightness: 100%
      on_release:
        then:
          - light.turn_off: light_1

Működési elv és Funkciók

  • Standalone működés: Nem szükséges központi egység, a vezérlő önmagában dönt a világításról a beállított paraméterek alapján.
  • Web Dashboard: Az eszköz IP címét beírva a böngészőbe élőben láthatjuk a hőmérsékletet, a mozgás távolságát, és manuálisan is állíthatjuk a fényerőt.
  • Fokozatos fényerő (Soft-start): A PWM vezérlésnek köszönhetően a LED szalag nem villanásszerűen, hanem elegáns felúszással kapcsol be.
  • mmWave technológia: Az LD2410 radar képes megkülönböztetni a tényleges mozgást a statikus jelenléttől (pl. ha valaki mozdulatlanul áll a pultnál), így a fény nem alszik ki idő előtt.

Hibaelhárítási tippek a készítéshez:

  1. Hőmérséklet anomália: Ha 200°C feletti értéket mérsz, ellenőrizd a feszültségosztó ellenállását (10k szükséges, nem 100 ohm!).
  2. Radar kommunikáció: Ha a firmware verzió 0.00, cseréld meg a TX és RX kábeleket az ESP és a szenzor között.
  3. Tápellátás: A radar szenzor áramfelvétele miatt instabilitás léphet fel USB-s táplálásnál; ilyenkor használj fix 5V-os tápegységet közösített GND-vel.

Szólj hozzá!