delfi
May 3, 2017, 9:05am
#1
Hallo Leute brauche dringend eure Hilfe!
Habe folgendes Problem was ich mir nicht erklären kann..
Also kurz zur Erklärung.
Ich möchte mit einen Taster eine Led schalten.
Wenn der Taster nicht gedrückt ist sollte eine grüne Led leuchten und wenn gedrückt eine rote.
Irgendwie leuchtet bei mir die Led am Anfang immer egal ob ich den Ausgang auf LOW setze.
Könnt ihr mir sagen was ich falsch mache?
Danke schon mal.
const int buttonm = 2;
const int ledgreenm = 9;
const int ledredm = 12;
int buttonmState = 0;
void setup() {
pinMode(ledgreenm, OUTPUT);
pinMode(ledredm, OUTPUT);
pinMode(buttonm, INPUT);
}
void loop() {
buttonmState = digitalRead(buttonm);
if (buttonmState == HIGH) {
digitalWrite(ledredm, HIGH);
digitalWrite(ledgreenm, LOW);
} else {
digitalWrite(ledredm, LOW);
digitalWrite(ledgreenm, LOW);
}
}
Du verwendest keinen Pulldown-Widerstand am Eingangspin.
Dadurch floatet der Eingang und hat keinen definierten Pegel.
Du kannst auch den internen Pullup verwenden (pinMode(buttonm, INPUT_PULLUP) und dann auf LOW abfragen.
delfi
May 3, 2017, 9:21am
#3
Herzlichen Dank !
Wie blöd von mir danke für deine schnelle Hilfe
lg
delfi:
Herzlichen Dank !
Wie blöd von mir danke für deine schnelle Hilfe
lg
Gerne...fällt man schnell mal drauf rein.
Und wenn du dir angewöhnst, in den Fällen immer die internen Widerstände zu verwenden, wird es nicht so schnell wieder passieren.
delfi
May 3, 2017, 2:51pm
#5
Da hast du natürlich recht
So ein blöder Fehler echt da kann man sich grün und blau ärgern
lg
delfi:
Da hast du natürlich recht
So ein blöder Fehler echt da kann man sich grün und blau ärgern
lg
Musst du nicht...
Ich hab vor über 30 Jahren Elektriker gelernt
und vergesse immer noch die Tülle VORHER aufs
Kabel zu schieben, bevor ich den Stecker anklemme.
Doofe Fehler passieren. Je schneller jemand denkt,
um so häufiger
Stefan