Hallo zusammen,
ich taste mich gerade das erste Mal an ein Arduino Projekt heran und bin begeistert über die Möglichkeiten. Leider ist es auch mein erster Programmier-Versuch und ich bekomme ständig eine Fehlermeldung. Vielleicht kann mir ja jemand einen Tipp geben, woran es liegen könnte.
Projektbeschreibung:
Ich habe eine alte Verkehrsampel, die ich gerne wieder zum Leben erwecken würde. Ich möchte sie gerne einsetzen um per Lichtsignal vor unserer Gästetoilette den Ansturm zu regeln.
Dazu möchte ich gerne einen Türkontakt-Schalter und einen Bewegungsmelder im Gästebad anbringen.
Die beiden Sensoren sollen abgefragt werden und je nach Input, unterschiedliche Szenarien an der Ampel leuchten. (z.B. Tür zu und Bewegung im Bad = Rot; Türe auf und keine Bewegung = Grün; Türe zu, aber keine Bewegung = Gelb blinkt bis Bewegung oder Türe sich meldet usw)
Hier ist mein Sketch, dass ich mir aus verschiedenen Sketches zusammen gebastelt habe:
int green=5; // Das Wort „green“ steht jetzt für den Wert 5.
int orange=6; // Das Wort „orange“ steht jetzt für den Wert 6.
int rot=7; // Das Wort „rot“ steht jetzt für den Wert 7.
int bewegung=8; // Das Wort „bewegung“ steht jetzt für den Wert 8.
int bewegungsstatus=0; // Das Wort „bewegungsstatus“ steht jetzt zunächst für den Wert 0. Später wird unter dieser Variable gespeichert, ob eine Bewegung erkannt wird oder nicht.
int doorstatus=0; // Das Wort "doorstatus" steht jetzt zunächst für den Wert 0. Später wird unter dieser Variable gespeichert, ob die Türe geschlossen oder offen ist.
int doorsensor=9; // Das Wort "doorsensor" steht jetzt für den Wert 9.
void setup() // Hier beginnt das Setup.
{
pinMode(green, OUTPUT); // Der Pin mit dem Piezo (Pin 5) ist jetzt ein Ausgang.
pinMode(orange, OUTPUT); // Der Pin mit dem Piezo (Pin 6) ist jetzt ein Ausgang.
pinMode(rot, OUTPUT); // Der Pin mit dem Piezo (Pin 7) ist jetzt ein Ausgang.
pinMode(bewegung, INPUT); // Der Pin mit dem Bewegungsmelder (Pin 7) ist jetzt ein Eingang.
pinMode(doorsensor, INPUT); // Der Pin mit dem Türsensor (Pin 9) ist jetzt ein Eingang.
}
void loop() //Der Loop-Teil beginnt
{ //Mit dieser Klammer wird der Loop-Teil geöffnet.
bewegungsstatus=digitalRead(bewegung); //hier wird der Pin7 ausgelesen. Das Ergebnis wird unter der Variablen „bewegungsstatus“ mit dem Wert „HIGH“ für 5Volt oder „LOW“ für 0Volt gespeichert.
doorstatus=digitalRead(doorsensor); //hier wird der Pin9 ausgelesen. Das Ergebnis wird unter der Variablen „bewegungsstatus“ mit dem Wert „HIGH“ für 5Volt oder „LOW“ für 0Volt gespeichert.
if ((doorstatus==HIGH) && (bewegungsstatus==HIGH)) //wenn Türe zu UND Bewegung erkannt, dann
{
digitalWrite(rot, HIGH); // Rot an
digitalWrite(orange, LOW); // Orange aus
digitalWrite(green, LOW); // Grün aus
}
else if ((doorstatus==HIGH) && (bewegungsstatus==LOW)) // wenn Türe zu UND keine Bewegung erkannt, dann
{
for ((doorstatus==HIGH) && (bewegungsstatus==LOW); // Solange die Türe zu ist und keine Bewegung erkannt wird blinkt Orange
digitalWrite(rot, LOW); // Rot aus
digitalWrite(orange, HIGH); // Orange an
digitalWrite(green, LOW); // Grün aus
delay(1000); // warte 1 Sekunde
digitalWrite(orange, LOW); // Orange aus
delay(1000); // warte 1 Sekunde
)
}
else if ((doorstatus==LOW) && (bewegungsstatus==LOW)) // wenn Türe auf UND keine Bewegung erkannt, dann Grün
{
digitalWrite(rot, LOW); // Rot aus
digitalWrite(orange, LOW); // Orange aus
digitalWrite(green, HIGH); // Grün an
}
else ((doorstatus==LOW) && (bewegungsstatus==HIGH)) // wenn Türe auf aber Bewegung erkannt, dann Orange und Grün
{
digitalWrite(rot, LOW); // Rot aus
digitalWrite(orange, HIGH); // Orange an
digitalWrite(green, HIGH); // Grün an
}
}