Inter­rupt Licht schal­ten mit Bewegungsmelder

# define BEWEGUNG_EIN 2
# define BEWEGUNG_AUS 3
# define ROT 5

void setup()
{ 
  pinMode(ROT, OUTPUT); 
  pinMode(BEWEGUNG_EIN, INPUT);   
  pinMode(BEWEGUNG_AUS, INPUT);

  /* 
    wenn eine Bewegung registriert wird 
    Signal ist HIGH -> RISING -> LEDEin 
    wenn die Wartezeit abgelaufen ist 
    Signal ist LOW -> FALLING -> LEDAus 
  */ 
  attachInterrupt(digitalPinToInterrupt(BEWEGUNG_EIN), LEDEin, RISING); 
  attachInterrupt(digitalPinToInterrupt(BEWEGUNG_AUS), LEDAus, FALLING);
}

void loop()
{
  // bleibt leer, das Programm reagiert nur auf die Interrupts
}

void LEDEin() 
{
  digitalWrite(ROT, HIGH);
}

void LEDAus() 
{
  digitalWrite(ROT, LOW);
}

Letzte Aktualisierung: 25. Jul 2023 @ 18:54