Raspberry Pi: Relais-Board ohne ULN2003A steuern (mit Python und GPIO Zero)

Um ein Relais mit einem Raspberry Pi zu schalten benötigt man in der Regel ein eigenes Netzteil für das Relais und zusätzliche Beschaltung in Form eines Transistors, zwei Widerstände und einer Diode. Und dann muss das noch korrekt dimensioniert sein.
Der Vorteil eines Relais-Boards ist, dass die notwendigen Bauteile korrekt dimensioniert und auf der Platine mit dem Relais richtig verschaltet sind. Außerdem hat ein Relais-Board auch noch schraubbare Anschlüsse zum Verbinden nachfolgender Schaltungen oder Geräte.

Zur Steuerung des Relais-Boards mit dem Raspberry Pi kann ein GPIO genutzt werden, der als Ausgang programmiert wird.

Aufbau und Bauteile

Raspberry Pi: Relais-Board ohne ULN2003A steuern (mit Python und GPIO Zero)

Hinweise zum Aufbau und Betrieb

  • Die typischen Relais-Boards sind für Mikrocontroller, wie dem Arduino, konzipiert und arbeiten mit TTL-Steuersignalen (5 Volt und 0 Volt). Der Raspberry Pi gibt an seinen GPIO-Ausgängen aber nur eine Spannung von 3,3 Volt aus. Das reicht normalerweise aus, um ein TTL-High-Signal zu erkennen und zu schalten.
  • Relais und Relais-Boards sind Verbraucher, die einen vergleichsweise hohen Strom verbrauchen. Insbesondere im Einschaltmoment. In der aufgebauten Schaltung wird das Relais-Board über die 5-Volt-Leitung vom Raspberry Pi mit Strom versorgt.
  • Je nach Raspberry-Pi-Modell, USB-Netzteil und weiterer Beschaltung kann es sein, dass die Stromversorgung instabil wird und der Raspberry Pi ausgeht.

Programmcode

Das Programm funktioniert vergleichsweise einfach. Der GPIO wird mit „on“ auf „High“ gesetzt und das Relais zieht an. In diesem Zustand bleibt das Relais für 3 Sekunden. Danach wird der GPIO mit „off“ auf „Low“ gesetzt und das Relais wird gelöst. Danach ist das Programm beendet.

# Bibliotheken laden
from gpiozero import DigitalOutputDevice
from time import sleep

# Initialisierung von GPIO4 als digitaler Ausgang für eine Relais-Steuerung
relais = DigitalOutputDevice(4)

# 1 Sekunde warten
sleep(1)

# Relais einschalten
relais.on()

# 3 Sekunden warten
sleep(3)

# Relais ausschalten
relais.off()

Darf es ein bisschen mehr sein?

Es gibt noch eine weitere Möglichkeit ein Relais-Board zu steuern. Über ein ULN2003A-IC. Diese Variante ist vergleichbar damit, wenn man ein Relais ohne Platine zu Zusatzbeschaltung hat.

Highlights: Elektronik mit dem Raspberry Pi

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:

Hardware-nahes Programmieren mit dem Raspberry Pi, Python und GPIO Zero

Elektronik-Set Raspberry Pi Edition

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

Elektronik-Set jetzt bestellen

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
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-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!