BBC micro:bit JavaScript programiranje

BBC micro:bit JavaScript programiranje

BBC micro:bit možete programirati i u JavaScriptu, najjednostavnijem programskom jeziku, u kojem se programiranje izvodi na vizualno orijentirani način, dakle uz što manje pravog pisanja programskog jezika.

Autori BBC micro:bit računala predvidjeli su da se ovo računalo može programirati na različite načine – kao uostalom i svako drugo “ozbiljno računalo”. Neki programski jezici pogodniji su za rješavanje jedne vrste problema, a drugi za druge. Dostupnost većeg broja programskih jezika za isto računalo dobro je iz još jednog razloga – privlačenja postojećih programera za neki programski jezik na pisanje programa za novo računalo. Lakše ćete privući nekog programera da piše softver za određeno računalo, ako to može odmah raditi u svojem omiljenom jeziku nego da mora učiti neki drugi jezik iz početka.
Jedna od ključnih pretpostavki kod razvoja BBC micro:bit računala bila je mogućnost njegovog korištenja od strane potpunih početnika u programiranju i to najčešće pripadnika vrlo mladih dobnih skupina. Zato je upravo to računalo i izabrano za distribuciju u naše škole, zar ne?

Za takvu ciljnu skupinu najpogodniji je programski jezik (alat) u kojem se programiranje izvodi na vizualno orijentirani način, dakle uz što manje pravog pisanja programskog koda, a uz što više “klikanja” po različitim objektima u razvojnoj okolini. Tako je nastala vizualno orijentirana implementacija programskog jezika JavaScript. Zapravo više njih, ali o tome malo kasnije. Kako nema nikakve prepreke da se isto BBC micro:bit računalo iskoristi za druge mnogo naprednije projekte, koji uključuju korištenje dodatnog hardvera povezanog na osnovni hardver računala, za takve programere pripremljen je napredniji alat – posebna verzija Pythona. Treba spomenuti da postoje još napredniji načini programiranja BBC računala što uključuje čak i programski jezik C++, ali to već prelazi okvire današnjeg priloga.

U tekstu koji upravo čitate pozabavit ćemo se osnovnim vizualnim alatom za razvoj aplikacija, a zainteresirani za programiranje u C++ jeziku mogu nastaviti s proučavanjem dodatnih materijala na web adresi:
https://lancaster-university.github.io/microbit-docs/


Budući da je osnovni alat za programiranje namijenjen najmlađim generacijama vizualno orijentiran, onda ćemo i uvod u njegovo korištenje napraviti na sličan način, kao svojevrsnu „slikovnicu”.

Slika01 1

Početna web adresa od koje počinje “razvoj softvera” je www.microbitworld.me (u stvari donji dio navedene stranice). Tu se mogu pronaći alati koji omogućavaju izravan razvoj aplikacija za BBC u pregledniku – na primjer Code Kingdoms JavaScript i Microsoft’s Blocks and JavaScript editor. Prvi od spomenutih alata ujedno je alat koji ćemo koristiti za prve korake u programiranju BBC računala.

Slika02 1

Za one koji žele programirati na malo napredniji način, namijenjena je posebna implementacija programskog jezika Python. Njegovo korištenje opisano je u posebnom tekstu u našem prilogu pa na ovom mjestu nećemo više o toj temi. Ako je nekom programeru tako zgodnije, razvoj aplikacija može se umjesto na “klasičnom računalu” opremljenom nekim od najpopularnijih preglednika izvoditi i izravno na mobilnim uređajima (Android ili iPhone). Za takav način programiranja pripremljene su posebne Samsung odnosno ScienceScope aplikacije. U slučaju razvoja aplikacija na mobilnim uređajima vlastita aplikacija prenosi se na BBC-jev “kompjuterić” pomoću Bluetooth tehnologije.

Slika03

Nakon odabira jednog od dostupnih interaktivnih alata za razvoj aplikacija u pregledniku, potrebno je kliknuti na ikonu “Create Code”. Na istoj stranici dostupne su ostale opcije za uređivanje, objavljivanje, kloniranje i brisanje postojećeg koda. Sve opcije razvoja, osim objavljivanja aplikacije, dostupne su bez potrebe za posebnom registracijom korisnika.

Slika04 1

Nakon odabira opcije za stvaranje novog projekta, još jednom se može izabrati način razvoja, to jest razvojni alat. Slike u nastavku teksta pretpostavljaju da je izabrana opcija Code Kingdoms JavaScript odnosno da upravo taj alat koristimo za pripremu našeg prvog programa.

Slika05 1

Programiranje u interaktivno orijentiranim razvojnim alatima za BBC računalo u potpunosti je prilagođeno ciljanom uzrastu korisnika. Što, naravno, ne znači da oni malo stariji ne mogu programirati na isti način, ako im je tako jednostavnije. Veći dio posla oko programiranja izvodi se povlačenjem blokova koji simboliziraju različite dostupne JavaScript naredbe s lijeve strane razvojne okoline na središnji, glavni dio razvojnog sučelja – mjesto gdje se oblikuje programski kod. Nakon povlačenja pojedinog bloka s naredbom ponekad treba u njega upisati dodatne podatke, kao što je to slučaj s pozdravnom porukom korisniku na sljedećoj slici.

Desni dio razvojne okoline sadrži simulator hardverskog uređaja, tako da se testiranje aplikacije također može obaviti izravno u pregledniku. Na taj način ne trebate gubiti vrijeme oko konstantnog prenošenja trenutnih razvojnih verzija programa na sam hardverski uređaj nego sve to možete napraviti u simulatoru. Dovršenu verziju na kraju ipak možete isprobati na uređaju (za svaki slučaj).

Simulator BBC računala prikazuje onu stranu uređaja gdje se nalazi korisničko sučelje - LED ekran za prikaz podataka te dvije tipke za prihvat naredbi od strane korisnika. Oba dijela su detaljnije opisana u posebnom prilogu koji se bavi hardverom BBC računala.

Slika06

Lijevi dio razvojne okoline sadrži blokove naredbi logički grupirane u skupine pa prvo treba proučiti sve dostupne skupine. Na raspolaganju su slijedeće skupine:
- Screen
- Brightness
- System
- Sensors
- Device
- Device Music
- Device Camera
- Pins
- Serial
Engleski naziv skupine jasno govori o kakvim blokovima naredbi je riječ u pojedinoj skupini. Na primjer, grupa Screen sadrži naredbe za prikaz poruka ili uzoraka na LED ekranu uređaja dok grupa System sadrži naredbe za provjeru stanja sustava poput trenutno pritisnutog gumba (od dva dostupna gumba).
U ovom prvom primjeru vlastitog programa (analogiji standardnog “Hello World” programa kakav se obično prvo demonstrira na svim razvojnim sustavima), osim pozdravne poruke u program se dodaju blok naredbe zadužene za prikaz različitih dodatnih uzoraka na LED diodama uređaja. Obje vrste naredbi nalaze se u dijelu s popisom naredbi pod nazivom Screen.

Nakon povlačenja bloka say (na središnjem dijelu razvojne okoline prikazanog kao microbit.say) može se kliknuti na dio bloka označen s value, nakon čega se otvara dijaloški okvir za odabir vrijednosti koja se želi dodati na blok. Treba izabrati String pa nakon toga u sljedećem koraku upisati neki tekst - recimo “Hello world from BBC micro:bit”. Na kraju se klikom na zelenu kvačicu potvrđuje spremanje upisanog teksta.
Na sličan način se za blok draw (microbit.draw) klikom na oznaku Pattern prelazi na dijaloški okvir za crtanje uzorka, koji će se tijekom izvođenja naredbe prikazati na LED ekranu. Umjesto crtanja može se izabrati neki od predefiniranih uzoraka.

Slika07 1

Odabranim blokovima u glavnom dijelu programa (u stvari JavaScript funkciji onStart()) može se naknadno mijenjati redoslijed. To se također izvodi operacijom povlačenja bloka na odgovarajuće mjesto u programu. Posebno bitno kad se prva verzija programa planira dalje nadograđivati novim naredbama, a to najčešće zahtijeva reorganizaciju redoslijeda blokova zbog naknadnog umetanja novih blokova.

Klikom na gumb “Add Event” smještenom na dno programa, u program se mogu dodati dodatne funkcije za obradu događaja. Na primjer, onPressA (za obradu korisnikovog pritiska na gumb A), onDeviceShake (obrada eventualne trešnje sa samim uređajem) i slično. Osim odabira nekog od predefiniranih naziva JavaScript funkcije može se upisati i vlastiti naziv nove funkcije.

 

Za programere početnike tj. školarce, najpogodniji je programski jezik (alat) u kojem se programiranje izvodi na vizualno orijentirani način, dakle uz što manje pravog pisanja programskog koda, a uz što više “klikanja” po različitim objektima u razvojnoj okolini

Slika08

Program se u bilo kojoj fazi razvoja može odmah provjeriti tako da se izvede izravno u simulatoru smještenom u desni dio razvojne okoline. Tako se (pogotovo kod složenijih programa) može provjeriti funkcionira li program prema zamišljenom obrascu bez potrebe za samim slanjem programa u uređaj. Ako je sve u redu, pomoću opcije Compile može se pripremiti izvršni .hex oblik datoteke namijenjen prijenosu na hardverski uređaj.

Kad se program zbilja želi prenijeti na BBC uređaj, onda ga prvo treba spojiti na računalo gdje se razvija program pomoću mikro USB kabela. Ako je sve u redu, BBC se na razvojnom računalu vidi kao novi disk. Prije pripremljeni, izvršni .hex oblik datoteke treba snimiti na taj disk nekim od standardnih načina za kopiranje datoteka između diskova. To je, idemo reći, nekakvo predznanje o korištenju računala kakvo korisnik ipak treba imati prije početka programiranja.

Jednom kopirani program na BBC računalo može se pokrenuti više puta od početka tako da se na BBC računalu pritisne gumb Reset. Ako ne znate gdje se nalazi ovaj gumb, svakako bacite pogled na tekst iz našeg priloga koji obrađuje hardver BBC računala.

Slika09

Osim osnovnog i ujedno najjednostavnijeg alata za razvoj BBC aplikacija pomoću JavaScript jezika (Code Kingdoms JavaScript), ista stvar se može napraviti alternativnim razvojnim alatom za isti programski jezik (Microsoft Block Editor). Iako se i ovdje dosta toga radi vizualnim oblikovanjem programa, alat zahtijeva za nijansu veći stupanj snalaženja u programiranju.

Slika10

O tome da je Microsoftov alat znatno napredniji u pogledu mogućnosti u odnosu na osnovni alat, najlakše je primijetiti na funkcijama zaduženim za upravljanje periferijom. Na primjer, grupa Serial (s popisom naredbi zaduženim za serijsku komunikaciju) u osnovnom alatu sadrži svega tri funkcije, dok je u Microsoftovom alternativnom alatu znatno izdašnija u tom pogledu. Što znači da je u njemu upravljanje serijskom komunikacijom moguće napraviti znatno preciznije, ali uz nešto više znanja o programiranju.

Slika11

Kao što je spomenuto u uvodu ovog teksta BBC aplikacije mogu se razvijati i izravno na mobilnom uređaju - pomoću Samsungovog alata namijenjenog Android uređajima ili ScienceScope alata namijenjenog za iOS. Vrlo zgodna alternativa ako tijekom dana imate slobodne periode kad se ionako zabavljate mobilnim uređajem. Na primjer, za vrijeme prijevoza nekim od sredstava javnog prijevoza do škole i natrag.

 

Uz opisani alat Micro:BIT možete početi programirati i bez fizičkog primjera jer se na ekranu sa strane nalazi virtualni Micro:BIT koji će na vaš kod reagirati poput pravog Micro:BIT-a

Slika12

Preuzimanje Samsungovog razvojnog alata iz Google Play trgovine izvodi se na isti način kao da je riječ o bilo kojoj drugoj mobilnoj aplikaciji.

Slika13

Nakon instaliranja Samsungove aplikacije na mobilni Android uređaj (ne mora nužno biti Samsungov), razvoj aplikacije za BBC računalo može se izvoditi bez Windows računala odnosno preglednika. Vlastita aplikacija šalje se na BBC putem Bluetooth tehnologije.

Slika14

Dodatne ideje za razvoj vlastitih aplikacija, kao i mogućnost sudjelovanja na različitim natječajima s vlastitim aplikacijama mogu se pronaći na web adresi: www.microbit.org. Na istoj adresi dostupni su dodatni video materijali o programiranju i slično.

Slika15

Završimo uvodni tekst o programiranju u JavaScript jeziku dokumentom “Download Code Kingdoms cheat sheet”. Riječ je o dokumentu od jedne stranice gdje su nabrojane različite dostupne JavaScript naredbe povezane s postojećim dijelovima hardvera BBC računala.

Ako vas je nakon čitanja ovog uvodnog teksta o programiranju BBC računala pomoću JavaScript jezika zainteresirala cijela priča, preporučujemo da za nastavak skinete dokument “Download the Code Kingdoms Cookbook”. Nalazi se na adresi https://www.microbit.co.uk/ck U njemu je demonstrirano nekoliko složenijih programa također napravljenih vizualnim pristupom razvoju programa. Riječ je o knjižici koju bi bilo dobro prevesti na hrvatski jezik sad kad se planira intenzivno uvođenje BBC računala u škole.

Za naprednije programiranje u programskom jeziku Python zadužen je poseban tekst pa možete baciti pogled i na njega.

Ocijeni sadržaj
(0 glasova)

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.