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:
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
}
(ungetestet)
Gruß
mic
Lesezeichen