Hallo zusammen,
ich entschuldige mich im Voraus schon mal, falls es das Thema hier schon gibt. Ich habe leider nichts finden können, obwohl die Problematik sicher bekannt sein dürfte.
Mein Problem sieht so aus:
Ich habe eine LED, welche ich mit zwei Pullup-Buttons auf verschiedene Arten ansteuern möchte.
Auf dem Steckboard ist die LED mit den einzelnen Pins für RGB über Widerstände an den Pins 3, 5 und 6 angeschlossen, die Kathode ganz normal auf der Querleiste des Steckbretts welche an GND am Arduino steckt.
Die Pullup-Buttons (Diese hier) sind über die Kathode korrekt an GND angeschlossen und an der Anode über den 5V Pin am Arduino. Die Signalpole, welche in der Theorie ja dafür sorgen sollen, dass die Spannung auf 0V gesetzt wird beim Drücken, gehen in die Pins 8 und 12.
Mein Code sieht wie folgt aus:
int LEDblau=3;
int LEDgruen=5
int taster1=8;
int taster2=12;
void setup()
{
pinMode(LEDblau, OUTPUT);
pinMode(LEDgruen, OUTPUT);
pinMode(taster1, INPUT_PULLUP);
pinMode(taster2, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(taster1) == LOW)
{
digitalWrite(LEDblau, HIGH);
delay (5000);
digitalWrite(LEDblau, LOW);
}
else
{
digitalWrite(LEDblau, LOW);
}
if (digitalRead(taster2) == LOW)
{
digitalWrite(LEDgruen, HIGH);
delay (5000);
digitalWrite(LEDgruen, LOW);
}
else
{
digitalWrite(LEDgruen, LOW);
}
}
In der Theorie sollte jetzt beim Drücken des ersten Tasters die Eingangsspannung bei Pin 8 auf 0V gehen, dadurch die Spannung auf Pin 3 gegeben werden, damit die LED 5 Sekunden lang blau leuchtet. Analog soll die LED beim Drücken des anderen Tasters in grüner Farbe aufleuchten.
Nun funktioniert dies nicht so, wie es soll. Ich hoffe ihr könnt mir weiterhelfen!
Viele Grüße