Raspberry PI Pico #4 – Taster mit PullDown & PullUp abfragen

In diesem Beitrag möchte ich dir zeigen wie du einen Taster am Raspberry PI Pico mit einem PullDown & einen PullUp Widerstand anschließt und mit Micropython programmierst.

Für die Arduino Familie habe ich bereits gezeigt wie man einen Taster abfragt und damit andere Bauteile steuern kann.

Hier soll es nun um die Sprache Micropython und den Raspberry PI Pico gehen.

Was ist ein Pullup und Pulldown Widerstand?

Wenn dein Taster mit einer Pullup Widerstands Schaltung aufgebaut wurde ziehst du das Signal von LOW auf HIGH und mit einem Pulldown Widerstand von HIGH auf LOW. D.h. du musst in deinem Code darauf achten wie das Ausgangssignal anliegt und wie du das ergebnis verarbeitest. Ggf. musst du also das Signal logisch umkehren.

Schaltung - Pullup & Pulldown Widerstand
Schaltung – Pullup & Pulldown Widerstand

 

Aufbau mit einem PullUp Widerstand

Aufbau der Schaltung

Aufbau der Schaltung - Raspberry PI Pico mit Taster & Pullup Widerstand
Aufbau der Schaltung – Raspberry PI Pico mit Taster & Pullup Widerstand

Programm

from machine import Pin
from time import sleep

#Taster am GPIO00 angeschlossen
button = Pin(0, Pin.IN)

#LED am GPIO01 angeschlossen
led = Pin(1, Pin.OUT)

#Endlosschleife
while True:
    #abfragen des Wertes des Tasters
    if button.value():
        #LED deaktivieren
        led.low()
    else:
        #LED aktivieren
        led.high()
    
    #eine kleine Pause von 100 Millisekunden
    sleep(0.1)

 

Aufbau mit einem PullDown Widerstand

Aufbau der Schaltung

Aufbau der Schaltung - Raspberry PI Pico mit Taster & Pulldown Widerstand
Aufbau der Schaltung – Raspberry PI Pico mit Taster & Pulldown Widerstand

Programm

Das Programm ist sehr ähnlich wie dieses für den Pullup Widerstand jedoch müssen wir das Signal vom Taster „umdrehen“. D.h. aus HIGH wird LOW und aus LOW wird HIGH.

from machine import Pin
from time import sleep

#Taster am GPIO00 angeschlossen
button = Pin(0, Pin.IN)

#LED am GPIO01 angeschlossen
led = Pin(1, Pin.OUT)

#Endlosschleife
while True:
    #abfragen des Wertes des Tasters
    if not button.value():
        #LED deaktivieren
        led.low()
    else:
        #LED aktivieren
        led.high()
    
    #eine kleine Pause von 100 Millisekunden
    sleep(0.1)

 

Video

Raspberry PI Pico - Pullup & Pulldown Widerstand

 

11 Kommentare

  1. Hallo

    Der Pi Pico hat die Pullup und Pulldown Widerstände schon mit eingebaut.
    Diese kann man einfach im Code Aktivieren.
    Beispiel:
    taster = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_UP) oder:
    taster = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)

    Gruss Pascal (Nitro)

    1. Hi Pascal,

      ja das stimmt wohl, nur wie du selbst erwähnt hast muss man dieses aktivieren.
      So ist der Code etwas universeller einsetzbar.

      Gruß,

      Stefan Draeger

    1. Hi,

      ja der Pico hat interne PullUp Widerstände, welche du im Code wie folgt verwenden kannst:
      p2 = Pin(2, Pin.IN, Pin.PULL_UP)

      Jedoch finde ich die Lösung mit den externen Widerständen etwas einfacher.

      Gruß,

      Stefan

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert