Instructions

50
if i == 2:
GPIO.output(dp, 1)
else:
GPIO.output(dp, 0)
Diese Funktion ist etwas verändert. Immer wenn die dritte Ziffer leuchtet, wird zusätzlich der Dezimal-
punkt eingeschaltet. Bei den anderen Ziffern bleibt er aus.
start = time.time()
Drückt der Benutzer die Taste 1, endet die erste while-Schleife. Die aktuelle Zeit in Sekunden wird in der
Variable start gespeichert. Aus dieser Zeit wird jetzt immer die aktuelle Zeit der Stoppuhr errechnet, die
durch Drücken der Taste 1 gestartet wurde.
Die Funktion time.time() gibt die aktuelle Zeit als Unix Timestamp an.
Was ist der Unix Timestamp?
Der Unix Timestamp, auch als Unix Epoche bezeichnet, ist ein allgemein in Unix und Linux verwen-
detes Zeitformat, das die Anzahl von Sekunden angibt, die seit dem 01.01.1970 00:00 UTC vergangen
sind. Dabei handelt es sich um eine zehnstellige Zahl. Nach dem Komma folgen Bruchteile von Sekun-
den. Der Unix Timestamp am 01.12.2019 00:00 UTC lautet 1575158400.
while GPIO.input(t2)==0:
zeit = time.time() - start
z[0] = int(zeit % 1000 / 100)
z[1] = int(zeit % 100 / 10)
z[2] = int(zeit % 10)
z[3] = int(zeit * 10 % 10)
Die nächste Schleife läuft, bis der Benutzer die Stopptaste 2 drückt. In jedem Durchlauf wird in der Vari-
able zeit die seit dem Start der Stoppuhr abgelaufene Zeit durch Subtraktion der gespeicherten Startzeit
von der aktuellen Zeit berechnet.
In den vier Elementen der Liste z[] werden ganze Sekunden als dreistellige Zahl und Zehntelsekunden
an der vierten Stelle errechnet und gespeichert.
while int((time.time() - start) * 10 % 10) == z[3]:
za()
Jetzt startet eine Schleife, die mit der Funktion za() die in der Liste z[] gespeicherten Ziffern so lange
anzeigt, bis seit der zuletzt angezeigten Zeit eine Zehntelsekunde vergangen ist. Erst wenn eine Zehntel-
sekunde abgelaufen ist, startet die übergeordnete while-Schleife den nächsten Durchlauf. Jetzt werden
neue Werte für die Ziffern in der Liste z[] ermittelt - vorausgesetzt, die Stopptaste 2 wurde noch nicht
gedrückt.
while GPIO.input(t3)==0:
za()
Wurde die Stopptaste 2 gedrückt, endet die Schleife, und es beginnt eine weitere while-Schleife, die dar-
auf wartet, dass der Benutzer die Rest-Taste 3 drückt. Solange dies nicht der Fall ist, werden die zuletzt
gespeicherten Ziffern mit der Funktion za() in der Liste z[] angezeigt.
Beim Drücken der Taste 3 endet auch diese Schleife, und die Hauptschleife startet ihren nächsten Durch-
lauf, in dem als erstes die vier Ziffern wieder auf 0 gesetzt werden.