unsigned long last =0;//variable für millis
int status =0;// variable für alarm status
void setup(){
pinMode(13, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, INPUT_PULLUP);
Serial.begin(9600);
}
void alarm(){ //operation alarm
static unsigned long last = 0; //static damit die variable nicht wieder auf 0 gesetzt wird
if (millis() - last >=1000){ //wird dadurch jede sek ausgeführt
last = millis();
status = status +1;} // bei jedem durchlauf wird status um 1 erhöht
}
void loop(){
if (digitalRead(9) == 1) // wenn dere alarm eingeschaltet ist
if (analogRead(A0) >= 500) // und wenn der lichtsensor licht misst
alarm(); // wird die operation alarm ausgeführt
if (status >= 5) // wenn status größer als 5 ist wird jede sekunde die lampe eingeschaltet, und nach 0,25sek wieder ausgeschlatet
if (millis() - last >1000){
last = millis();
digitalWrite(13, HIGH);}
delay(250);
digitalWrite(13, LOW);
if (digitalRead(9) == 0) status = 0; //wenn der alarm ausgeschlatet wird, wird status wieder auf null gesetzt
Serial.println(status);
Serial.println(analogRead(A0));
Serial.println(digitalRead(9));
}