Hab den Fehler gefunden, LDR steckte nicht auf 5V sondern auf dem leeren Pin davor, nun gehts.
Hab mal 800 als Schwellenwert angegeben und muss es mal in der Fahrzeughalle testen am Tag.
Habe den sketch mal um das zweite Relais erweitert und es funktioniert.
// Schalten eines Relais bei "Alarm"
//
// Falls ein 'A' über die serielle Schnittstelle empfangen wird,
// wird ein LDR ausgewertet. Bei "Dunkelheit" wird der "relaisPin"
// für eine bestimmte Dauer auf LOW geschalten.
const int ldrSchwellwert = 800; // Wert wurde "experimentell" für meinen LDR ermittelt
const int stromstossDauer = 800; // gewünschte Stromstoß-Dauer (Millisekunden)
const byte relaisPin1 = 3;
const byte relaisPin2 = 2;
const byte ldrPin = A0;
void setup() {
Serial.begin(9600);
digitalWrite(relaisPin1, HIGH); // Das Relais-Modul ist "active LOW". Dies ist ein "Trick", damit es bei Reset nicht einschaltet.
digitalWrite(relaisPin2, HIGH);
pinMode(relaisPin1, OUTPUT);
pinMode(relaisPin2, OUTPUT);
}
void loop() {
if (Serial.available()) { // wenn Zeichen auf der seriellen Schnittstelle empfangen wurden...
int inbyte = Serial.read(); // ein Zeichen lesen
if (inbyte == 'A') { // falls das Zeichen ein A ist...
if (analogRead(ldrPin) < ldrSchwellwert) { // LDR auswerten und falls es "dunkel" ist, das Relais schalten:
digitalWrite(relaisPin1, LOW); // Relais EINS EIN
digitalWrite(relaisPin2, LOW); // Relais ZWEI EIN
delay(stromstossDauer);
digitalWrite(relaisPin1, HIGH); // Relais EINS AUS
digitalWrite(relaisPin2, HIGH); // Relais ZWEI AUS
}
Könnte ich auch einen zweiten LDR einbauen, der das zweite Relais steuert?
da könnte das Aussenlicht z.B. in der Nacht separat gesteuert werden.