A MálnaSuli oldalain kiváló leírás olvasható a microbit programozásáról Dr. Abonyi-Tóth Andortól az ELTE Informatikai Karának adjunktusától. A hiánypótló anyag 14, egyenként 90 perces egységben tárgyalja a microbit programozását az alapoktól, kiváló lehetőséget biztosítva arra, hogy a diákok szakköri, vagy akár tanórai keretek között sajátíthassák el a sokoldalú kis eszköz programozását.

Az elsősorban tanároknak szánt segédanyag a microbit programozását JavaScript blokk-szerkesztő segítségével mutatja be. Ennek a cikknek (illetve cikk-sorozatnak) azért adtuk a programozás – másképp címet, mert szeretnénk egy másik lehetőséget bemutatni, a kódolást micropython segítségével.

Természetesen nem cél sem összemérni, sem rangsorolni a két programozási környezetet, a blokk-szerkesztő vizuális felületével kiváló belépő szintű lehetőség arra, hogy a fiatalabb korosztály megkedvelje és megértse a programozás alapjait, az alkalmazás vizuális megoldásaival remekül mutatja be a különböző programozási szerkezetek felépítését. A gyakorlati tapasztalatok alapján összefoglalóan azt mondhatjuk, hogy a micropython javára írható, hogy nem rendelkezik azokkal a kötöttségekkel amikkel egy blokk alapú nyelv, az elkészült program mentése, illetve eszközre töltése nagyon világos és egyszerű, valamint, ami főleg oktatási helyzetben nagy előny, offline környezet, működése nem igényel folyamatos internet kapcsolatot.

A program használata

A micro:bit-ről a fent hivatkozott anyag ötödik oldalán olvasható kiváló összefoglalás, úgyhogy itt most azonnal belevágunk a programozásba, feltételezve, hogy a micro:bit már csatlakoztatva várakozik a számítógép mellett!

A micropython programozási környezetet az alábbi linkről tudjuk letölteni:

https://codewith.mu/en/download

Az oldal betöltődése után nincs más dolgunk, mint kiválasztani a hardver platformot (pc, mac vagy raspberry pi), illetve az operációs rendszert (windows, mac-osx, raspbian):

A micopython letöltő oldala

A python szerkesztő sikeres letöltése után a program a következő kezdőképpel indul:

A szerkesztő nyitóképernyője

Ahogy a kép is utal rá, a szerkesztő indításánál kiválaszthatjuk, hogy milyen eszközt szeretnénk programozni. Ezt a későbbiekben is megtehetjük bármikor, ha használjuk a program első, Mode menüpontját. A választható eszközök listája a következő:

Eszközlista

Miután kiválasztottuk a BBC micro:bit-et, elkezdhetjük begépelni első programunkat:

 

from microbit import *
display.scroll("Hello world, itt a micro:bit.")

 

A program első sora importálja (behívja) a micro:bit eljárásgyűjtemény könyvtárát, a második sor jobbról balra lépteti (scroll) a szöveget a ledmátrix-on. Ebben a programban a folyamat egyszer játszódik le.

Ha azt szeretnénk, hogy a felirat ne csak egyszer fusson végig a kijelzőn, akkor az egyik lehetőség, hogy a display.scroll parancsot egy un. hurokban, ciklusban (loop) helyezzük el. Az alábbi módosított programmal feliratunk 1 másodperces szünetekkel ismételi magát a kijelzőn:

 

from microbit import *
while True:
    display.scroll("Hello world, itt a micro:bit.")
    sleep(1000)

 

A while ciklus mindaddig fut, míg az utána írt logikai feltétel igaz. Ebben az esetben a True (igaz) feltétel beírásával biztosítottuk, hogy ez mindig így legyen, tehát olyan hurkot állítottunk elő, ami a program megszakításáig futni fog.

A következő két sor az un. ciklusmag, itt találhatók azok az utasítások, amik ismétlődni fognak. Fontos szintaktikai szabály, hogy ezeket a sorokat a tab billentyű lenyomásával beljebb kell kezdeni!

A sleep utasítás egy másodperces várakozást állít be, mértékegysége milliszekundum.

A kijelzőn a beépített függvények segítségével feliratok, emotikonok jeleníthetők meg, de lehetőség van az 5×5-ös ledmátrix „pixelenkénti” programozására is. Erre szolgál az alábbi utasítás:

 

display.set_pixel(x,y,b)

 

Az x, y értékek a led (pixel) helyzetét, a b (brightness) pedig fényerejét állítják be. Az utóbbi értéket 10 fokozatban, 0-9 között lehet beállítani.

Az alábbi program a kijelző négy sarkában lévő ledeket kapcsolja be egymás után, 5-ös fényerővel. A kiinduló pozíció 0,0 a bal felső sarok.

 

from microbit import *    
display.set_pixel(0,0,5)
sleep(1000)
display.set_pixel(4,0,5)
sleep(1000)
display.set_pixel(4,4,5)
sleep(1000)
display.set_pixel(0,4,5)
sleep(1000)

 

Végül, hogy az ilyen eszközöknél szinte kötelező jellegű ledvillogtató program se maradjon ki, egy egyszerű példa a mátrix középső pixelének villogtatására:

 

from microbit import *
while True:
    display.set_pixel(2,2,9)
    sleep(1000)
    display.set_pixel(2,2,0)
    sleep(1000)

 

Programjaink megírásánál, mentésénél és micro:bit-re töltésénél az alábbi menü elemeket használhatjuk:

Menü ikonok programjaink kezeléséhez

Programunk begépelése előtt nyissunk egy új „oldalt” a New menüpont segítségével. A program elkészülte után mentsünk a Save menüponttal, majd töltsük az alkalmazást a micro:bit-re a Flash gomb megnyomásával. Hasonlóan egyéb programozási környezetekhez, a hátlapi sárga led villogása jelzi a feltöltést, majd 1-2 másodperc múlva már fut is a feltöltött program az eszközön. Ha új programot szeretnénk kipróbálni, kattintsunk a New ikonra, ilyenkor a szerkesztő egy új fülön nyitja meg az új oldalt, így könnyen tudunk lapozni megnyitott programjaink között!

Programunk a szerkesztőben

A négy forráskód letölthető:

A cikkben használt BBC micro:bit és sok más tartozéka megvásárolható a MálnaPC Webshopjában!