wie du mit einfachen Befehlsfolgen (Programmstruktur Sequenz) die einzelnen LEDs und mit der Wiederholstruktur for mehrere LEDs nacheinander einschalten kannst.
LED-Display
Die 64 LEDs des Displays sind in einer 8x8 Matrix angeordnet und über ihre x- und y-Position einzeln ansprechbar. Mit
dot(x, y, color)
leuchtet die
LED an der Position x, y mit der gegebenen Farbe.
Du kannst alle leuchtenden LEDs mit den Befehl clear() wieder ausschalten.
MUSTERBEISPIELE
LEDs ein- und ausschalten
Dein Programm soll die LEDs in der mittleren Reihe der Reihe nach ein- und ausschalten. Der Befehl sleep(400) hält das Programm 400 Millisekunden an. Dadurch bleibt die gerade leuchtende LED während dieser Zeit eingeschaltet.
Damit du mit Zufallszahlen programmieren lernst, soll in diesem Beispiel wiederholt eine zufällig ausgewählte LEDs ein- und ausgeschaltet werden. In der Funktion randomLed() werden zuerst alle LEDs gelöscht,und nachher zwei Zahlen zwischen 0 und 4 gewählt und die LED mit diesen Koordinaten mit maximaler Helligkeit eingeschaltet.
Im Hauptprogramm wird die Funktion randomLed() in einer Endlosschleife alle 200 Millisekunden aufgerufen. Das Programm läuft also so lange, bis du ein neues Programm hinunterlädst, den Resetknopf (Button neben dem USB-Anschluss) drückst oder die Stromversorgung unterbrichst.
Im Modul microbit sind mehrere 5x5 Pixelbilder gespeichert, die du auf dem Display anzeigen kannst. Die Bildnamen siehst du hier
oder in der Dokumentation.
Mit dem Befehl display.show() kannst du diese Bilder anzeigen. In diesem Beispiel werden nacheinander Pfeile angezeigt, die nach Norden, Osten, Süden und Westen zeigen.
Jedes Bild wird 1000 Millisekunden angezeigt. Mit einer for-Schleife kannst du den Vorgang dreimal wiederholen.
Du kannst auch eigene Images erstellen, indem du als Parameter von Image einen String definierst, der aus 5 Blöcken mit je 5 Zahlen 0 bis 9 besteht. Die Blöcke entsprechen den einzelnen Zeilen. Die Zahlen legen die Helligkeit im Bereich 0 (dunkel) bis 9 (ganz hell) fest.
Das folgende Programm zeigt ein Quadrat mit den Randpixeln in voller Helligkeit.
Zur Ansteuerung des LED-Displays verwendest du das Objekt display mit den Funktionen set_pixel(), show(), scroll() und clear(). Du orientierst dich am besten im TigerJython-.Menü unter Hilfe | APLU-Dokumentation | micro:bit | MicroPython API über die erlaubten Parameter.
ZUM SELBST LÖSEN
1.
Schreibe ein Programm, welches nacheinander vier diagonale Pfeile darstellt:
Image.ARROW_NW
Image_ARROW_NE
Image.ARROW_SW
Image.ARROW_SE.
2.
Mit einer doppelten for-Schleife
for y in range(5):
for x in range(5):
display.set_pixel(x, y, 9)
sleep(400)
kannst du alle LEDs der Reihe nach einschalten. Die LEDs sollen danach alle gleichzeitig mit dem Befehl clear() ausgeschaltet werden und zwar 1000 Millisekunden nachdem die letzte LED eingeschaltet wurde.
3.
Schreibe ein Programm, welches zuerst die oberste LED-Reihe, dann die zweite, dritte usw. einschaltet. Lasse den Vorgang in einer Endlosschleife ablaufen.