import machine
import utime
import tm1637
# Konfiguration der Pinbelegung
button_pin = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP) # Taster an GPIO0
clk_pin = machine.Pin(16) # CLK-Pin der 7-Segment-Anzeige an GPIO16
dio_pin = machine.Pin(17) # DIO-Pin der 7-Segment-Anzeige an GPIO17
# Anzahl der Millisekunden pro Sekunde
MS_PER_SECOND = 1000
# Initialisierung der 7-Segment-Anzeige
tm = tm1637.TM1637(clk_pin, dio_pin)
# Variablen für die Stoppuhr
start_time = 0
elapsed_time = 0
running = False
def update_display():
global elapsed_time
# Inkrementiere die verstrichene Zeit
elapsed_time += 1
# Berechne Minuten und Sekunden
minutes = elapsed_time // 60
seconds = elapsed_time % 60
# Formatierung der Anzeige ohne Doppelpunkte
display_string = "{:02}{:02}".format(minutes, seconds)
# Aktualisiere die Anzeige
tm.show(display_string)
# Schleife für die Stoppuhr
while True:
# Überprüfe den Tasterstatus
if button_pin.value() == 0: # Taster gedrückt
if not running:
# Starte die Stoppuhr, wenn sie nicht läuft
start_time = utime.ticks_ms()
running = True
else:
# Stoppe die Stoppuhr
running = False
# Aktualisiere die Anzeige, wenn die Stoppuhr läuft
if running:
update_display()
utime.sleep_ms(1000) # Warte 1 Sekunde