from machine import Pin
from time import sleep
#cathode einstellen anstatt anode
sleep(0.1) #wait for usb to become
#kontrolle
print("Hello, Pi Pico!")
#setup
A = Pin(3, Pin.OUT)
B = Pin(28, Pin.OUT)
C = Pin(22, Pin.OUT)
D = Pin(26, Pin.OUT)
E = Pin(27, Pin.OUT)
F = Pin(20, Pin.OUT)
G = Pin(21, Pin.OUT)
# Eingänge für binäre Schalter
bit0 = Pin(0, Pin.IN, Pin.PULL_DOWN)
bit1 = Pin(1, Pin.IN, Pin.PULL_DOWN)
bit2 = Pin(2, Pin.IN, Pin.PULL_DOWN)
bit3 = Pin(4, Pin.IN, Pin.PULL_DOWN)
# Segment ausschalten
def alle_aus():
A.off()
B.off()
C.off()
D.off()
E.off()
F.off()
G.off()
# Segment an (nach Ziffer)
def zeige_ziffer(n):
alle_aus()
if n == 0:
A.on()
B.on()
C.on()
D.on()
E.on()
F.on()
elif n == 1:
B.on()
C.on()
elif n == 2:
A.on(); B.on(); G.on(); E.on(); D.on()
elif n == 3:
A.on(); B.on(); C.on(); D.on(); G.on()
elif n == 4:
F.on(); G.on(); B.on(); C.on()
elif n == 5:
A.on(); F.on(); G.on(); C.on(); D.on()
elif n == 6:
A.on(); F.on(); E.on(); D.on(); C.on(); G.on()
elif n == 7:
A.on(); B.on(); C.on()
elif n == 8:
A.on(); B.on(); C.on(); D.on(); E.on(); F.on(); G.on()
elif n == 9:
A.on(); B.on(); C.on(); D.on(); F.on(); G.on()
else:
# Wert > 9 → nur G leuchtet (als "Fehler" oder Hinweis)
G.on()
# Hauptschleife mit Debug-Ausgabe
while True:
# Bitwerte lesen
b0 = bit0.value()
b1 = bit1.value()
b2 = bit2.value()
b3 = bit3.value()
# Binär zu Dezimal
zahl = b0 + b1*2 + b2*4 + b3*8
# Debug-Ausgabe
print("Bits:", b3, b2, b1, b0, "-> Zahl:", zahl)
# Zahl anzeigen
zeige_ziffer(zahl)
sleep(0.5)