Met de accelerometer kun je detecteren of de micro:bit bewogen wordt en op welke manier. MicroPython kan de volgende gestures detecteren: up
, down
, left
, right
, face up
, face down
, freefall
, 3g
, 6g
, 8g
, shake
. Gestures worden weergegeven als strings.
Om het huidige gesture uit te lezen, gebruik je de volgende methode: accelerometer.current_gesture
Probeer het volgende voorbeeld te begrijpen. Zet het op je micro:bit.
from microbit import * while True: gesture = accelerometer.current_gesture() if gesture == "face up": display.show(Image.HAPPY) else: display.show(Image.ANGRY)
We gebruiken weer een while loop om constant te meten. In de loop gebruiken we een variabele gesture en daar stoppen we het huidige gesture in. Als de gesture gelijk is aan "face up" wordt de afbeelding HAPPY getoond en anders de afbeelding ANGRY.
Let op het dubbele is gelijk teken om te bepalen of de waarde van de variabele gelijk is aan iets!
Neem de theorie door.
Magic-8
Probeer de code. Zet het op je micro:bit.
from microbit import * import random answers = [ "It is certain", "It is decidedly so", "Without a doubt", "Yes, definitely", "You may rely on it", "As I see it, yes", "Most likely", "Outlook good", "Yes", "Signs point to yes", "Reply hazy try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Don't count on it" "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful", ] while True: display.show("8") if accelerometer.was_gesture("shake"): display.clear() sleep(1000) display.scroll(random.choice(answers))
Er wordt een array met antwoorden ingelezen. De naam van het array is answers. Pas bij de while begint het eigenlijke programma. Standaard wordt er een 8 getoond. Als er geschud wordt met de micro:bit wordt eerst het scherm leeggemaakt, dan 1000ms gewacht en tenslotte wordt er een random antwoord getoond.