App Inventor a BBC micro:bit
| Site: | Virtuálna Univerzita Mateja Bela |
| Course: | BBC micro:bit (bloky) |
| Book: | App Inventor a BBC micro:bit |
| Printed by: | Guest user |
| Date: | Friday, 5 June 2026, 2:35 PM |
1. Prepojenie App Inventoru s BBC micro:bit
Na prepojenie BBC micro:bit s MIT AppInventor je nutné pridať rozšírenia na prácu s komponentmi zariadenia. Nachádzajú sa na http://iot.appinventor.mit.edu/#/microbit/microbitintro. Rozšírenia stiahneme a pridáme do editora.

Pridanie rozšírení pre BBC micro:bit
Pridali sme možnosť pracovať s akcelerometrom, displejom, tlačidlami, magnetometrom a teplomerom.
Súčasťou každej vytváranej aplikácie by malo byť pripojenie k zariadeniu pomocou bluetooth. Nutné je vloženie rozšírenia pre prácu s bluetooth, ktoré sa nachádza na http://iot.appinventor.mit.edu/#/bluetoothle/bluetoothleintro. V príkladoch sme využívali vytvorené možnosti skenovania/pripojenia a odpojenia zariadení.

Zdroj: http://iot.appinventor.mit.edu/
Posledným krokom je vytvorenie a presunutie .hex súboru na BBC micro:bit, ktorý bude umožňovať pripojenie.
2. Micro:bit LED
3. Micro:bit tlačidlá
ReadButtonAState/ReadButtonBState – číta momentálny stav tlačidla A/B

Stlačením tlačidiel pre zvolené tlačidlo A/B prijmeme informáciu o stave tlačidiel.
RequestButtonAStateUpdates/RequestButtonBStateUpdates – požiadavka na aktualizácie stavu tlačidla A/B
StopButtonAStateUpdates/StopButtonBStateUpdates – požiadavka na skončenie aktualizácií stavu tlačidla A/B

Tlačidlo "Štart aktualizácií stavu tlačidiel" spustí skenovanie ich stavu bez prerušenia. Po začatí sa stav aktualizovania informácií zobrazí. Pri stlačení tlačidla "Stop aktualizácií" sa zastavia.
ButtonAStateReceived/ButtonBstateReceived – stav tlačidla môže byť 0 ak je nedotknuté, 1 ak je stlačené a 2 ak ho držíme

Pri prijatí informácie o stave tlačidiel sa spustia tieto metódy. Ak bolo stlačené tlačidlo, porovnáme prijatú hodnotu s číslom 0, 1 alebo 2. Pri stave 0 sa tlačidla nedotýkame, čiže sa nič nestane. Pri stave 1 bolo tlačidlo len stlačené a tento stav sa vypíše. Pri stave 2 je tlačidlo stlačené dlhšie a stav sa vypíše.
Zdrojový kód príkladu na Micro:bit Tlačidlá
4. Micro:bit accelerometer
RequestAccelerometerDataUpdates – požiadavka na upozornenia zmien akcelerometra
StopAccelerometerDataUpdates – zastavenie požiadaviek upozornení

Stlačením tlačidiel "Zapnúť/Vypnúť aktualizácie" zavoláme metódy .RequestAccelerometerDataUpdates, respektíve .StopAccelerometerDataUpdates. Tie spôsobia prijímanie aktualizácií dát z akcelerometra.
ReadAcelerometerPeriod – číta rýchlosť hlásení
AccelerometerPeriodReceived – (when) moment kedy sa získa interval hlásení

Kliknutím na tlačidlo spôsobíme zavolanie metódy .ReadAccelerometerPeriod a pri úspešnom prijatí dát o aktualizovaní sa zobrazia v poli.
ReadAccelerometerData – číta dáta z akcelerometra (súradnice X, Y, Z)
AccelerometerDataReceived – spúšťa akciu po získaní dát z akcelerometra (súradnice X, Y a Z)

Odoslanie požiadavky na čítanie dát z akcelerometra. Po ich úspešnom prijatí ich zobrazíme v zozname. Hodnoty pre súradnice X, Y a Z sú v jednotkách milliG (gravitačné preťaženie - v pokoji má zariadenie 1G, čo odpovedá 1000 milliG).
WriteAccelerometerPeriod – nastavenie rýchlosti hlásení akcelerometra v milisekundách
WroteAccelerometerPeriod – písanie intervalu hlásení akcelerometra

Metódou .WriteAccelerometerPeriod máme možnosť nastaviť periódu aktualizácií dát z akcelerometra zariadenia. Tu sú dostupné hodnoty 1, 2, 5, 10, 20, 80, 160 a 640 milisekúnd.
Zdrojový kód k príkladu Micro:bit Akcelerometer
5. Micro:bit magnetometer
RequestMagnetometerBearingUpdates - žiadosť o hlásenia o zmenách smeru
StopMagnetometerBearingUpdates - zastavenie hlásení o smerovaní

Tlačidlami spustíme alebo vypneme aktualizovanie smerovania zariadenia.
RequestMagnetometerDataUpdates - žiadosť o hlásenia o zmenách magnetometra
StopMagnetometerDataUpdates - zastavenie hlásení o zmenách magnetometra

Tlačidlami spustíme alebo vypneme aktualizácie dát z magnetometra zariadenia.
ReadMagnetometerBearing - číta smerovanie zariadenia
MagnetometerBearingReceived - udalosť, ktorá sa spúšťa v prípade prijatia dát z BBC micro:bit

Stlačením tlačidla "Smerovanie" sa spustí metóda .ReadMagnetometerBearing, ktorá číta smerovanie zariadenia. Po úspešnom získaní dát ich vypíšeme do textového poľa.
ReadMagnetometerData - číta len jednu hodnotu (smer)
MagnetometerDataReceived - udalosť, ktorá sa spúšťa v prípade prijatia parametrov (X, Y, Z) z BBC micro:bit

Stlačením tlačidla "Získať dáta" sa spustí metóda .ReadMagnetometerData a následne po úspešnom získaní dát metóda .MagnetometerDataReceived, ktorou zapíšeme do polí príslušné hodnoty.
ReadMagnetometerPeriod - zobrazuje interval hlásení
MagnetometerPeriodReceived - udalosť, ktorá sa spúšťa ak zariadenie odoslalo periódu magnetometra

Metódou .ReadMagnetometerPeriod získame informácie o perióde aktualizácií dát z magnetometra v milisekundách.
WriteMagnetometerPeriod - zmena frekvencie posielaní dát magnetometra
WroteMagnetometerPeriod - udalosť, ktorá je spustená ak sme vyžiadali periódu magnetometra

Metódou .WriteMagnetometerPeriod nastavíme hodnotu periódy aktualizácií. Hodnoty môžu byť 1, 2, 5, 10, 20, 80, 160 a 640 milisekúnd.
Zdrojový kód k príkladu Micro:bit Magnetometer
6. Micro:bit teplomer
ReadTemperature - číta aktuálnu teplotu
TemperatureReceived - udalosť, ktorá sa spúšťa pri prijatí hodnoty z teplomera

Stlačením tlačidla "Zobraz teplotu" sa nám zavolá metóda .ReadTemperature. Ak prijmeme s get temperature_value, aktuálnu teplotu, nastaví sa pole na túto hodnotu.
ReadTemperaturePeriod - číta intervaly hlásení zo senzora
TemperaturePeriodReceived - udalosť, ktorá sa spúšťa pri prijatí dát z teplomera (interval hlásení zo senzora)

Kliknutím na tlačidlo "Zobraziť periódu aktualizácií" sa zavolá metóda .ReadTemperaturePeriod a po prijatí dát sa nastaví pole pomocou get temperature_period_value na prijatú hodnotu.
WriteTemperaturePeriod - zmena frekvencie odosielaní teploty z BBC micro:bit
WroteTemperaturePeriod - zmena intervalu hlásení

Tlačidlom "Nastaviť periódu aktualizácií" sa zavolá metóda .WriteTemperaturePeriod a následne sa nastaví perióda aktualizácií teploty na nami určenú hodnotu.
RequestTemperatureUpdates - žiadosť o hlásení zmien teplomera
StopTemperatureUpdates - zastavenie hlásení zmien teplomera

Požiadavku na spustenie aktualizácií teploty spustíme pomocou metódy .RequestTemperatureUpdates a zastavíme ju cez .StopTemperatureUpdates. V tomto prípade sme zvolili jednoduchý prepínač, ktorý bude indikovať zapnutie/vypnutie skenovania.
Zdrojový kód k príkladu Micro:bit Teplomer
7. Micro:bit IO piny
ReadPinADConfiguration - číta stav konfigurácie pinov (analóg alebo digitál)
PinADConfigurationReceived - zoznam stavov analógových a digitálnych pinov

Po spustení metódy .ReadPinADConfiguration a úspešnom prijatí dát, zobrazíme zoznam analógových a digitálnych pinov.
ReadPinData - číta stav pinov
PinDataReceived - vypíše stav vstupných pinov

Metódou .ReadPinData získame dáta z pinov, ktoré sa zobrazujú ako zoznam.
ReadPinIOConfiguration - číta aktuálnu konfiguráciu vstupno-výstupných pinov
PinIOConfigurationReceived - udalosť, ktorá sa spustí po prečítaní konfigurácie I/O pinov

Získanie konfigurácie pinov na základe požiadavky metódou .ReadPinIOConfiguration. Dáta sa nachádzajú v zozname, pre každý pin s označením 0 pre výstup, 1 pre vstup.
RequestPinDataUpdates - žiadosť o aktualizácie pinov, ktoré sú nakonfigurované ako vstupné
StopPinDataUpdates - zastavenie hlásení o aktualizácii stavu pinov

Odoslanie požiadaviek na spustenie a zastavenie prijímania aktualizácií dát pinov.
WritePWMControl - zapísanie riadiaceho poľa PWM
WrotePWMControl - kontrolné informácie na BBC micro:bit

Zapísanie kontrolných dát vo formáte zoznamu.
WritePinADConfiguration - zapíše konfiguráciu pinov
WrotePinADConfiguration - udalosť po úspešnom zápise konfigurácie

Zapísanie konfigurácie pre všetkých 19 pinov metódou .WritePinADConfiguration a ich následné zobrazenie v zozname.
WritePinData - nastaví výstupné hodnoty pinov ak sú nastavené ako výstupné, zoznam 19 hodnôt
WrotePinData - udalosť, ktorá sa spustí po zapísaní výstupných pinov

Zapísanie hodnôt v zozname a ich zobrazenie.
WritePinIOConfiguration - konfigurácia pinov na vstupné a výstupné, 1 pre vstup, 0 pre výstup
WrotePinIOConfiguration - udalosť, ktorá sa spustí po aktualizácii konfigurácie I/O pinov

Zapísanie konfigurácie pinov na vstupné a výstupné v zozname a ich zobrazenie.