Alarmanlage mit Arduino UNO

Kurz zur Funktion:

Zum Aufbau:

Die Beschaltung:

Der Programmcode:
				
					
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
int Summer = 12;
int LEDrot = 9;
int LEDgruen = 8;
int bewegung1 = 10;
int bewegungsstatus1 = 0;
int bewegung2 =11;
int bewegungsstatus2 = 0;

boolean alarmEIN = false;


void setup() {
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
 
  mySwitch.enableTransmit(3);  // Transmitter is connected to Arduino Pin #3 
  pinMode(Summer, OUTPUT);
  pinMode(LEDrot, OUTPUT);
  pinMode(LEDgruen, OUTPUT);
  pinMode(bewegung1, INPUT);
  pinMode(bewegung2, INPUT);
}

void loop() {
  if (mySwitch.available()) {

    long value = mySwitch.getReceivedValue();

    if (value == 4210709) {
      alarmEIN = true;
      digitalWrite(LEDrot, HIGH);
      delay(100);
      digitalWrite(LEDrot, LOW);
      delay(100);
    }
    if (value == 4210708) {
      alarmEIN = false;
      digitalWrite(LEDgruen, HIGH);
      delay(100);
      digitalWrite(LEDgruen, LOW);
      delay(100);
    }
    mySwitch.resetAvailable();
  }


  if (alarmEIN == true)
  {

    bewegungsstatus1 = digitalRead(bewegung1);
    bewegungsstatus2 = digitalRead(bewegung2);

    if (bewegungsstatus1 || bewegungsstatus2 == HIGH)
    {
      mySwitch.send(1130517, 24);
      for (int i = 0; i < 50; i++) {
        if (mySwitch.available()) {

          long value = mySwitch.getReceivedValue();
          if (value == 4210708) {
            alarmEIN = false;
            digitalWrite(LEDgruen, HIGH);
            delay(100);
            digitalWrite(LEDgruen, LOW);
            delay(100);
            break;
          }
          mySwitch.resetAvailable();
        }
        digitalWrite(Summer, HIGH);
        delay(2000);
        digitalWrite(Summer, LOW);
        delay(500);
      }
    }
    else
    {
      digitalWrite(Summer, LOW);
    }
  }

}
				
			
Folgende Bauteile wurden verwendet:

Jetzt im Onlineshop