Also ich hab jetzt mal versucht aus dem bisherigen rauszulesen....
Ich frage mich ernsthaft, ob überhaupt klar ist was hier passiert.
Aufgabestellung:
Wenn Blaulichttatse gedrückt, mache alle LED aus.
Soweit sogut.
ICH lese aus dem Code, das die LED niemals AN gehen!
Uwe in #6 gibt zu bedenken, das das BB eine Trennstrecke haben könnte.
Wenn die tatsächlich existiert, gehen die LED niemals AN.
Rentner in #2 gibt zu bedenken, das die PINMode zu früh anfangen würden.
In Pins[0] steht 2
In Pins[1] steht 3
In Pins[4] steht 6
Pins[5] und alles bis [9] existiert nicht.
Schlechter Stil. Aber nicht falsch.[edit] ein Suizid[/edit]
Was mir aufstösst: Das ist doch irgendwas zusammengebasteltes, was der TO liefert!
Spätestens bei blaulichtTasterStellung
frage ich mich, was er wirklich will...
Und warum keiner auf die Idee kommt einfach abzufragen, was ausgegeben wird?
Wenn die Ausgabe, mit dem was auf dem BB passiert, nicht übereinstimmt kann er suchen.
int Pins[] {2, 3, 4, 5, 6};
int red = 2;
int yellow = 3;
int green = 4;
int RotF = 5;
int GruenF = 6;
int blaulichtTaster = 12;
int blaulichtTasterStellung = 0;
void setup() {
Serial.begin(115200);
Serial.println(F("Start..."));
for (int i = 0; i < 4; i++) {
pinMode(Pins[i], OUTPUT);
}
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(GruenF, HIGH);
digitalWrite(RotF, LOW);
pinMode(blaulichtTaster, INPUT_PULLUP);
writepinsserial();
}
void loop() {
if (digitalRead(blaulichtTaster) == LOW) {
digitalWrite(red, HIGH);
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(GruenF, LOW);
digitalWrite(RotF, HIGH);
}
if (millis() % 1000 == 0)
{
writepinsserial();
}
}
void writepinsserial()
{
Serial.print(F("Status der Pins:"));
for (int i = 0; i < 5; i++)
{
Serial.print(" ");
Serial.print(digitalRead(Pins[i]));
}
Serial.print(F("Blaulicht: "));
Serial.println(digitalRead(blaulichtTaster));
}
Ok. combie war schon im wichtigen Teil schneller