TigerJython4Kids
HomeTurtlegrafikRobotikDatenbanken
display

2. LED-DISPLAY

 

 

DU LERNST HIER...

 

wie man mit dem LED-Display Textmeldungen und einfache Bilder anzeigen kann.

 

 

25 LEDs

 

Die 25 LEDs des Displays sind in einer 5x5 Matrix angeordnet und über ihre x- und y-Position einzeln ansprechbar. Mit

display.set_pixel(x, y, n)

leuchtet die LED an der Position x, y mit der Helligkeit n, wobei n eine Zahl von 0 bis 9 ist. Für n = 9 ist die LED am hellsten, für n = 0 ist sie ausgeschaltet.

Du kannst alle LEDs mit display.clear()
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.

 




from microbit import *

for x in range(5):
    display.set_pixel(x, 2, 9)
    sleep(400)
    display.set_pixel(x, 2, 0)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

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.

from microbit import *
from random import randint

def randomLed():
    display.clear()
    x = randint(0, 4)
    y = randint(0, 4)    
    display.set_pixel(x, y, 9)

while True:
    randomLed()
    sleep(200)  
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

 

Images anzeigen

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.

from microbit import *

for i in range(3):
    display.show(Image.ARROW_N)
    sleep(1000)
    display.show(Image.ARROW_E)
    sleep(1000)
    display.show(Image.ARROW_S)
    sleep(1000)
    display.show(Image.ARROW_W)
    sleep(1000)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

 

Eigene Images erstellen

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.
 





from microbit import *

img = Image('99999:90009:90009:90009:99999:')
display.show(img)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

 

 

MERKE DIR...

 

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.

 

2-1
Fachliche Hinweise:

Bilder, die in der Klasse Image definiert sind:

HEART, HEART_SMALL, HAPPY, SMILE, SAD, CONFUSED, ANGRY, ASLEEP, SURPRISED,
SILLY, FABULOUS, MEH, YES, NO, CLOCK12, CLOCK11, CLOCK10, CLOCK9, CLOCK8,
CLOCK7, CLOCK6, CLOCK5, CLOCK4, CLOCK3, CLOCK2, CLOCK1, ARROW_N,
ARROW_NE, ARROW_E, ARROW_SE, ARROW_S, ARROW_SW, ARROW_W, ARROW_NW,
TRIANGLE, TRIANGLE_LEFT, CHESSBOARD, DIAMOND, DIAMOND_SMALL, SQUARE,
SQUARE_SMALL, RABBIT, COW, MUSIC_CROTCHET, MUSIC_QUAVER, MUSIC_QUAVERS,
PITCHFORK, XMAS, PACMAN, TARGET, TSHIRT, ROLLERSKATE, DUCK, HOUSE,
TORTOISE, BUTTERFLY, STICKFIGURE, GHOST, SWORD, GIRAFFE, SKULL, SNAKE