micro:bit

Áttekintés

Mikrovezérlő gyerekeknek

A micro:bit a BBC által megalkotott mikrovezérlő, amit elsősorban az általános iskolás korosztály számára hoztak létre. Blokkokkal, Pythonban és JavaScriptben is programozható.

microbit.jpg

A 2025-ös állapot szerint kétféle változata van, amiről részletesen a https://microbit.org/get-started/features/overview/ oldalon olvashatunk. Az alábbi ábra is onnan származik.

Felépítése

microbit-details.jpg
  • Alapegységek: az eszköz processzorának típusa Nordic nRF52833. Tartalmaz 512KB Flash memóriát és 128KB RAM-ot.
  • Kijelző: 25 LED-ből áll, 5x5-ös mátrixban elrendezve. Ezek mindegyike külön-külön vezérelhető.
  • Nyomógombok: az előlapon, a LED-ek mellett két nyomógomb található, melyek szokásos jelölése A és B. A hátlapon ezen felül van egy reset gomb is.
  • Érzékelők (szenzorok): az eszköz integráltan tartalmazza a legtöbb szokásos érzékelőt: fényerő, hőmérséklet, iránytű, gyorsulás, érintés (v2), mikrofon (v2).
  • Hangok: a 2-es változat hang kiadására is alkalmas.
  • Kommunikáció (v2): más micro:bitekkel rádió segítségével kommunikál, más eszközökhöz pedig Bluetooth-on keresztül tud kapcsolódni.
  • Csatlakozók (pin): az eszköz 25 lábat tartalmaz, melyek közül egy fixen a föld (GND), egy másik a 3V, a maradék 23 pedig általános ki- és bemeneti láb. Ezek segítségével általános mikrovezérlős projekteket hozhatunk létre, és vannak kifejezetten a micro:bithez előállított kiegészítők.

A micro:bit programozása

A https://makecode.microbit.org/ oldalon tudjuk programozni a micro:bitet. Ha összekapcsoljuk USB-n a számítógéppel, akkor pár másodperc alatt felismeri, és egy automatikusan felkínált párosítást követően közvetlenül a böngészőből tudjuk letölteni a programokat.

Alapelvek

A többi mikrovezérlőhöz hasonlóan a micro:bit esetében is két dolgot kell megmondani (leprogramozni):

  • Mi történjen induláskor?
  • Mi történjen állandóan?

Ezen felül külön programrészekben adhatjuk meg az eseményvezérlést:

  • Nyomógomb lenyomása: A, B, A+B.
  • Különböző szenzor események, pl. rázás, hang, érintés stb.
  • Események a csatlakozókon.

Blokk programozás

A blokkok az alábbi kategóriákra vannak osztva:

  • Alapok: it található a két alap belépési pont (indításkor, állandóan), valamint megjelenítés a kijelzőn.
  • Bemenet: az érzékelőket itt lehet programozni, ami lehet eseményvezérelt (pl. amikor a(z) A gomb lenyomva) vagy lekérdezéses (pl. a(z) A gomb lenyomva).
  • Zene: különböző hangkiadással és zenelejátszással kapcsolatos utasítások találhatóak itt.
  • LED: az egyes LED-eket lehet itt egyesével be- ill. kikapcsolni, valamint az állapotukat lekérdezni.
  • Rádió: ennek segítségével lehet rádión keresztül kommunikálni két micro:bit között. Számokat, kulcs-érték párokat és szöveget lehet küldeni ill. fogadni.
  • Ciklusok: számoló és tesztelő ciklusok vannak itt, valamint itt innen elérhető az ütemezés is, amit adott időközönként hajt végre az eszköz.
  • Feltételek: a feltételkezelés utasításai találhatóak itt.
  • Változók: itt tudunk változót létrehozni.
  • Matek: matematikai műveletek és konstansok érhetőek el itt.
  • Kiterjesztések: a micro:bithez mindenféle kiterjesztések vásárolhatóak, amelyeknek a vezérléséhez itt tudjuk betölteni a megfelelő modult. De olyan kiterjesztések is vannak, amelyekhez nem kell külön hardver, mint pl. az Adatnaplózó.

A Haladó témák közé az alábbiak tartoznak:

  • Függvények: itt tudunk függvényeket létrehozni, aminek lehet paramétere, visszatérési értéke, valamint itt lehet meghívni.
  • Tömbök: itt lehet tömböket létrehozni és tömb műveleteket végrehajtani.
  • Szöveg: alap szövegfeldolgozó műveletek vannak itt.
  • Játék: olyan fogalmakkal lehet itt dolgozni, mint sprint, érintésvizsgálat, életek száma stb.
  • Képek: saját 5x5-ös méretű képeket lehet létrehozni ill. megjeleníteni. Szorosan kapcsolódik a játékhoz, ugyanis a sprite-oknak lehet itt alakot hozzáadni.
  • Csatlakozó lábak: ezekkel az utasításokkal lehet lábakról adatot olvasni ill. lábakra adatot írni. Ezzel a módszerrel akár két micro:bit is összekapcsolható, ami akkor hasznos, ha az egyik v1, azaz nincs rajta rádió.
  • Soros vonal: itt azt a kommunikációt lehet megvalósítani, amit a mikrovezérlőknél TX-nek és RX-nek hívunk.
  • Vezérlés: ez eseményvezérlés jelent: eseményeket lehet létrehozni ill. figyelni.

Az alábbi példa számjegyeket ír ki. A jobb (B) gombbal lehet növelni, a bal (A) gombban pedig csökkenteni.

program.png

Python

A legegyszerűbb úgy megismerni a Python adta lehetőségeket, hogy leprogramozzuk blokkok segítségével, majd megnézzük a keletkezett Python programot. A fenti program Pythoj verzója az alábbi:

def on_button_pressed_a():
    global szam
    if szam > 0:
        szam += -1
    else:
        szam = 9
    basic.show_number(szam)
input.on_button_pressed(Button.A, on_button_pressed_a)
 
def on_button_pressed_b():
    global szam
    if szam < 9:
        szam += 1
    else:
        szam = 0
    basic.show_number(szam)
input.on_button_pressed(Button.B, on_button_pressed_b)
 
szam = 0
szam = 0
basic.show_number(szam)
 
def on_forever():
    pass
basic.forever(on_forever)

JavaScript

A JavaScript lehetőségekkel hasonlóan érdemes megismerkedni, mint a Pythonnal:

input.onButtonPressed(Button.A, function () {
    if (szam > 0) {
        szam += -1
    } else {
        szam = 9
    }
    basic.showNumber(szam)
})
input.onButtonPressed(Button.B, function () {
    if (szam < 9) {
        szam += 1
    } else {
        szam = 0
    }
    basic.showNumber(szam)
})
let szam = 0
szam = 0
basic.showNumber(szam)
basic.forever(function () {
 
})
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License