Micro:Bit i cyfrowa wróżka

Projekt polega na zaprogramowaniu maszyny udającej cyfrową wróżkę, odpowiadającą na stawiane przed nią pytania. Takie gadżety były popularne w Stanach Zjednoczonych w ubiegłym wieku i działały w taki sposób, że osoba biorąca go do ręki wypowiadała na głos pytanie, potrząsała nim, a na wyświetlaczu pojawiała się odpowiedź na to pytanie. W tym projekcie dla płytki Micro:Bit opiszemy jak odtworzyć ów gadżet.

Zaznaczam, że przedstawiony tu sposób realizacji projektu to jedynie przykład, który starałem się dopasować poziomem dla osób początkujących zarówno z programowaniem w Pythonie, jak i z płytką Micro:Bit.

Co będzie potrzebne:

  • płytka Micro:Bit,
  • kabel USB do połączenia płytki i komputera,
  • komputer z dostępem do internetu.

Kod projektu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from microbit import *
from random import randint

odpowiedzi = ["tak",
        "nie",
        "moze",
        "raczej tak",
        "raczej nie",
        "malo prawdopodobne",
        "prawie pewne"]

display.scroll('Cyfrowa wrozka')
while True:
    display.show(Image.HAPPY)
    if accelerometer.was_gesture("shake"):
        los = randint(0, len(odpowiedzi) - 1)
        display.clear()
        sleep(1000)
        display.scroll(odpowiedzi[los])

Opis kodu:

W skrypcie najpierw importujemy niezbędną bibliotekę random (a właściwie samą funkcję randint()), by móc korzystać z losowości odpowiedzi wróżki. Następnie deklarujemy listę z możliwymi odpowiedziami, jakie będą się pojawiały użytkownikom Micro:Bita.

Właściwa część programu pojawia się wraz z pojawieniem się pętli while True – zaraz po wyświetlającym się tytule “Cyfrowa wróżka”. Działa ona w ten sposób, że dopóki Micro:Bit nie wykryje swoim akcelerometrem potrząśnięcia – instrukcja accelerometer.was_gesture("shake"), na wyświetlaczu LED będzie się pokazywała uśmiechnięta buźka. Gdy ruch nastąpi, to z puli wyrazów zapisanych w liście odpowiedzi zostanie wylosowany jeden i to on wyświetli się na Micro:Bicie.