Guten Servus,
Ich möchte über meinen Arduino UNO R3 eine selbstgebaute (funktionierende) Relaisplatine zu verschiedenen Uhrzeiten (mit DS3231 Real Time Clock) ansteuern.
Da ich noch ein blutiger Anfänger bin habe ich viel mit copy und paste "gearbeitet" und mich vor allem an diesen 2 Videos orientiert um mein Projekt zu verwirklichen:
Video 1= RTC/Real time clock erstellen : Arduino DS3231 Real Time Clock and LCD Display - YouTube
Video 2= Relais über RTC ansteuern: Arduino Turn on / off anything at a specific time (Trigger a Relay with DS3231 RTC) - YouTube
Nun war ich erfolgreich mit meiner selbstgebauten Platine und diesem Sketch von Video 2
#include <DS3231.h> // Den Link zu dieser Library gibt es im Video 1!!!!
int Relay = 4;
DS3231 rtc(SDA, SCL);
Time t;
const int OnHour = 16;
const int OnMin = 50;
const int OffHour = 17;
const int OffMin = 0;
void setup() {
Serial.begin(115200);
rtc.begin();
pinMode(Relay, OUTPUT);
digitalWrite(Relay, LOW);
}
void loop() {
t = rtc.getTime();
Serial.print(t.hour);
Serial.print(" hour(s), ");
Serial.print(t.min);
Serial.print(" minute(s)");
Serial.println(" ");
if(t.hour == OnHour && t.min == OnMin){
digitalWrite(Relay,HIGH);
Serial.println("LIGHT ON");
}
else if(t.hour == OffHour && t.min == OffMin){
digitalWrite(Relay,LOW);
Serial.println("LIGHT OFF");
}
}
Nun möchte ich aber zu verschieden Uhrzeiten mein Relais angesteuert haben
Bsp.:
Licht an 12 Uhr
Licht aus 13 Uhr
Licht an 15 Uhr
Licht aus 16 Uhr
Ich habe es also so in den Sketch von Video 2 eingegeben:
#include <DS3231.h>
int Relay = 4;
DS3231 rtc(SDA, SCL);
Time t;
const int OnHour = 12;
const int OnMin = 0;
const int OffHour = 13;
const int OffMin = 0;
const int OnHour = 15;
const int OnMin = 0;
const int OffHour = 16;
const int OffMin = 0;
void setup() {
Serial.begin(115200);
rtc.begin();
pinMode(Relay, OUTPUT);
digitalWrite(Relay, LOW);
}
void loop() {
t = rtc.getTime();
Serial.print(t.hour);
Serial.print(" hour(s), ");
Serial.print(t.min);
Serial.print(" minute(s)");
Serial.println(" ");
if(t.hour == OnHour && t.min == OnMin){
digitalWrite(Relay,HIGH);
Serial.println("LIGHT ON");
}
else if(t.hour == OffHour && t.min == OffMin){
digitalWrite(Relay,LOW);
Serial.println("LIGHT OFF");
}
}
Nun bekomme ich disesn Fehler
"exit status 1
redefinition of 'const int OnHour'"
Der Sketch funktioniert aufgrund des neu hinzugefügten "Blocks"
nicht mehr...
const int OnHour = 12;
const int OnMin = 0;
const int OffHour = 13;
const int OffMin = 0;
const int OnHour = 15;
const int OnMin = 0;
const int OffHour = 16;
const int OffMin = 0;
Wo liegt nun der Fehler, nochmals der Hinweis ich bin Anfänger und kann somit nicht alles Wissen!
Ich bedanke mich für eure Aufmerksamkeit ![]()