ŠKOLA PROGRAMIRANJA
MakeCode programi za micro:bit AD sučelje - (biblioteka: https://github.com/didacta-advance/ADbw)
1. UPUTE ZA PROGRAMIRANJE15. KONTROLE OBJEKTA - IGRAČ
2. Prikaz stanja senzora mobilnog robota (display AD) - 0216. ANIMIRANI OBJEKT IGRAČA
3. Prikaz stanja senzora mobilnog robota (display AD) - 0117. KREIRANJE BITMAPE IGRAČA
4. SLANJE PORUKA DRUGOM micro:bitu18. MOD EKRANA - NORMAL - INVERZNI
5. MUZIČKE NOTE19. POMAK PREMA GORE ILI DOLJE (SCROLL)
6. ULTRAZVUČNI METAR20. BIT SKROLL - HORIZONTALNI
7. ALARM21. ZVUČNI SIGNAL - BIP
8. GRAF MJERENJA TEMPERATURE22. PRAVOKUTNIK - KVADRAT
9. KOMPLETNA IGRA SA DVIJE PLATFORME (EKRANA)23. LINIJE
10. PLATFORM GAME - POČETAK24. KRUŽNICA - KRUG
11. GRAVITACIJA I KOLIZIJA25. VELIČINA TEKSTA (FONTA)
12. KREIRANJE NEAKTIVNIH OBJEKATA (ZID)26. BRISANJE ODREĐENOG TEKSTA
13. HORIZONTALNI POMAK OBJEKATA - GAME SCROLL -BRZINA27. PRIKAZ TEKSTA NA DISPLEJU
14. VERTIKALNI POMAK VIŠE OBJEKATA

UPUTE ZA PROGRAMIRANJE
Opis_HR.jpg

U prvom dijelu uputa za programiranje micro:bit AD BW sučelja obrađeni su početni koraci. Spajanje i pokretanje sučelja, učitavanje biblioteke i sve osnovne funkcije (ispis teksta, linije, kružnice, kruga, pravokutnika, ...). U drugom dijelu obrađen je način korištenja SCROLL (pomaka) funkcija. U trečem djelu se nalaze sve grafičke funkcije koje se mogu koristiti u kreiranju različitih igara. Upute su u PDF formatu i mogu se kopirati putem gumba za DOWNLOAD na pregledu (STRELICA PREMA DOLJE).
( 4.8 Mb )

Prikaz stanja senzora mobilnog robota (display AD) - 02
36.jpg

Za prikaz očitanih vrijednosti senzora koji se nalaze na mobilnom robotu možemo koristiti radio vezu. Očitanu vrijednost senzora, putem radio veze šaljemo micro:bitu s displejom (žicama ili vijcima). Da bi ova komunikacija radila potrebno je programu koji kontrolira rad modela dodati naredbe za radio komunikaciju. Primjer prikazuje dodane naredbe za očitanje ultrazvučnog senzora ( prema primjeru koji se nalazi u ROBOTIC SETu ). Prijemni program je potrebno učitati u micro:bit s displjom samo jednom. Ovaj primjer prikazuje display AD spojen na I2C i 5V ( na konektor za bateriju displeja ) konektore na F5 sučelju. Micro:bit je u sučelju F5.

Prikaz stanja senzora mobilnog robota (display AD) - 01
35.jpg

Za prikaz očitanih vrijednosti senzora koji se nalaze na mobilnom robotu možemo koristiti radio vezu. Očitanu vrijednost senzora, putem radio veze šaljemo micro:bitu s displejom (žicama ili vijcima). Da bi ova komunikacija radila potrebno je programu koji kontrolira rad modela dodati naredbe za radio komunikaciju. Primjer prikazuje dodane naredbe za očitanje ultrazvučnog senzora ( prema primjeru koji se nalazi u ROBOTIC SETu ). Prijemni program je potrebno učitati u micro:bit s displjom samo jednom.

SLANJE PORUKA DRUGOM micro:bitu
34.jpg

Primjer slanja (A) poruka putem bežične veze jednom prijemnom (B) micro:bitu. Koje su sve potencijalne mogućnosti komunikacije između više micro:bita. Slanje i primanje poruka od jednog ili više uređaja.

MUZIČKE NOTE
33.jpg

Primjer koji ispisuje muzičke note na notne crte uz istovremeno izvođenje određenog tona.

ULTRAZVUČNI METAR
32.jpg

Mjerenje udaljenosti putem ultrazvučnog senzora. Primjer mjerenja udaljenosti sa ispisom vrijednosti na micro:bit AD displeju. Senzor je spojen na pinove P1 i P2, te na 3.3V napajanje.

ALARM
31.jpg

U ovom primjeru koristimo GROVE PIR senzor i analogno očitavamo pin P1. Kad pin ima vrijednost veću od 100 uključuje se zvuk i upozorenje alarma, a kad je manja isključuje. Senzor detektira promjene do udaljenosti od 6m. Senzor je spojen na pin P1 i 3.3V napajanja.

GRAF MJERENJA TEMPERATURE
30.jpg

Jednostavan graf mjerenja temperature. Primjer je sa relativnim mjerenjem i za točne vrijednosti trebali bi u programu dodati preračunavanje (kalibraciju). U primjeru se koristi toplinski senzor za udaljeno mjerenje temperature GROVE koji je spojem na pinove P1 i P2, te na 3.3V napajanje. Za graf se koristi analogno očitanje pina P2. Prema ovom primjeru mogu se napraviti grafovi očitanja iz različitih senzora s analognim vrijednostima (foto, toplinski, zvučni, otporni, ultrazvučni,...).

KOMPLETNA IGRA SA DVIJE PLATFORME (EKRANA)
26.jpg

Primjer igre sa dvije platforme i četiri objekta - ukupno šest na dva ekrana (max.20). U programu se mogu vidjeti sve glavne funkcije i parametri koji se trebaju (mogu) postaviti. Ima još funkcija koje utječu na igru i mogu se koristiti, kao što je automatska izmjena nivoa (LEVELA) igre. Od početne brzine (sporije) prema sve većoj brzini. Kontrola objekta igrača putem tipke A na micro:bitu (JUMP).

PLATFORM GAME - POČETAK
25.jpg

U svega OSAM KORAKA (dodali smo još jednu funkciju) postavlja se osnovna konstrukcija platformske igre. Ovaj osnovni primjer pokazuje kako se kreira objekt, platforma i određene karakteristike igre. Igrač se kontrolira putem tipke A na micro:bitu.

GRAVITACIJA I KOLIZIJA
17.jpg

Dodirnim senzorima se mijenjaju ekrani, a tipkama A i B se kontrolira kretanje objekta igrača. U ovom primjeru za kontrolu igrača koristimo funkcije GRAVITACIJA i KOLIZIJA. Isprobajte kako se kreće objekt igrača sa uključenom funkcijom GRAVITACIJE, te kako utjeće na okolinu kad je uključena ili isključena funkcija KOLIZIJE.

KREIRANJE NEAKTIVNIH OBJEKATA (ZID)
16.jpg

Objekti koji aktivno ne sudjeluju u igri, kao što su zidovi, mogu se definirati do dužine od 10 bitmapa u horizontalnom ili vertikalnom smjeru. Sve kupno može biti 20 objekata (aktivnih i neaktivnih, osim igrača) definirano u igri. Tijekom igre objekti se mogu redefinirati.

HORIZONTALNI POMAK OBJEKATA - GAME SCROLL -BRZINA
15.jpg

Primjer horizontalnog pomaka više objekata na ekranu putem GAME SCROLL funkcije. Program putem RANDOM funkcije iscrtava objekte na vertikalnu (y) poziciju. Horizontalna poziciju je jednaka za sve objekte (x=70). Sadržaj ekrana se automatski pomiče za jedan piksel. Da bi se novi objekti pojavljivali na ekranu u nekom razmaku koristi se varijabla index2. Primjer pokazuje način kontrole brzine pomaka pomoću funkcije GAME SPEED. Brzina je veća što je vrijednost manja i broj piksela pomaka veći (2). Kod odluke o brzini pomaka treba računati na broj objekata koji se nalazi na ekranu (aktivnih) i koji utječu na objekt igrača i komunikaciju između micro:bita i displeja. Maksimalna brzina je "10", a minimalna "255". Ukoliko se koristi velika brzina sa puno objekata i funkcija koje koriste komunikaciju, može se desiti da program prestane sa radom.

VERTIKALNI POMAK VIŠE OBJEKATA
14.jpg

Primjer pomaka više objekata na ekranu putem SCROLL funkcije. Program putem RANDOM funkcije iscrtava objekte na horizontalnu (x) poziciju i početnu vertikalnu poziciju (y=0). Zatim se kompletan sadržaj ekrana pomakne (scroll) za osam piksela prema dolje.

KONTROLE OBJEKTA - IGRAČ
13.jpg

Objekt igrača možemo kontrolirati putem tipkala na micro:bitu (A i B) i analogno putem ulaza P1 i P2. Primjer prikazuje program za kontrolu u sva četiri smjera. Osim kontrole pomakom objekta za nekoliko piksela, objekt igrača može skakati. Ovu kontrolu prikazat ćemo u drugom primjeru.

ANIMIRANI OBJEKT IGRAČA
12.jpg

Animacija se radi jednostavnim definiranjem druge bitmape (animacijske bitmape) koja se izmjenjuje sa glavnom bitmapom. Brzina animacije može se podešavati putem komande (animation player speed). Podešavanje je potrebno postaviti kod igre koja koristi horizontalni scroll (GAME scroll).

KREIRANJE BITMAPE IGRAČA
11.jpg

Primjer kreiranja bitmape objekta igrača. Objekat igrača se može kontrolirati putem gumba "A" i "B" te analogno pinom "P1" i "P2". U kasnijem primjeru će biti prikazano kompletno upravljanje u svim smjerovima.

MOD EKRANA - NORMAL - INVERZNI
10.jpg

Ako želite promijeniti prikaz na ekranu možete promijeniti standardni crno-bijeli (0) u inverzni bijelo-crni (1).

POMAK PREMA GORE ILI DOLJE (SCROLL)
09.jpg

Tekst scroll za jedan red prema gore ili prema dolje.

BIT SKROLL - HORIZONTALNI
08.jpg

Horizontalni, fini, skroll za jedan ili više bitova može se definirati za jedan ili više redova teksta (karakter mod). Ako se želi raditi skrol cijelog ekrana treba odrediti red 0 kao početni do 5 reda. Skrol se može izvoditi "KRUŽNO" (ispis na drugoj strani ekrana) ili s nestajanjem.

ZVUČNI SIGNAL - BIP
07.jpg

Možete generirati zvučni signal u određenom rasponu frekvencije 0 - 255 i trajanju od 1 sekunde. Ovaj zvuk generira micro:bit AD sučelje i ne utječe na rad programa na micro:bitu.

PRAVOKUTNIK - KVADRAT
06.jpg

Za ispis pravokutnika ili kvadrata koristimo grafičke koordinate x (0-83) i y (0-47).

LINIJE
05.jpg

Za ispis linija koristimo grafičke koordinate x (0-83) i y (0-47).

KRUŽNICA - KRUG
04.jpg

Za ispis kruga ili kružnice koristimo grafičke koordinate x (0-83) i y (0-47).

VELIČINA TEKSTA (FONTA)
03.jpg

Tekst se može ispisati u tri veličine (1-3) u karakter i grafičkom modu. U ovom primjeru tekst brišemo pomoću pravokutnika.

BRISANJE ODREĐENOG TEKSTA
02.jpg

Brisanje teksta na ekranu može se raditi na više načina. Jedan je ispisom praznog reda preko postoječeg teksta. Drugi je ispis istog teksta u "BIJELOJ" boji, a treči ispisom pravokutnika bijele boje s bijelom ispunom na poziciju teksta.

PRIKAZ TEKSTA NA DISPLEJU
01.jpg

Ispis teksta na ekranu u karakter modu i grafičkom. U karakter modu se tekst može ispisati na 10 horizontalnih pozicija i 6 vertikalnih. U grafičkom modu tekst se ispisuje na piziciju piksela, na 84 horizontalne i 48 vertikalnih pozicija. Ispis teksta u karakter modu na poziciju x=2, y=2 bi u grafičkom bilo x=13, y=17. Veličina znakova (fonta) je 6x8 piksela.