Hallo,
ich möchte anhand eines Lichtsensors ein Relais (dieses) ansteuern.
Das funktioniert soweit auch, allerdings schaltet das Relais beim einschalten der Stromversorgung des Arduinos/hochladen des Programms zunächst ein paar mal schnell hintereinander ein und aus. Das möchte ich nach Möglichkeit eigentlich vermeiden.
Gibt es da eine Lösung, entweder mit Code oder elektronisch?
const int Photometer = A0;
const int LED = 11;
const int Relais = 13;
void setup() {
analogReference(EXTERNAL);
Serial.begin(9600);
pinMode(LED, OUTPUT);
analogWrite(LED, 255);
pinMode(Relais, OUTPUT);
}
void loop() {
float average;
average = AverageCalc(5);
Serial.println(average);
SteerRelais(average, 1000);
}
float GetLux() {
float raw;
float logLux;
raw = analogRead(Photometer);
logLux = raw * 5 / 1024;
return pow(10, logLux);
}
float AverageCalc(int divisor) {
int i;
int average = 0;
for (i = 0; i < divisor; i++){
average = average + GetLux;
delay (2); // wait for the analog-digital converter to stabilize
}
average = average / divisor;
return average;
}
void SteerRelais(float average, float threshold) {
if (average > threshold) {
digitalWrite(Relais, HIGH);
}
else {
digitalWrite(Relais, LOW);
}
}
Danke schonmal