Hallo
Ich vermute, du vermischt die boolschen Variablen HIGH und LOW mit den Werten von lightLevel die du in den Variablen high und low speicherst:
(ungetestet)Code:// Netzwerkkamera const int switchPin = 2; const int camPin = 3; // LED SENSOR const int sensorPin = 0; const int ledPin = 4; int state; // Variable für Operation1 = Netzwerkkammera Ein / Aus int lastState; // Variable für Operation1 = Netzwerkkammera Ein / Aus int ledState; // Variable für Operation1 = Netzwerkkammera Ein / Aus int lightLevel, lightLevel_high = 0, lightLevel_low = 1023; // Variable für Operation2 = LED Sensor void setup() { pinMode(camPin, OUTPUT); pinMode(ledPin, OUTPUT); pinMode(switchPin, INPUT); Serial.begin(9600); } void Operation1() // Netzwerkkamera Ein / Aus { state = digitalRead(switchPin); if (state != lastState) { if (ledState == HIGH) { ledState = LOW; Serial.println("LED AUS"); } else { ledState = HIGH; Serial.println("LED EIN"); } lastState = state; } digitalWrite(ledPin, ledState); delay(20); } // ---------------------------------------- void Operation2() // LED SENSOR { lightLevel = analogRead(sensorPin); analogWrite(ledPin, lightLevel); if (lightLevel < lightLevel_low) { lightLevel_low = lightLevel; } if (lightLevel > lightLevel_high) { lightLevel_high = lightLevel; } lightLevel = map(lightLevel, lightLevel_low+30, lightLevel_high-30, 0, 255); lightLevel = constrain(lightLevel, 0, 255); } void loop() { Operation1(); // Netzwerkkamera ein und aus schalten Operation2(); // Sensor steuert LED }
Gruß
mic







Zitieren

Lesezeichen