ESP8266 DigitalRead zeigt immer High an

Gast #6193668
Lesenswert?

Hallo,

als Einstieg wollte ich mit meinem ESP8266 und einem einfachen Taster 
eine LED zum leuchten bringen. Der digitalRead wirkt willkürlich. 
Manchmal wird beim Reset oder kurz nach dem Codehochladen 0 angezeigt 
und sobald der Taster gedrückt wurde, nur noch 1, egal ob gedrückt wird 
oder nicht. Meistens wird aber nur die ganze Zeit 1 angezeigt, egal ob 
ich den Schalter schließe oder nicht. Ich habe verschiedene Pins 
ausprobiert, sowie verschiedene Taster und habe auch die Taster-Jumper 
direkt ohne Taster verbunden, alles ohne Erfolg.

Hier mein Code:
int led = 12;
int taster = 14;
int stat = 0;

void setup() {

  Serial.begin(115200);
  pinMode(led, OUTPUT);
  pinMode(taster, INPUT);
}

void loop() {

  Serial.println(digitalRead(taster));

  if(digitalRead(taster)) {
    delay(400);
    digitalWrite(led, HIGH);
    delay(400);
    digitalWrite(led, LOW);
  }
  else digitalWrite(led, LOW);

}

Hier meine Schaltung: https://funduino.de/nr-06-taster-am-arduino

Vielen Dank für die Hilfe,
Gruß
Stefan
Gast #6194005
Lesenswert?

Deine Schaltung hat einen Pull-Down Widerstand, dessen oberes Ende in 
der Luft hängt. Verbinde mal die grün gezeichneten Löcher von deinem 
Steckbrett.

INPUT_PULLUP funktioniert so nicht, wenn schon muss es INPUT_PULLDOWN 
sein (falls der ESP dan kann, weiß ich jetzt nicht).
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren