1. App Inventor



Displej

V ukážke editora MakeCode sme vytvorili niekoľko možností zobrazovania obrázkov, textu a čísel. Za každým z príkladov je nastavené pozastavenie 1000ms (1 sekunda). Obyčajne sa v jazyku MicroPython využije funkcia display.show() ak je zobrazovaný text do 5x5 pixelov. Ak je dlhší, využije sa display.scroll(). V editore MakeCode je možné si vybrať spomedzi niekoľkých vstavaných obrázkov, čo urýchľuje prácu s programom. Užitočnou funkciou je vymazanie obrazovky, čo sa hodí ak už nechceme zobrazovať určitú informáciu. 


from microbit import *
while True:
    display.show("48")
    sleep(1000)
    display.show("00005:05050:00555:00500:55555")
    sleep(1000)
    display.show(Image.MEH)
    sleep(1000)
    display.scroll("Dlhy retazec")
    sleep(1000)
    display.clear()
  Ukážka: https://makecode.microbit.org/_MM3gK5HeWgAb


Tlačidlá

Tlačidlá sú vstupné zariadenia s niekoľkými funkciami. Môžeme ich stlačiť alebo držať stlačené. V ukážke sme použili časť predošlého príkladu. Využili sme tlačidlá A a B na zobrazenie čísla a nami vytvoreného obrázka.

from microbit import *
while True:
    if button_a.was_pressed():
        display.show("48")
        sleep(1000)
        display.clear()
    elif button_b.was_pressed():
        display.show("00066:00060:66666:00600:66666")
        sleep(1000)
        display.clear()
Ukážka: https://makecode.microbit.org/_X8whhA7i1DPq 


Hudba

K počúvaniu hudby je nutné disponovať reproduktormi, ktoré sa pripoja na Pin0 a GND. V editore MakeCode toto nutné nie je. Máme možnosť vytvárať si vlastné melódie, púšťať rôzne tóniny alebo použiť už vopred vytvorené skladby. V ukážke sme stlačením tlačidla A spustili vstavanú melódiu. Stlačením tlačidla B bol spustený jeden tón a následne nami vytvorená krátka melódia.

Melody

Vytváranie vlastnej melódie.

from microbit import *
import music
while True:
    melodia = ["C5", "F", "A", "C5", "F", "B", "C", "C"]
    if button_a.was_pressed():
        music.play(music.ODE)
    elif button_b.was_pressed():
        music.play(["G4:1"])
        music.play(melodia)
  Ukážka: https://makecode.microbit.org/_K8EXs4d1e2ph


Matematické operácie 

V práci s BBC micro:bit môžeme použiť ktorékoľvek matematické úkony pomocou importovania knižnice math. V ukážke sa nachádzajú niektoré matematické úkony - sčítanie (takýmto spôsobom fungujú aj ostatné - odčítanie, delenie, násobenie). Samozrejmosťou je zaokrúhľovanie čísel aj pri delení, odmocniny, výber náhodného čísla z určitého rozmedzia. 

from microbit import *
import random
while True:
    stranaA = 81
    stranaB = 4
    stranaC = 0
    if button_a.was_pressed():
        stranaC == stranaA / stranaB
    elif button_b.was_pressed():
        stranaC == stranaA * stranaB
    elif accelerometer.current_gesture() == "shake":
        stranaC == random.randint(stranaA, stranaB)
    display.show(round(stranaC))

Ukážka: https://makecode.microbit.org/_iM7X54PwAdMd


Senzory

Kompas

Kompas je nutné v praktickej práci s BBC micro:bit kalibrovať pomocou funkcie compass.calibrate(). Smerovanie kompasu udávajú čísla od 0 do 359, kde 0 je sever. V ukážke sme vytvorili jednoduchý kompas ukazujúci svetové strany podľa smerovania dosky. Prvým krokom bola síce kalibrácia ale v tomto prípade to nutné nebolo. Dôležité bolo vytvorenie premenných (východ, západ, sever, juh) a nastavenie ich rozmedzia. V ďalšom kroku stačilo vytvoriť podmienky a zobraziť šípku svetovej strany. 

from microbit import *
compass.calibrate()
while True:
    if compass.heading() >= 350 and compass.heading() <= 10:
        display.show(Image.ARROW_N)
        sleep(1000)
        display.clear()
    elif compass.heading() >= 80 and compass.heading() <= 100:
        display.show(Image.ARROW_E)
        sleep(1000)
        display.clear()
    elif compass.heading() >= 170 and compass.heading() <= 190:
        display.show(Image.ARROW_S)
        sleep(1000)
        display.clear()
    elif compass.heading() >= 260 and compass.heading() <= 280:
        display.show(Image.ARROW_W)
        sleep(1000)
        display.clear()

Ukážka: https://makecode.microbit.org/_KMLco0EToJ7w

Teplomer

Teplomerom meriame aktuálnu teplotu okolo BBC micro:bitu. Existuje len jedna funkcia v jazyku MicroPython - temperature(). V ukážke sme zobrazili aktuálnu teplotu. 

from microbit import *
while True:
    display.show(temperature(), loop=True)

Ukážka: https://makecode.microbit.org/_Ve7Jhhgxj0HC

Rádio

Rádio umožňuje komunikáciu medzi zariadeniami. V ukážke sme vytvorili odoslanie čísla a reťazca zo zariadenia na druhé. Po prijatí čísla aj správy, sa zobrazí fajka, respektíve text "Správa bola prijatá".

Prvé zaradenie:

from microbit import *
import radio
while True:
    radio.on()
    radio.config(power=7, group=1)
    radio.send("14")
    radio.send("Ahoj, tu zariadenie A")

Druhé zariadenie: 

from microbit import *
import radio
while True:
    radio.on()
    radio.config(power=7, group=1)
    sprava = radio.receive()
    if sprava.isdigit():
        display.show(Image.YES)
    elif isinstance(sprava, str):
        display.show("Sprava prijata:" + sprava)

Ukážka: https://makecode.microbit.org/_2KqViCgFRhDH

Akcelerometer 

Akcelerometrom môžeme merať rôzne hodnoty - sklon dosky, smerovanie, rýchlosť pádu alebo aj silu gravitácie. Môžeme ho používať aj ako vstupné zariadenie, ktoré bude detekovať napríklad potrasenie zariadenia. V ukážke sme vytvorili zobrazovanie rôznych obrázkov podľa pohybu zariadenia - potrasenie, sklon.

from microbit import *
while True:
    gesto = accelerometer.current_gesture()
    if gesto == "shake":
        display.show(Image.ANGRY)
        display.clear()
    elif gesto == "down":
        display.show(Image.NO)
        display.clear()
    elif gesto == "left":
        display.show(Image.GHOST)
        display.clear()
    elif gesto == "right":
        display.show(Image.SWORD)
        display.clear()

Ukážka: https://makecode.microbit.org/_a41gm6UJFKw9