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  

JacBumn
# When Will Alli Diet Pill Be Available JacBumnJacBumn 2018-02-15 01:02
Real Best Viagra Online Pharmacy cialis Cialis Duracion Del Efecto
Antworten
JacBumn
# Rhine Inc. India JacBumnJacBumn 2018-01-28 13:34
Kamagra Oral Jelly Kaufen Deutschland buy accutane online reviews Gabapentin To Buy Without Prescription generic cialis Cialis Und Ruckenschmerzen
Antworten

Kommentar schreiben

Sicherheitscode
Aktualisieren