import machine
# Definiere die Anzahl der GPIO-Pins (28 für einen RP2040, wir verwenden nur 20 Bit ohne TX und RX)
NUM_PINS = 28
EXCLUDE_PINS = [0, 1] # Pin 0 für TX und Pin 1 für RX
INCLUDE_PINS = [pin for pin in range(NUM_PINS) if pin not in EXCLUDE_PINS][:20] # Nimm die ersten 20 Pins, ohne TX und RX
# Variable zum Speichern des Wertes, der auf den Pins angezeigt werden soll
output_value = 0b10101010101010101010 # Beispielwert (20-Bit Binär)
# Funktion zum Setzen der Ausgänge basierend auf dem Wert
def set_outputs(value):
# Setze alle relevanten Pins auf Ausgang
for pin in INCLUDE_PINS:
machine.Pin(pin, machine.Pin.OUT)
# Setze die Pins entsprechend dem Wert
for i, pin in enumerate(INCLUDE_PINS):
bit = (value >> i) & 1 # Extrahiere das Bit an der Position i
machine.Pin(pin).value(bit)
# Initialer Aufruf zum Setzen der Ausgänge
set_outputs(output_value)
# Beispiel zum Ändern des Wertes nach einer bestimmten Zeit
import time
time.sleep(2)
output_value = 0b000 # Neuer Beispielwert (20-Bit Binär)
set_outputs(output_value)
time.sleep(2)
output_value = 0b111 # Neuer Beispielwert (20-Bit Binär)
set_outputs(output_value)
print("Der Wert an den Pins wurde geändert.")