Raspberry Pi: LED mit Taster ein- und ausschalten (mit Python und GPIO Zero)
Damit eine Leuchtdiode (LED) beim Drücken eines Tasters ein- und ausgeht braucht man eigentlich keine Softwaresteuerung. Diese Funktion kann man natürlich auch ohne Software realisieren. Einfach nur dadurch, dass der Taster mit der Leuchtdiode und einem Vorwiderstand in Reihe geschaltet wird.
Allerdings kann der Taster dann auch nur diese eine festgelegte Funktion. Soll der Taster eine andere Funktion haben, dann muss man die Hardware ändern. Wenn die Funktion fest verdrahtet oder gelötet ist, dann ist eine Änderung nicht so einfach möglich.
Es gibt also gute Gründe, warum heute alles mit Software realisiert wird und prozessorgesteuert ist. Eine Funktion lässt sich in der Software einfach leichter ändern als in der Hardware.
Dazu erweitern wir das Programm in einem zweiten Versuch um das Speichern des Zustandes (Haltefunktion). Das heißt, drücken wir den Taster wird die LED eingeschaltet. Drücken wir ein zweites Mal wird die LED ausgeschaltet. Man spricht hier auch von einer Toggle-Funktion.
Aufbau und Bauteile
- Taster
- LED1 Leuchtdiode, rot
- R1: Widerstand, 330 Ohm (Orange-Orange-Schwarz-Schwarz)
Programmcode ohne Haltefunktion
Das folgende Programm schaltet die LED immer dann ein, wenn der Taster gedrückt wird und aus, wenn der Taster losgelassen wird. Das Programm wird nicht automatisch beendet.
# Bibliotheken laden from gpiozero import Button, LED # Initialisierung von GPIO27 als Button (Eingang) button = Button(27) # Initialisierung von GPIO17 als LED (Ausgang) led = LED(17) # Wenn der Button gedrückt wird button.when_pressed = led.on # Wenn der Button losgelassen wird button.when_released = led.off
Programmcode mit Haltefunktion
Das folgende Programm schaltet die LED immer dann ein und wieder aus, wenn der Taster gedrückt wird. Das Programm wird nicht automatisch beendet.
# Bibliotheken laden from gpiozero import Button, LED # Initialisierung von GPIO27 als Button (Eingang) button = Button(27) # Initialisierung von GPIO17 als LED (Ausgang) led = LED(17) # Wenn der Button gedrückt wird button.when_pressed = led.toggle
Darf es ein bisschen mehr sein?
Experimente mit Taster und Leuchtdioden sind jetzt nicht besonders anspruchsvoll, aber trotzdem zum Bedienen und Anzeigen wichtige Komponenten. In der Praxis wird man vielleicht Motoren und Relais ansteuern. Als Vorstufe empfiehlt es sich, über einen ULN2003A eine LED zu steuern. Die LED lässt sich danach einfach durch ein Relais, Motor oder irgendetwas anderes ersetzen, was der binären Logik folgt. Also einfach nur ein- und ausgeschaltet werden kann.
Highlights: Elektronik mit dem Raspberry Pi
- Raspberry Pi: LED einschalten und ausschalten (mit Python und GPIO Zero)
- Raspberry Pi: Taster-Zustand auswerten und anzeigen (mit Python und GPIO Zero)
- Raspberry Pi: Motor über ULN2003A steuern (mit Python und GPIO Zero)
- Raspberry Pi: Relais-Board über ULN2003A steuern (mit Python und GPIO Zero)
- Raspberry Pi: Herunterfahren per Taster (mit Python und GPIO Zero)
Alternative: Elektronik mit dem Raspberry Pi Pico
Raspberry Pi Pico ist ein Mikrocontroller. Er ermöglicht Dank vieler analoger und digitaler Eingänge und Ausgänge vielfältige Anwendung im Bereich der Steuerung von elektronischen Bauteilen, Sensorik, Robotik und Automation.
Weitere verwandte Themen:
- Elektronik mit dem Raspberry Pi
- Raspberry Pi: GPIO - General Purpose Input Output
- Raspberry Pi: GPIO steuern und programmieren
- Raspberry Pi: GPIO mit Python und GPIO Zero programmieren
Hardware-nahes Programmieren mit dem Raspberry Pi, Python und GPIO Zero
Das "Elektronik-Set Raspberry Pi Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit Python und GPIO Zero.
- LED: Einschalten, ausschalten, blinken und Helligkeit steuern
- Taster: Verschiedene Zustände auswerten und anzeigen lassen
- LED mit Taster einschalten und ausschalten
- Relais-Board steuern
- LED, Relais-Board und Motor über ULN2003A steuern
- Ampel- und Lauflicht-Steuerung
- Herunterfahren per Taster
- Reaktionsspiel mit Tastern und LEDs
- Eigene Steuerungen programmieren
Teilen:
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.