Bevægelsessensor med ESP32

Bevægelsessensor med ESP32

Bevægelsessensorer er grundstenen i smart home automatisering. Lyset tænder når du går ind i rummet og slukker når du går. Simpelt koncept, men det ændrer hvordan du bruger dit hjem.

Jeg har sensorer i næsten alle rum. Gangen, badeværelset, køkkenet. Det føles underligt at skulle tænde lys manuelt andre steder nu.

PIR vs Radar

Der er to hovedtyper bevægelsessensorer:

PIR (Passive Infrared)

  • Registrerer varmeændringer (mennesker, dyr)
  • Billig (10-20 kr)
  • Bruges i de fleste kommercielle sensorer
  • Virker ikke gennem glas eller vægge

Ulemper: Kan ikke detektere stillestående personer. Sidder du stille længe nok, tror den rummet er tomt.

Radar (mmWave/Microwave)

  • Sender radiobølger og måler refleksioner
  • Dyrere (50-200 kr)
  • Kan detektere selv små bevægelser (vejrtrækning)
  • Virker gennem tynde vægge og glas

Ulemper: Kan give falske positiver fra ventilatorer, gardiner, kæledyr uden for rummet.

Til de fleste formål er PIR fin. Radar er bedre til rum hvor du sidder stille længe (kontor, stue).

PIR sensor setup

Den klassiske HC-SR501 koster næsten ingenting og virker fint.

Forbindelse

HC-SR501    ESP32
--------    -----
VCC    -->  5V (eller VIN)
OUT    -->  GPIO27
GND    -->  GND

Bemærk: HC-SR501 kører på 5V men giver 3.3V output, så den er sikker at forbinde direkte til ESP32.

Justeringer på modulet

HC-SR501 har to potentiometre:

  • Sensitivity - Hvor lille bevægelse der skal til
  • Time delay - Hvor længe output er HIGH efter bevægelse

Til ESPHome vil du typisk have:

  • Sensitivity: Medium til høj
  • Time delay: Minimum (vi styrer timing i software)

Der er også en jumper:

  • H - Retriggering (output forbliver HIGH ved kontinuerlig bevægelse)
  • L - Single trigger (én puls per bevægelse)

Sæt den til H for de fleste anvendelser.

ESPHome konfiguration

binary_sensor:
  - platform: gpio
    pin: GPIO27
    name: "Stue Bevægelse"
    device_class: motion
    filters:
      - delayed_off: 10s

delayed_off: 10s betyder at sensoren rapporterer “ingen bevægelse” først 10 sekunder efter sidste bevægelse. Juster efter behov.

Radar sensor setup

LD2410 er en populær radar sensor. Den kan endda måle afstand til personen og skelne mellem bevægelse og tilstedeværelse.

Forbindelse

LD2410     ESP32
------     -----
VCC   -->  5V
GND   -->  GND
TX    -->  GPIO16 (RX på ESP32)
RX    -->  GPIO17 (TX på ESP32)
OUT   -->  GPIO27 (valgfrit, simpel on/off)

ESPHome konfiguration

LD2410 har dedikeret ESPHome-integration:

uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 256000

ld2410:

binary_sensor:
  - platform: ld2410
    has_target:
      name: "Kontor Tilstedeværelse"
    has_moving_target:
      name: "Kontor Bevægelse"
    has_still_target:
      name: "Kontor Stillestående"

sensor:
  - platform: ld2410
    moving_distance:
      name: "Kontor Bevægelse Afstand"
    still_distance:
      name: "Kontor Stillestående Afstand"

Med radar får du både bevægelse OG tilstedeværelse. Perfekt til kontorer hvor du sidder stille.

Automatisering

Her er den klassiske automation for lys ved bevægelse:

automation:
  - alias: "Lys ved bevægelse i gang"
    trigger:
      - platform: state
        entity_id: binary_sensor.gang_bevaegelse
        to: "on"
    condition:
      - condition: numeric_state
        entity_id: sensor.gang_lysniveau
        below: 50
    action:
      - service: light.turn_on
        target:
          entity_id: light.gang
        data:
          brightness_pct: 100
          
  - alias: "Sluk lys i gang"
    trigger:
      - platform: state
        entity_id: binary_sensor.gang_bevaegelse
        to: "off"
        for:
          minutes: 2
    action:
      - service: light.turn_off
        target:
          entity_id: light.gang

Tips:

  • Brug for: på sluk-automationen så lyset ikke blinker
  • Tjek lysniveau så lyset ikke tænder i dagtimerne
  • Overvej forskellige lysstyrker dag/nat

Placering

Placering betyder alt for en god oplevelse:

Gør:

  • Monter i hjørne for bredest mulig dækning
  • Peg sensoren mod hvor folk kommer fra
  • Test dækningen før permanent montering

Undgå:

  • Direkte sollys på PIR sensoren
  • Varmekilder i synsfeltet (radiatorer, komfur)
  • For høj montering (PIR har begrænset nedadgående vinkel)

PIR sensorer har typisk 110-120° synsvinkel vandret og 60-80° lodret.

Multi-sensor

En ESP32 kan sagtens have flere sensorer. Kombiner bevægelse med temperatur og lys:

binary_sensor:
  - platform: gpio
    pin: GPIO27
    name: "Stue Bevægelse"
    device_class: motion

sensor:
  - platform: bme280_i2c
    temperature:
      name: "Stue Temperatur"
    humidity:
      name: "Stue Fugtighed"
    
  - platform: bh1750
    name: "Stue Lysniveau"
    address: 0x23

Én enhed, tre funktioner, under 150 kr i dele.

Fejlfinding

PIR trigger konstant

  • For høj følsomhed - skru ned på potentiometeret
  • Varmekilde i synsfeltet
  • Defekt sensor (de er billige, køb en ny)

PIR reagerer ikke

  • Tjek at OUT giver 3.3V ved bevægelse (brug multimeter)
  • Opvarmningstid - PIR sensorer skal bruge 30-60 sekunder efter power-on
  • Forkert GPIO pin

Radar for sensitiv

  • LD2410 kan konfigureres via Bluetooth app eller ESPHome
  • Reducer sensitivitet for still target
  • Tilføj filter i ESPHome: delayed_on: 1s

Næste skridt

Med bevægelsessensorer kan du:

Bevægelsessensorer er gateway-drogen til smart home. Nu vil du have dem alle steder.