Led mit Taster

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):wink: und dann auf LOW abfragen.

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. :wink:

Da hast du natürlich recht :slight_smile:

So ein blöder Fehler echt da kann man sich grün und blau ärgern :slight_smile:

lg

delfi:
Da hast du natürlich recht :slight_smile:

So ein blöder Fehler echt da kann man sich grün und blau ärgern :slight_smile:

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 :wink:

Stefan