Forum: Mikrocontroller und Digitale Elektronik ESP8266 DigitalRead zeigt immer High an


von Stefan (Gast)


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

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

die Pins haben keinen Pullup der standartmäßig aktiv ist. Benutze 
INPUT_PULLUP und schalte deinen Taster nach GND. Oder verwende einen 
externen Widerstand nach +3.3V oder GND je nachdem wie du den Taster 
anklemmst.

Sascha

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

es funktioniert leider immer noch nicht, die LED blinkt auch, obwohl ich 
die beiden Jumper nicht angeschlossen habe.
Code wurde nur in einer Zeile zu "pinMode(taster, INPUT_PULLUP);" 
geändert.
Schaltung siehe Bilder.

von Stefan F. (Gast)


Angehängte Dateien:

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).

von Joachim B. (jar)


Lesenswert?

Stefan ⛄ F. schrieb:
> Verbinde mal die grün gezeichneten Löcher von deinem
> Steckbrett.

10-13 Kontakte nach rechts verschieben würde ja auch reichen

: Bearbeitet durch User
von Stefan (Gast)


Lesenswert?

Jetzt funktionierts....blöder Fehler....
Vielen Dank!

von Joachim B. (jar)


Lesenswert?

Stefan schrieb:
> ....blöder Fehler....

immerhin hast du nun eine Ahnung warum dort Farbe fehlt :)))

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.