#include //int zeit = 0; //unsigned long time; const int RECV_PIN = 7; //Datenpin des IR-Sensors IRrecv irrecv(RECV_PIN); decode_results results; int ausmachen_taster = 3; int anmachen_taster = 6; int runterfahren = 5; int Netz_trennen = 2; void setup() { irrecv.enableIRIn(); Serial.begin(9600); // make the pushbutton's pin an input: pinMode(ausmachen_taster, INPUT); pinMode(anmachen_taster, INPUT); pinMode(runterfahren, OUTPUT); pinMode(Netz_trennen, OUTPUT); digitalWrite(Netz_trennen,0); //Versorgungsspannung getrennt } void loop() { if (irrecv.decode(&results)) { if(results.value==2412148348){ Serial.println("AUS_Fernbedienung"); digitalWrite(runterfahren,1); //Signal zum runterfahren delay(4000);//warten für aussignal digitalWrite(runterfahren,0); delay(10000);//warten das RPi herruntergefahren ist digitalWrite(Netz_trennen,0); //Versorgungsspannung getrennt digitalWrite(runterfahren,0); } if(results.value==71972724){ Serial.println("AN_Fernbedienung"); digitalWrite(Netz_trennen,1); //Versorgungsspannung herstellen delay(1000); } irrecv.resume(); } int buttonState1 = digitalRead(ausmachen_taster); if(buttonState1 == 1){ Serial.println("AUSMACHEN"); digitalWrite(runterfahren,1); // //delay(1000); //zeit++; //Serial.println(zeit); // delay(2000);//warten für aussignal if(digitalRead(ausmachen_taster) == 0){ Serial.println("Nicht vom Netz trennen"); digitalWrite(runterfahren,0);//RPi bleribt an } if(digitalRead(ausmachen_taster) == 1){ delay(1000);//warten für aussignal if(digitalRead(ausmachen_taster) == 0){ Serial.println("Nicht vom Netz trennen"); digitalWrite(runterfahren,0);//RPi bleribt an } if(digitalRead(ausmachen_taster) == 1){ delay(1000); Serial.println("Taster bleibt 4s gedrueckt"); if(digitalRead(ausmachen_taster) == 1){ digitalWrite(runterfahren,0); Serial.println("Netztrennen beginnt"); delay(10000);//warten das RPi herruntergefahren ist digitalWrite(Netz_trennen,0); //Versorgungsspannung getrennt Serial.println("Netztrennen"); } if(digitalRead(ausmachen_taster) == 0){ Serial.println("wird nur herrunter gefahren"); digitalWrite(runterfahren,0);//RPi bleibt an } } } } if (buttonState1 == 0){ digitalWrite(runterfahren,0);//RPi bleibt an } int buttonState2 = digitalRead(anmachen_taster); if (buttonState2 == 1){ Serial.println("ANMACHEN"); digitalWrite(Netz_trennen,1); //Versorgungsspannung herstellen delay(1000); } delay(1); }