import machine # Bibliothek "machine" einbinden --> Gibt einfachen Zugriff auf Pins und andere Hardwaresachen
import utime # Bibliothek "utime" einbinden --> Gibt einfachen Zugriff auf Zeitfunktionen
import _thread # Bibliothek für gleichzeitige, parallele Prozesse einfügen
led = machine.Pin(15, machine.Pin.OUT)
# Pin 15 als Ausgangspin setzen, damit Strom darauf gegeben werden kann.
# Pin 15 bekommt den Namen "led"
button = machine.Pin(2, machine.Pin.IN, machine.Pin.PULL_DOWN)
# Pin 2 als Eingangspin setzen, damit dort Strom gemessen werden kann.
# Den Programmierbaren, internen Widerstand auf Gnd setzen, damit der Standardwert
# bei losgelassenem Knopf immer 0 ist.
# Dieser konfigurierte Pin bekommt den Namen "button"
global knopfdruck
# Variable "knopfdruck" erstellen und sie für alle Prozesse verfügbar machen
knopfdruck = False
# die Variable "knopfdruck" auf den Wert False setzen
def knopfleser_thread(): # Den Nebenprozess "knopfleser_thread" definieren
global knopfdruck # die globale Variable "knopfdruck" aufrufen
while True: # Eine eigene Endlosschleife öffnen
if button.value() == 1: # Den Knopf-Zustand abfragen
knopfdruck = True # Die Variable "knopfdruck" auf True setzen
# --> Sie hat dann einen anderen Wert, der abgefragt werden kann
utime.sleep(0.01) # Eine hundertstel Sekunde warten, damit der Prozessor nicht überlastet
_thread.start_new_thread(knopfleser_thread, ()) # den Nebenprozess starten
while True: # Endlosschleife eröffnen, hier kommt unser Programm rein
if knopfdruck == False: # Jetzt frage ich nicht mehr den Zustand des Knopfes ab,
# sondern den Inhalt der Variable "knopfdruck"
print("Warte auf Knopfdruck") # Schreibe eine Nachricht, vor allem um zu wissen, wo Fehler sind
utime.sleep(1)
elif knopfdruck == True: # Wenn ansonsten die Variable Knopfdruck den Wert True hat,...
print("Der Knopf wurde gedrückt")
led.on() # LED anschalten
utime.sleep(1) # Halbe Sekunde warten
led.off() # LED ausschalten
#utime.sleep(1) # Halbe Sekunde warten
knopfdruck = False # Den Zustand der Variable zurücksetzen auf False
else:
print("Wer das liest hat das Universum kaputt gemacht") # Das wird nie eintreten