Eingang digitalWrite wird beim ARDUINO UNO verzögert

OP #4570890
Freundliches Hallo in die Runde, ich bin neu hier und hoffe auf Hilfe.
Mit diesem Programm aus den ARDUNIO Beispielen bin ich angefangen:

const int buttonPin = 2;
const int ledPin = 12;
int buttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}

Merkwürdigerweise geht die LED an Pin 12 nur mit einer Verzögerung von
ca. 2..3 Sekunden aus, wenn ich die 5V am Eingang Pin 2 wegnehme.  Ich 
habe
auch schon andere Varianten zur Programmierung mit digitalWrite 
versucht, immer tritt diese Verzögerung auf.  Hat jemand eine Idee warum 
das so ist?
Vielen Dank für die Unterstützung vorab!
Gast #4570912
Am Eingang fehlt der Pullup-Widerstand. Dadurch hält der Eingang seinen 
Pegel noch eine Weile. Mit pinMode(buttonPin, INPUT_PULLUP); schaltet 
man den Pullup ein.
Gast #4570913
Legst du einfach +5V an Pin 2 an und ziehst das Kabel wieder ab? In dem 
Fall hättest du einen offenen CMOS-Eingang, der ladungen noch einige 
Zeit speichern kann, und so etwas länger noch ein "HIGH" liest.
2 einfache Vorschläge:
1.: Du beschaltest den Pin mit einem Pull-Down-Widerstand (z.B. 10 kOhm) 
zusätzlich zum Schalter.
2.: Du schreibt pinMode(buttonPin, INPUT_PULLUP) statt 
pinMode(buttonPin, INPUT) und ziehst den Pin gegen GND. Dann ist ein 
interner Pullup aktiviert, der den Eingang auf VCC läd, sobald ihn das 
Kabel nicht mehr gegen GND zieht.

A.Dent

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.