Ein-Ausgänge steuern
Verfasst: 13 Okt 2025, 16:55
Der Raspberry Pi Zero W hat an sich schon mehrerer Eingänge und Ausgänge auf dem Microcomputer. Da ich aber für mein Grosskind eine Spielkonsole bauen will, wo er mit Kabel stecken Leds zum Leuchten bringen kann, habe ich an meinem RPiZ noch ein Erweiterungsboard (IO-PI-PLUS) angeschlossen.
Das IO-Board ist wie folgt mit dem RPiZ verbunden:
RPiZ > IO-PI-PLUS
---------------------
5V > VCC
GND > GND
GP0/SDA > SDA
GP1/SCL > SCL
3.3V > 3V3
Mein Beispiel:
Gespiesen wird der Rasperry Pi Zero W bei mir mit einemr Powerbank via USB-Anschluss. Das geht weil der RPiZ auf einer speziellen Leiterplatte montiert ist, ansonsten könnte man das Board natürlich auch mit einem normalen USB-Kabel versorgen.
Normalerweise verbinde ich mich per Linuxterminalfenster und ssh mit dem Rechner. Heute verwende ich Win11 und eine Powershell. Mit dem Befehl
Der RPiZ muss sich natürlich in deinem Netzwerk befinden und mit WLAN verbunden sein. PS. Die IP-Adresse muss natürlich deinem RPiZ entsprechen.
Bibliothek für das IO-Board
Ich befinde mich in meinem Home Direktory
/home/asp
und verwende die Library ABElectronics_Python_Libraries welche ich direkt in meinem Homedirektory installiert habe. Achtung: Bei Dir lautet das Home-Dir siche anders weil du auf dem RPiZ sicher einen anderen Benutzername hast. Damit Python die Library findet muss du noch folgenden Befehl eingeben:
bei dir sicher nicht /home/asp, bitte deinem Username anpassen!
mein Erstes Programm
Ich arbeite mit Python und habe mir mal in meinem Home-Dir einen neuen Ordner erstellt:
danach habe ich in den neuen Ordner gewechselt
und dort das Programm
erstellt:
Das Programm schaltet Out1 auf dem IO-Port im Sekundentakt ein und aus.
Damit man das Programm ausführen kann, muss die Datei output-test.py noch ausführbar gemacht werden, dies erfolgt mit dem Befehl
Erst jetzt kann man das Programm ausführen
Test ob Ausgang blinkt mit LED
Ich habe bei meinem Board eine LED mit einem 470 Ohm Wiederstand zwischen dem Ausgang und GND angeschlossen.
RP2040 oder ESP32
Die obigen Boards verwenden viel weniger Strom als der RPiZ und können natürlich das IO-Pi-Plus Board ebensogut ansteuern. In diesem Forum habe ich auch Beispiele dafür viewtopic.php?t=82&sid=081c15394897f6d997c2a786a27ddf74.
Viel Erfolg, wenn Du eine Frage hast, melde Dich einfach.
Das IO-Board ist wie folgt mit dem RPiZ verbunden:
RPiZ > IO-PI-PLUS
---------------------
5V > VCC
GND > GND
GP0/SDA > SDA
GP1/SCL > SCL
3.3V > 3V3
Mein Beispiel:
Gespiesen wird der Rasperry Pi Zero W bei mir mit einemr Powerbank via USB-Anschluss. Das geht weil der RPiZ auf einer speziellen Leiterplatte montiert ist, ansonsten könnte man das Board natürlich auch mit einem normalen USB-Kabel versorgen.
Normalerweise verbinde ich mich per Linuxterminalfenster und ssh mit dem Rechner. Heute verwende ich Win11 und eine Powershell. Mit dem Befehl
Code: Alles auswählen
ssh [email protected]Bibliothek für das IO-Board
Ich befinde mich in meinem Home Direktory
/home/asp
und verwende die Library ABElectronics_Python_Libraries welche ich direkt in meinem Homedirektory installiert habe. Achtung: Bei Dir lautet das Home-Dir siche anders weil du auf dem RPiZ sicher einen anderen Benutzername hast. Damit Python die Library findet muss du noch folgenden Befehl eingeben:
Code: Alles auswählen
export PYTHONPATH=$PYTHONPATH:/home/asp/ABElectronics_Pythmein Erstes Programm
Ich arbeite mit Python und habe mir mal in meinem Home-Dir einen neuen Ordner erstellt:
Code: Alles auswählen
mkdir IO-Pi-PlusCode: Alles auswählen
cd IO-Pi-PlusCode: Alles auswählen
nano output-test.py Code: Alles auswählen
#!/usr/bin/env python3
import sys
import os
# Pfad zur Bibliothek hinzufügen
sys.path.append('/home/asp/ABElectronics_Python_Libraries')
from IOPi import IOPi # Geändert von ABE_IOPi zu IOPi
import time
# IO Pi Plus Board initialisieren
bus = IOPi(0x20)
# Alle Pins als Ausgang konfigurieren
bus.set_port_direction(0, 0x00) # Port 0: Ausgang
bus.set_port_direction(1, 0x00) # Port 1: Ausgang
print("Output Test gestartet...")
# LED an Pin 1 blinken lassen
try:
while True:
bus.write_pin(1, 1) # Pin 1 einschalten
print("Pin 1: EIN")
time.sleep(0.5)
bus.write_pin(1, 0) # Pin 1 ausschalten
print("Pin 1: AUS")
Damit man das Programm ausführen kann, muss die Datei output-test.py noch ausführbar gemacht werden, dies erfolgt mit dem Befehl
Code: Alles auswählen
chmod +x output-test.pyCode: Alles auswählen
python3 output-test.pyIch habe bei meinem Board eine LED mit einem 470 Ohm Wiederstand zwischen dem Ausgang und GND angeschlossen.
RP2040 oder ESP32
Die obigen Boards verwenden viel weniger Strom als der RPiZ und können natürlich das IO-Pi-Plus Board ebensogut ansteuern. In diesem Forum habe ich auch Beispiele dafür viewtopic.php?t=82&sid=081c15394897f6d997c2a786a27ddf74.
Viel Erfolg, wenn Du eine Frage hast, melde Dich einfach.