const int ledPin = 13; int ledStatus = LOW; long vergangen = 0; long leuchtdauer = 2000; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { // es folgen die Sensor Variablen int sensorWert = 0; int sensorMittelwert = 0; int zaehlerSoll = 100; int zaehlerIst = 0 ; int eingabePin0 = 0; int Aktor = 0; int steuerwert = 0; unsigned long aktuell = millis(); if(aktuell - vergangen > leuchtdauer) { vergangen = aktuell; if (ledStatus == LOW) ledStatus = HIGH; else ledStatus = LOW; digitalWrite(ledPin, ledStatus); } if (ledStatus == HIGH) { for(zaehlerIst = 0; zaehlerIst < zaehlerSoll; zaehlerIst++) { sensorWert = analogRead(A0); // einlesen der Eingangsgroesse von Fotodiode sensorMittelwert = (sensorMittelwert*0.99 + sensorWert*0.01); //Mittelwertbildung delay(50); } Serial.println(sensorMittelwert); } // es folgt die Ermittlung der richtigen Ausgangsgröße if (sensorMittelwert > 500) Aktor = 2; else if (sensorMittelwert > 505) Aktor = 3; else if (sensorMittelwert > 510) Aktor = 4; else if (sensorMittelwert > 515) Aktor = 5; else if (sensorMittelwert > 520) Aktor = 6; else if (sensorMittelwert < 500) Aktor = 1; if (Aktor = 6){ steuerwert = 255; else if (Aktor = 5) steuerwert = 230; else if (Aktor = 4) steuerwert = 210; else if (Aktor = 3) steuerwert = 180; else if (Aktor = 2) steuerwert = 150; else if (Aktor = 1) steuerwert = 120; Serial.println(steuerwert); analogWrite(3, steuerwert); }