Deutsch English |
DU LERNST HIER... |
wie man die beiden Calliope-Buttons verwendet, um interaktive Programme zu entwickeln. |
AUF DRÜCKEN EINES BUTTONS REAGIEREN |
|
Programm: from calliope_mini import * while True: if button_a.is_pressed(): display.show(Image.NO) else: display.clear() sleep(10) Das überflüssig erscheinende sleep(10) ist wichtig, damit du nicht unnötig viele Rechnerressourcen verschwendest, wenn das Programm nichts anderes machen muss, als zu überprüfen, ob der Button gedrückt ist. In der Fachsprache sagt man auch, dass der Zustand des Buttons in der Endlosschleife "gepollt" wird. |
AUF KLICKEN EINES BUTTONS REAGIEREN |
Programm: from calliope_mini import * def blink(x, y): display.set_pixel(x, y, 9) sleep(500) display.set_pixel(x, y, 0) sleep(500) while True: if button_a.is_pressed(): display.show(Image.SQUARE) sleep(1000) display.clear() blink(2, 2) sleep(10) So wie du es von den Mausklicks kennst, kannst du auch hier mit einem Button-Klick ein laufendes Programm unterbrechen und eine andere Aktion ausführen. In einer endlosen while-Schleife lässt du die mittlere LED mit einer Periode von 200 ms blinken. Mit einem Klick auf den Button A wird das Blinken unterbrochen und während 1000 ms ein Quadrat anzeigen. Dann wird das Programm mit Blinken wieder fortgesetzt. Du verwendest auch hier die Funktion button_a.was_pressed(). Der Klick wird als Event aufgefasst, der vom System auch dann registriert wird, wenn dein Programm gerade etwas anderes macht. Programm: from calliope_mini import * def blink(x, y): display.set_pixel(x, y, 9) sleep(500) display.set_pixel(x, y, 0) sleep(500) while True: if button_a.was_pressed(): display.show(Image.SQUARE) sleep(1000) display.clear() blink(2, 2) sleep(10) |
MERKE DIR... |
Du kannst interaktive Programme entwickeln, die auf einen gedrückt gehaltenen Button oder auf einen Button-Klick reagieren. Mit der Funktion is_pressed() muss der Button gedrückt sein, damit True zurückgegeben wird, mit der Funktion was_pressed() wird True zurückgegeben, wenn der Button seit dem tart des Programms oder seit dem letzten Buttonklick irgendwann mal geklickt wurde. |
ZUM SELBST LÖSEN |
|