#include // Danit die 433 MhZ Funkbefehle empfangen werden können RCSwitch mySwitch = RCSwitch(); #define DATA_PIN 2 // Datapin des Funkempfängers an PIN 2 int Taster; // int Merker1=1; // void setup() { pinMode(DATA_PIN, INPUT); Serial.begin(9600); mySwitch.enableReceive(0); // Receiver an Digital 2 Serial.println("rf_sniffer started"); pinMode(3, INPUT); //Der Pin 3 ist jetzt ein Eingang, Taster pinMode(4, OUTPUT); //Der Pin 4 ist jetzt ein Ausgang, Nacht pinMode(5, OUTPUT); //Der Pin 5 ist jetzt ein Ausgang, Sonne pinMode(6, OUTPUT); //Der Pin 6 ist jetzt ein Ausgang, Uhr digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); } static unsigned long count = 0; void loop() { if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); if (value == 0) { Serial.print("Unknown encoding"); } else { Serial.print("Received "); Serial.print( mySwitch.getReceivedValue() ); Serial.print(" / "); Serial.print( mySwitch.getReceivedBitlength() ); Serial.print("bit "); Serial.print("Protocol: "); Serial.println( mySwitch.getReceivedProtocol() ); } if (mySwitch.getReceivedValue() == 111111) // die 1sen stehen für den Code, den man verwenden möchte { digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); Merker1 = 1; // Nacht } if (mySwitch.getReceivedValue() == 222222) // die 2en stehen für den Code, den man verwenden möchte { digitalWrite(5, HIGH); digitalWrite(4, LOW); digitalWrite(6, LOW); Merker1 = 2; // Sonne } if (mySwitch.getReceivedValue() == 3333333) // die 3er stehen für den Code, den man verwenden möchte { digitalWrite(6, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); Merker1 = 0; // Uhr } mySwitch.resetAvailable(); count = 0; } else { if (++count == 0) Serial.println("no activity"); } Taster = digitalRead(3); //Abfrage Eingang Taster if (Taster == HIGH) { Merker1 = Merker1+1; if (Merker1 == 1) { digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); // Nacht } if (Merker1 == 2) { digitalWrite(5, HIGH); digitalWrite(4, LOW); digitalWrite(6, LOW); // Sonne } if (Merker1 == 3) { digitalWrite(6, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); // Uhr } delay (1000); if (Merker1 >= 3) Merker1 = 0; } }