Raspberry Pi: LED über ULN2003A steuern (mit Python und GPIO Zero)
Ein ULN2003A ist ein integrierter Schaltkreis mit 7 bipolaren NPN-Darlington-Transistoren. Damit kann man eine Spannung bis 50 Volt (V) und einen Strom bis 500 Milliampere (mA) pro Ausgang schalten. Eine Besonderheit ist die bereits integrierte Freilaufdiode an den Ausgängen. Dadurch kann man problemlos Relais, Motoren und andere induktive Lasten schalten.
Einen ULN2003A oder einen ähnlichen Baustein braucht man deshalb, weil man einen einzelnen GPIO und alle GPIOs zusammen nicht mit zu viel Strom belasten darf. Eigentlich sollte man es vermeiden, ein Bauteil über einen GPIO mit Strom zu versorgen. Deshalb schaltet man in der Regel einen Transistor als Schalter zwischen GPIO und dem zu steuernden Bauteil. Ein ULN2003A macht deshalb Sinn, weil man beim Aufbau nicht so viel falsch machen kann, als bei einer Transistor-Schaltung. Außerdem enthält ein ULN2003A insgesamt 7 Transistor-Stufen, die auch noch jeweils eine Freilaufdiode für induktive Lasten mitbringt.
Der folgende Aufbau macht im ersten Moment keinen Sinn. Denn einen Raspberry-Pi-GPIO kann man auch ohne ULN2003A mit einer LED und Vorwiderstand beschalten. Allerdings kann diese Grundschaltung fast ohne Änderung einfach für eigene Schaltungen oder Bauteile verwendet werden.
Aufbau und Bauteile
- IC1: ULN2003AN
- LED1: Leuchtdiode, rot
- R1: Widerstand, 330 Ohm (Orange-Orange-Schwarz-Schwarz)
Hinweise zum Aufbau und Betrieb
Beim Aufbau verbindet man einen GPIO-Ausgang mit einem ULN2003A-Eingang und anschließend den dazugehörigen ULN2003A-Ausgang mit einer LED und Vorwiderstand. Der ULN2003A wird einfach nur dazwischengehängt. Wichtig ist noch der gemeinsame Ground (GND).
Für eigene Anwendungen und Experimente kann der ULN2003A-Ausgang auch mit eigenen Schaltungen oder Bauteilen beschaltet werden. Bei induktiven Lasten muss man den COM-Anschluss mit der Spannungsversorgung des Bauteils verbinden, um die Freilaufdiode zu aktivieren.
Hinweis: Beachte bitte, dass der ULN2003A gegen Ground (GND) schaltet. Beim Verschalten von Bauteile, die hiervon abweichen kann das Verwirrung stiften.
Programmcode
Nach dem Start des Programms blinkt die Leuchtdiode im Verhältnis 2 zu 3. Das Programm muss manuell beendet werden.
# Bibliotheken laden from gpiozero import DigitalOutputDevice from time import sleep # Initialisierung von GPIO2 als digitaler Ausgang für LED-Steuerung led = DigitalOutputDevice(2) # 1 Sekunde warten sleep(1) # LED im Verhältnis 2 zu 3 Sekunden blinken lassen led.blink(2,3)
Darf es ein bisschen mehr sein?
Jetzt wissen wir, wie das mit dem ULN2003A funktioniert. Er schützt Deinen Raspberry Pi und seine GPIOs. Aber die Schaltung mit der Leuchtdiode war zu einfach. Wir wollen schon ein bisschen mehr, oder? Wie wäre es mit der Ansteuerung eines Motors oder eines Relais-Boards?
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.