Diese Website verwendet Cookies und ähnliche Technologien!

Falls Sie die damit nicht einverstanden sind, ändern Sie bitte die Einstellungen Ihres Browsers. Mehr erfahren

Ich bin damit einverstanden

 Wir nutzen Cookies um Ihnen das beste Surferlebnis auf unserer Website bieten zu können.

  • Falls Sie dies bestätigen und fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass sie einverstanden sind alle Cookies unserer Seite zu erhalten:
  • Falls Sie Ihre Einstellung ändern möchten, so finden Sie eine Anleitung dazu hier.

Schalter und Taster gehören bestimmt zu den ersten Schaltungen, die du mit deinem neuen Arduino zusammengesteckt hast.
Mit großer Wahrscheinlichkeit hast du dabei eine Schaltung mit Pull Up Widerstand aufgebaut, wie Sie in vielen Beispielen verwendet wird.

Doch wusstest du auch warum man diesen braucht oder wie man sich diesen sparen kann?

Taster mit Pull Up Widerstand

Diese Schaltung kennst du sicher bereits.

Der 10kOhm Widerstand zwischen Vcc und dem Eingangspin hat eine wichtige Aufgabe:

Nehmen wir an der Taster wäre nicht gedrückt, so bestünde zwischen Eingangs Pin und GND keine Verbindung.
Würde nun auch noch die Verbindung zu VCC (5V) über den Widerstand fehlen, dann liegt am Pin weder GND (=LOW) noch VCC (5V = HIGH) an. Der Pin kann diesen Zustand nicht interpretieren und schon kleinste Änderungen in der Zuleitung oder im Umfeld des Pins führen zu konfusem Werten Eingangs.

Daher verbindet man den Eingang über einen Widerstand mit VCC. So sorgen wir dafür, das bei offenem Schalter der Pegel auf VCC, also HIGH "gezogen" wird. (daher Pullup! oops Widerstand)

Pull Down Widerstand

In vielen Fällen macht es, der Logik wegen, weniger Sinn das HIGH/TRUE = Keine Verbindung und LOW/FALSE = Schalter gedrückt entspricht.
Sollte dich dies stören, oder brauchst du einfach invertierte Messwerte, so kannst du VCC und GND einfach tauschen.

Jetzt zieht der Resistor den Pin auf GND und man spricht dann (wer hätte das gedacht) von einem PullDOWN Widerstand! 

Taster mit internem Pull Up Widerstand

Taster werden sehr häufig als Eingabemöglichkeit für den Mikrocontroller verwendet. Da wäre es doch schön nicht jedes mal einen weiteren Widerstand einbauen zu müssen, oder?
Das  haben sich wohl auch die Belegschaft von Atmel, der Hersteller der Controller, gedacht und haben etwas praktisches eingebaut:
Interne Pull Up Widerstände direkt im Prozessor!

Du kannst den Taster zwischen Pin und GND anschließen. Den internen PullUp Widerstand aktivierst du dann in deinen Quellcode bei der pin-Konfiguration. Erstetze hier INPUT durch INPUT_PULLUP:

const int buttonPin = A0;     // Der Pin mit dem Pushbutton
const int ledPin =  13;      // LED Pin (SMD LED auf dem UNO an Port 13)

// Variable zum Status zwischenspeichern
int buttonState = 0;       

void setup() {
  // Initialisiere LEDPin als Ausgang
  pinMode(ledPin, OUTPUT);      
  // initialisieren buttonPin als Input MIT INTERNEM PULLUP Wiederstand!
  pinMode(buttonPin, INPUT_PULLUP);     
}

void loop(){
  // einlesen des Buttons als digital Wert (HIGH oder LOW)
  buttonState = digitalRead(buttonPin);

  // Wenn der Button verbindet (auf GND = LOW), schalte LED an (=HIGH):
  if (buttonState == LOW) {     
    // LED an:    
    digitalWrite(ledPin, HIGH);  
  } 
  else {
    // LED aus:
    digitalWrite(ledPin, LOW); 
  }
}

Kommentare

Konnten ich deine Frage mit diesem Artikel beantworten? Bitte gib mir ein kurzes Feedback: {fcomments}

Kommentare  

https://www.viagrasansordonnancefr.com/viagra-generique-moins-cher/
# Buttons & Schalter - Pulluphttps://www.viagrasansordonnancefr.com/viagra-generique-moins-cher/ 2017-03-25 08:47
I was recommended this web site by my cousin. I am not sure whether this post is written by him as
no one else know such detailed about my difficulty.
You are amazing! Thanks!
Antworten

Kommentar schreiben

Sicherheitscode
Aktualisieren