You are on page 1of 27

Uvod u micro:bit

Tomislav Pandurić
Osnovna škola Franje Krežme, Osijek

26. veljače 2017.


Tomislav Pandurić
UVOD U MICRO:BIT

Sadržaj

Upoznajmo micro:bit ......................................................................................... 1

Programiranje micro:bita ................................................................................... 3

Microsoft PXT.................................................................................................... 6

Komunikacija s računalom ............................................................................... 14

Prebacivanje podataka na micro:bit ................................................................. 15

Primjeri programa ............................................................................................ 16

Bluetooth komunikacija ................................................................................... 21

Edukacijski materijali....................................................................................... 25

Ova licenca dopušta drugima da remiksiraju, mijenjaju i prerađuju Vaše djelo u nekomercijalne svrhe. Iako
njihova nova djela bazirana na Vašem moraju Vas navesti kao autora i biti nekomercijalna, ona pritom ne moraju
biti licencirana pod istim uvjetima.

Pravni tekst licence

Za sve sugestije ili primjedbe kontaktirajte autora: e-mail: tomislav.panduric@skole.hr


Tomislav Pandurić
UVOD U MICRO:BIT

Upoznajmo micro:bit

Prednja strana:
- A i B prekidač (tipka)
- LED matrica 5x5 (svakom LED moguće je zasebno upravljati)
- U/I konektori (pinovi 0-2)

Stražnja strana:
- Konektor napajanja
- Reset tipka za ponovno pokretanje programa
- micro USB konektor za povezivanje s računalom
- Procesor (32-bit ARM Cortex CPU 16K 16Mhz)
- Senzor za kompas (magnetsko polje)
- Senzor kretanja (akcelerometar - x,y i z os)
- Mikrokontroler

1
Tomislav Pandurić
UVOD U MICRO:BIT

Više informacija o micro:bitu možete pronaći na poveznici:


http://microbit.org/hr/hardware/

2
Tomislav Pandurić
UVOD U MICRO:BIT

Programiranje micro:bita
Izradu programa za micro:bit možemo vršiti online (povezani na internet) ili oflline
pomoću programa instaliranih na računalu.

Programiranje online
Online programe možemo podijeliti na dvije glavne skupine: vizualni blok editori
i tekstualni editori. Online programe možemo pronaći na slijedećoj poveznici:
http://microbit.org/hr/code/

Vizualni blok editori


Vizualni blok editori namijenjeni su djeci kako bi ih se lakše uvelo u svijet
programiranja. Izrada programa pomoću ovakvih editora slična je slaganju kockica
ili puzzle, gdje su kockice (blokovi s naredbama) podijeljeni po kategorijama te se
svaka kategorija razlikuje po boji. Uz svaku naredbu moguće je povezati samo
određene druge naredbe kako bi se kod složio baš poput kockica te je gotovo
nemoguće upotrijebiti krivu naredbu jer se "kockice" (puzzle) neće posložiti.

3
Tomislav Pandurić
UVOD U MICRO:BIT

Tekstualni editori
Online tekstualni editori se od klasičnih programa (programskih jezika) razlikuju
jedino u sučelju. Zahtijevaju ručni unos koda te za njihovo korištenje trebate
poznavati programski jezik potreban za pisanje koda.

Treba napomenuti da je Microsoft Touch Develop neka vrsta "hibrida" između


vizalnog blok editora i tekstualnog editora, te je predviđen za rad na pametnim
telefonima ili tabletima jer omogućava korisniku prijenos programa na micro:bit
korištenjem Bluetooth tehnologije.Također, Microsoftov PXT uvršten je u obje
kategorije iz razloga što omogućava izradu programa pomoću blok editora i u
programskom jeziku JavaScript.

Offline programiranje
Offline programiranje vrši se programima instaliranim na računalo. Budući da
micro:bit koristi .hex izvedbenu datoteku, potrebno je za određeni programski jezik
pronaći konverter koji može prevesti kod u ovu vrstu datoteke. Najelegantnije
rješenje trenutno pruža MU editor, koji je predviđen za izradu koda za micro:bit.
Programiranje se vrši u microPython-u te se prilikom snimanja datoteke ona snima

4
Tomislav Pandurić
UVOD U MICRO:BIT

u .hex formatu umjesto u standarnom Phytonovom .py. Također, prilikom samog


pisanja koda, za svaku naredbu otvara se izbornik s ponuđenim predviđenim
naredbama (poput Intellisense prozora u Small Basicu).

Osim MU editora, program prilagođen za izradu programa za micro:bit je i Visual


Studio Code, koji nudi brojne programske jezike za pisanje koda. Također zahtjeva
poznavanje nekog od ponuđenih programskih jezika (Phyton, C++,...).

5
Tomislav Pandurić
UVOD U MICRO:BIT

Microsoft PXT
Microsoft PXT online editor (http://pxt.microbit.org), kao što je ranije spomenuto
pripada kategoriji vizualnih blok editora, što ga čini prikladnim za rad s djecom.
Istovremeno, može se koristiti i kao tekstualni editor te iskusnijim korisnicima
omogućava i pisanje koda u JavaScriptu.

Iznimno intuitivan program koji djeca svladaju u kratkom vremenu. Način slaganja
koda poput je slaganja puzzle, gdje su naredbe podijeljene u kategorije, te se
različite kategorije razlikuju po bojama omogućava brz i efikasan pronalazak
željenog bloka s naredbom.

Sam program možemo podijeliti na nekoliko dijelova, kako bi olakšali snalaženje


novim korisnicima.

Prostor za slaganje koda

Prostor u kojem slažemo kod, odnosno blokove naredbi služi nam kako bi "složili"
željeni program. Osim prostora za slaganje blokova naredbi sadrži i tipke za

6
Tomislav Pandurić
UVOD U MICRO:BIT

povećanje i smanjenje prikaza, kao i tipke za poništavanje prethodnog koraka ili


"povratak" korak naprijed kako bi poništili posljednji korak povratka.

Nakon što pronađemo blok s naredbom koju želimo upotrijebiti, metodom


povuci&ispusti (drag&drop) postavljamo ju na željeno mjesto u prostoru za izradu
koda, istovremeno ju povezujući s drugim naredbama.

Blok s kategorijama naredbi

Kategorije naredbi nalaze se u središnjem djelu programa. Svaka kategorija ima


svoju boju koju sadrže i blokovi naredbi u toj kategoriji. S desne strane nalazi se
klizač kojim se spušta prema dodatnim kategorijama koje nisu odmah vidljive.
Dodatne kategorije otvaraju se klikom na grupu Advanced, a moguće je i dodavanje
dodatnih kategorija.

7
Tomislav Pandurić
UVOD U MICRO:BIT

Odabirom željene kategorije pored svih kategorija (desno) otvara se novi izbornik
u kojem odabiremo željenu naredbu. Metodom povuci&ispusti odvučemo ju na
željeno mjesto u prostoru za kreiranje koda. Određene kategorije imaju i dodatne
naredbe koje nisu odmah vidljive već ih otvaramo odabirom more... ispod naziva
odabrane kategorije.

8
Tomislav Pandurić
UVOD U MICRO:BIT

Simulator

S lijeve strane blok editora nalazi se simulator koji u svakom trenutku simulira,
odnosno prikazuje trenutni program koji izrađujemo. Ispod samog simulatora
nalaze se gumbi za pokretanje/zaustavljanje trenutnog programa, ponovno
pokretanje izvedbe programa (restart), utišavanje zvukova te prikaz simulatora
preko cijelog zaslona.

Treba pripaziti da neke naredbe simulator ne može prikazati, pogotovo ako u kodu
koristite priključke na vanjske elemente ili uređaje ili međusobnu komunikaciju
nekoliko uređaja.

U donjem lijevom kutu editora nalazi se gumb kojim možemo privremeno sakriti
simulator ukoliko nam je potreban veći prostor za izradu koda ili ga ponovno
prikazati.

9
Tomislav Pandurić
UVOD U MICRO:BIT

Izbor načina kodiranja

Kao što smo rekli, PXT omogućava promjenu načina izrade programa od odluke
da program izrađujemo u vizualnom editoru ili da pišemo kod u JavaScriptu. Ovaj
izbor vršimo odabirom željenog načina pritiskom na jedan od izbornika.

Tipke za snimanje gotovog programa

Tipke za snimanje gotovog programa nalaze se u donjem lijevom kutu online


editora. Također postoji i prostor za dodavanje imena našem programu kako bi ga
znali o kojem se programu radi te kako ga pretraživač ne bi snimio pod imenom
untitled. Nakon što upišemo naziv programa preuzimanje .hex izvršne datoteke
vršimo klikom na gumb Download ili na gumb sa sličicom diskete.

Otvaranje projekata i dijeljenje gotovih programa

Gotove projekte (programe) snimljene na računalo možemo otvoriti ili podijeliti s


drugim korisnicima u bilo kojem trenutku.

Odabirom gumba Projects otvara se dodatan izbornik u kojem možemo započeti


novi projekt, otvoriti posljednje projekte ili pretražiti računalo za ranije

10
Tomislav Pandurić
UVOD U MICRO:BIT

spremljenim programima te ih ponovno otvoriti u online editoru. Ovaj izbor vršimo


u kartici My stuff. U kartici Make možemo odabrati željeni projekt, uz kojeg nakon
pokretnja sami izrađujemo kod prateći upute koje se prikazuju pored prostora za
izradu programa. U kartici Code postoje gotovi programi koje nakon otvaranja
možemo preuzeti na računalo te pokrenuti na našem micro:bitu.

Dijeljenje naših programa vršimo odabirom gumba Share dok je u editoru otvoren
naš kod. Otvara nam se novi dijalog u kojem odabiremo kako želimo podijeliti
program. Prije same podijele potrebno je kliknuti na gumb Publish project. Nakon
ovog koraka biramo način na koji želimo podijeliti naš projekt. Ukoliko želimo
podijeliti sam program potrebno je kopirati poveznicu na kojoj će se spremiti
(primjer na slici: http://pxt.microbit.org/01327-73121-76200-02825) i proslijediti
ju osobama s kojima dijelimo program. Također, naš program možemo ugraditi
(Embed) na web stranicu unošenjem HTML koda. Ovdje imamo izbor želimo li da
se na web stranicu ugradi slika (screenshoot), animacija (simulator) ili samo kod
našeg programa.

11
Tomislav Pandurić
UVOD U MICRO:BIT

Postavke i poveznice

Gumbi za postavke i poveznice nalaze se u gornjem desnom kutu našeg editora


pokraj loga Microsofta.

Klik na sličicu s upitnikom otvara se padajući izbornik u kojem možemo pronaći


Microsoftovu podršku za PXT editor, razne projekte i poveznice na vanjske
sadržaje s micro:bit projektima i slično. Također možemo pronaći kratke upute
(tutorijale) za izradu programa pomoću blok editora ili JavaScripta te osnovne
informacije o hardwareu samog micro:bita.

12
Tomislav Pandurić
UVOD U MICRO:BIT

U postavkama možemo prilagoditi same postavke samog projekta ili pogledati


uvjete korištenja PXT editora...

13
Tomislav Pandurić
UVOD U MICRO:BIT

Komunikacija s računalom
Komunikacija micro:bita s računalom odvija se pomoću USB konekcije (USB
porta). Povezivanje uređaja i računala vrši se pomoću kabla, gdje sa sa strane
računala standardni USB priključak dok micro:bit sadrži micro USB ulaz.

Nakon povezivanja računalo prepoznaje micro:bit kao vanjsku memoriju, isto kao
da smo priključili USB memorijski štapić, SD karticu ili neku drugu vanjsku
memoriju.

Komunikacija micro:bita s računalom moguća je i preko bluetooth veze (ukoliko je


vaše računalo ima), ali se ova vrsta komunikacije između uređaja koristi za
prijenost podataka između dva ili više micro:bita te za povezivanje s pametnim
telefonom ili tabletom (Android ili iOS). O bluetooth komunikaciji govorit ćemo u
zasebnom poglavlju.

14
Tomislav Pandurić
UVOD U MICRO:BIT

Prebacivanje podataka na micro:bit


Budući da računalo micro:bit prepoznaje kao vanjsku memoriju, prebacivanje
programa je iznimno jednostavno. Kada na računalo preuzmemo napravljen
program (izvršnu datoteku .hex) te spojimo micro:bit USB kablom s računalom,
program prebacujemo kopirajući s računala na sam uređaj. Za ovaj postupak
možemo koristiti metodu kopiraj i zalijepi (copy-paste) ili povuci i ispusti
(drag&drop). Također moguće je na izvršnoj datoteci desnim klikom otvoriti
dodatni izbornik te poslati (pošalji/send to) program na sam micro:bit, kao da je
riječ o bilo kojoj datoteci koju prebacujemo na neko drugo mjesto.

15
Tomislav Pandurić
UVOD U MICRO:BIT

Primjeri programa
U ovom djelu prikazat ćemo nekoliko jednostavnih programa kako bi se upoznali s
radom na micro:bitu. Svaki primjer prikazat će različit način pokretanja izvedbe
samog programa na micro:bitu.Dodatne primjere programa možete pronaći na
poveznicama navedenim pod edukacijskim materijalima.

Smile face :)

U ovom programu cilj je navesti mikro:bit da pretvori izraz "lica" u nasmješeno


lice. Za dobivanje smiješka koristimo LED na prednjoj stani micro:bita. Ovaj
program pokrenut će se odmah nakon prebacivanja programa na uređaj jer za
pokretanje koristimo naredbu on start. Kada se program izvede do kraja, ostat će
dok ga ponovno ne pokrenemo tipkom za ponovno pokretanje ili isključivanjem i
ponovnim uključivanjem micro:bita.

16
Tomislav Pandurić
UVOD U MICRO:BIT

Naredbu pause (ms) koristimo kako bi odredili koliko dugo želimo zadržati
određeni oblik (uključene LED-ice). Budući da se kod izvršava slijedno, odnosi se
na blok naredbe iznad pauze.

Video: https://www.youtube.com/watch?v=pykPNVpYIdo

Korištenje gumba

Ovaj primjer pokazuje drugi način pokretanja izvedbe programa korištenjem tipki
(gumba) na samom micro:bitu. Također ovdje je moguće vidjeti i jednu od
prednosti micro:bita, a to je korištenje podprograma. Za razliku od nekih drugih
sličnih uređaja, micro:bit omogućava da u samom programu koristimo manje
podprograme koji će se pokrenuti tek u trenutku kada je zadani uvjet za pokretanje
ispunjen. Tako ćemo u ovom programu napraviti tri manja dijela (podprograma)
koji će svaki pokrenuti različite dijelove koda.

Nakon prebacivanja programa na micro:bit, uređaj će čekati koji gumb ćemo


stisnuti kako bi znao koje "lice" nacrtati. Kada odaberemo i pritisnemo određenu
tipku (ili obje A+B) na LED matrici pokazuje se određeno lice, koje će se na njemu
zadržati sve dok ne pritisnemo neku drugu tipku.

17
Tomislav Pandurić
UVOD U MICRO:BIT

Termometar

U ovom primjeru vidjet ćemo primjenu jednog od senzora koji dolaze sa


micro:bitom. Cilj je napravit program koji će mjeriti temperaturu i prikazati ju
pomoću LED matrice. Kako se temperatura mijenja, cilj je da micro:bit neprestano
mjeri te pokazuje trenutnu vrijednost. Kako bi to ostvarili koristiti ćemo
beskonačnu petlju forever te će program svaki put kada završi posljednju naredbu
u slijedu započeti izvršavanje od početka naredbenih blokova.

U kodu smo podesili program da prikazuje broj koji dobiva korištenjem senzora
temperature. Nakon prikaza posljednja znamenka zadržat će se pola sekunde
prikazana na LED matrici. Nakon toga prikazuje se simbol koji prikazuje da je
temperatura u stupnjevima celzijusa i zadržava se 1,5 s na LED matrici. Na kraju
je postavljen blok naredbe za prikaz stringa (teksta) gdje je prazno polje kako se
nakon prikaza simbola za stupnjeve ne bi istog trena prikazala vrijednost
temperature. Isto tako ovaj blok mogli smo zamijeniti blokom clear screen te
postaviti pauzu nakon koliko da program krene izvršavanje od početka.

18
Tomislav Pandurić
UVOD U MICRO:BIT

Bacanje kockice

Program koji simulira bacanje kockice te za svako "bacanje" daje slučajnu


vrijednost od 1 do 6. Bacanje kockice simulirat ćemo trešnjom micro:bita. Kako bi
to napravili koristiti ćemo naredbu shake koja će pokrenuti izvedbu programa svaki
put kada ugrađeni akcelerometar registrira naglu promjenu smjera (trešnju
micro:bita). Dakle i ovdje koristimo senzor, ali umjesto vršenja mjerenja pomoću
njega koristimo ga za pokretanje izvedbe programa. Također u ovom programu
stvorit ćemo i nove varijable u kategoriji naredbi Variables.

Svaki put kada protresemo micro:bit, na LED matrici ispisat će nam se dobiveni
slučajan broj. Kao što vidimo blok naredbe pick random daje slučajan broj koji
kreće od nule. Kako kockica nema broj nula, želimo izbjeći nepotrebno "bacanje"
te trebamo prilagoditi program da nam ne prikazuje broj 0 kada ga izvuče. Ovo
možemo napraviti na nekoliko načina. Prvi je jednostavan i dodaje uvjet ako je
izvučen broj nula da nam odredi novi slučajan broj te ga ispiše.

19
Tomislav Pandurić
UVOD U MICRO:BIT

U ovoj verziji program odredi slučajan broj, provjeri je li on jednak nuli, ako je
odredi novi, te ispiše broj. I ovdje postoji mogućnost da se ispiše nula, ali samo ako
se prvi put izvuče nula te nakon provjere opet dodjeli nova vrijednost nula nakon
koje nema više provjere (nisam još susreo ovakav slučaj iako je teoretski moguće -
postoji mogućnost ispravka i ovog slučaja).

Drugo rješenje je da nakon što dobijemo slučajan broj, dodamo mu jedan te


ispišemo tu vrijednost. Ovdje treba pripaziti da odabir slučajnog broja u tom slučaju
ide od 0 do 5.

U ovom slučaju možemo dobiti samo brojeve koji se nalaze na kockici. Ukoliko
želimo da se broj ne prikazuje stalno do sljedećeg bacanja, u oba slučaja ovog
primjera nakon ispisa broja pomoću pauze odaberemo koliko dugo da traje prikaz
te nakon toga očistimo zaslon (clear screen).

20
Tomislav Pandurić
UVOD U MICRO:BIT

Bluetooth komunikacija
Micro:bit dolazi s bluetooth modulom te je time omogućena komunikacija s drugim
uređajima preko bluetooth veze. Bluetooth veza može se koristiti za povezivanje
micro:bita sa računalom, pametnim telefonom, tabletom ili drugim micro:bitom.

Bluetooth veza s pametnim telefonom ili tabletom

Za korištenje bluetooth veze s pametnim telefonom ili tabletom potrebno je


instalirati aplikaciju za android ili iOS. Zatim je potrebno upariti micro:bit sa
uređajem te možemo započeti s radom.

Kako upariti micro:bit s android platformom pogledajte u videu:


https://www.youtube.com/watch?v=L54Sp2DZibA

21
Tomislav Pandurić
UVOD U MICRO:BIT

Bluetooth veza između micro:bitova

Bluetooth veza može se koristiti i za međusobnu komunikaciju, odnosno slanje


podataka među dva ili više micro:bita. Korištenje ovog načina prijenosa podataka
iznimno je jednostavno. Jedan micro:bit šalje podatak, a drugi ga prima (primaju).
Pri ovome važno je napomenuti da je potrebno postaviti radio grupu kako bi
uređaji prepoznali s „kim“ komuniciraju.

Ovo je posebno važno ako postoji više micro:bitova koji trebaju komunicirati, ali
ne svi međusobno zajedno. Micro:bitovi koji trebaju međusobno komunicirati
moraju biti postavljeni u istu grupa, a najbolje rješenje je postaviti grupu u kodu
odmah na početku izvođenja (on start) ili da se neprestano ponavlja postavljanje
(petlja forever). Radio grupu u kojoj će uređaji međusobno komunicirati
postavljamo u izboru kategorije Radio. Ovo je potrebno postaviti u kod za svaki
micro:bit koji će koristiti bluetooth vezu.

22
Tomislav Pandurić
UVOD U MICRO:BIT

Postavljanje različitih grupa omogućuje rad na više projekata koji koriste bluetooth
komunikaciju bez mogućnosti međusobne interferencije i ometanja uređaja koji ne
pripadaju određenoj grupi.

Primjer povezivanja dva micro:bita

Ovaj primjer pokazat će nam komunikaciju dva uređaja. Na pritisak tipke A prvi će
micro:bit poslati paket podataka drugom. Kada drugi micro:bit primi paket, ispisat
će poruku (string) „Primljeno“ te potvrditi simbolom kvačice na LED matrici da
je primio paket. Istu stvar će napraviti i prvi micro:bit kada mu drugi pošalje paket
podataka pritiskom na njegovu tipku A. Poruka će se obrisati nakon 100ms, te će
micro:bit čekati novi pritisak tipke A za novi paket podataka. Oba micro:bita
postavljena su u istu radijsku grupu da prepoznaju poruku samo u toj grupi.

Prvi micro:bit

Prilikom izrade programa važno je pripaziti koji broj se šalje (paket podataka), a
koji prima na svakom micro:bitu. Ovaj primjer je postavljen tako da prvi micro:bit

23
Tomislav Pandurić
UVOD U MICRO:BIT

pritiskom na tipku A u paketu šalje broj 0, a reagira tek kada od drugog micro:bita
primi paket podataka s brojem 1. Važno je pažljivo postaviti što se prima, a što šalje
u međusobnoj komunikaciji. Umjesto broja, paket podataka može biti i string,
odnosno tekst.

Drugi micro:bit

Kao što je vidljivo drugi micro:bit očekuje paket podataka s brojem nula kako bi
izvršio ispis potvrde primitka paketa, a šalje paket podataka s brojem 1.

24
Tomislav Pandurić
UVOD U MICRO:BIT

Edukacijski materijali
Poveznice na kojima možete pronaći edukacijske materijale:

http://izradi.croatianmakers.hr/bbc-microbit/

http://faraday.theiet.org/stem-activity-days/bbc-microbit/resources/index.cfm

http://microbit.org/index/

http://www.rareschool.com/workshops/

25

You might also like