11. Das Konzept der ereignisorientierten Programmierung

11.4. Das Ereignis: Änderung eines Logikwerts an einem Pin einlesen mit "on pin ... pressed"

Der Befehlsblock "on pin ... pressed" befindet sich im rosafarbenen Auswahlmenü "Input".


Bild 1:

Dieser Befehlsblock erlaubt die Ausführung von Programmcode, für den Fall, dass der Logikwert
eines Eingabepins von logisch "0" auf logisch "1" übergeht, also für den Fall, dass die Spannung
an diesem Pin von 0V (logisch "0", GND) auf 3V (logisch "1") übergeht.

Zur Auswahl stehen hier nur die 3 Pins 0, 1 und 2 der micro:bit-Erweiterungsanschlüsse .


Beispiel:

Wir möchten den micro:bit-
Mikrocomputer um einen
zusätzlichen Taster nach
dem Schaltplan in Bild 2 er-
weitern.

So müssen wir nichts weiter
tun, als einen Taster (S1)
zwischen einen Pin unserer
Wahl (hier Pin 1) und dem
0V-Anschluss Masse (GND:
ground) zu schalten.

Der Widerstand R1 befindet
sich bereits auf der micro:bit-
Leiterplatte und muss nicht zu-
sätzlich eingebaut werden.


Ist der Taster nicht betätigt, so erhält der Pin 1 über den Widerstand R1 eine Spannung 3V, welche entsprechend
vom micro:bit als logisch "1" interpretiert wird.

Wird der Taster betätigt, so wird der Pin 1 mit GND, also mit 0V verbunden, was der micro:bit als logisch "0"
interpretiert.

Beim Loslassen des Tasters springt also der Wert am Pin 1 von logisch "0" nach logisch "1", also von 0V nach 3V.
Dieser Zustandswechsel des Signals von 0 nach 1, also das Loslassen des Tasters S1, kann mit dem Befehlsblock
"on pin P1 pressed" erfasst werden.

Passend hierzu könnte ein Programm also wie folgt aussehen:

Das Drücken (eigentlich der Vorgang des Loslassens) des externen Tasters S1 an Pin 1 erzeugt einen lächelnden
Smiley auf dem Display des micro:bit.
Die Taster A und B auf der Leiterplatte des micro:bit erzeugen hingegen einen traurigen oder neutral schauenden
Smiley.