UPOTREBA PROMENLJIVIH(PALETA VARIABLE) U PROGRAMIRANJU PROJEKTA ZA MIKROBIT UREĐAJ. MERENJE TEMPERATURE I NIVOA OSVETLJENJA. LED PALETA KOMANDI

U prethodnim lekcijama videli ste kako se upotrebljavaju podaci koji se mogu prikazati na mikrobitu kao broj ili kao tekst, ali to nije dovoljno s obzirom da vrednost promenljive nismo sačuvali u memoriji za kasniju upotrebu. Takođe vrednosti koje koristimo za podatke mogu se imenovati, za lakše korišćenje kasnije. Da bi to omogućili potrebno je podatke kreirati kao promenljive(variable engl.). U Makecode okruženju, a za upravljanje promenljivima predviđena je paleta komandi variable.
Na primer: Za prikaz broja na mikrobitu do sada smo koristili samo funkcije show number [8] i show string [tekst] kao na sledećoj slici:
Picture Picture
gde bi umesto 0 stavili broj koji želimo, npr. 8, a umesto "Hello" tekst koji želimo.Dosad smo prikazivali podatke poput brojeva i teksta na Microbit ekranu, ali nismo sačuvali te vrednosti za kasniju upotrebu. Korišćenje promenljivih omogućava memorisanje vrednosti koje možemo ponovo koristiti i jednostavnije menjati. U MakeCode okruženju, paleta Variables pomaže u kreiranju i radu s promenljivima.

Na primer, umesto direktnog prikazivanja broja 8 pomoću funkcije show number, možemo dodeliti tu vrednost promenljivoj. Na sledeći način kreiramo promenljivu broj i postavljamo je na 8:
​let broj = 8;
basic.showNumber(broj);

Upotreba Promenljivih u Programiranju Projekata za Microbit

U ovoj lekciji koristimo MakeCode jezik za Microbit, u kojem je kodiranje sličnije pisanju teksta nego blokovima kao u Scratch-u.
MakeCode nije zaseban programski jezik već okruženje za blokovsko kodiranje koje takođe podržava JavaScript i Python (MicroPython) za tekstualno programiranje. U MakeCode editoru, korisnici mogu birati između blokova (koji su intuitivni za početnike) ili prelaska na JavaScript i Python, koji su moćniji jezici za naprednije kodiranje.

Primer 1: Merač broja koraka

Zadatak: napraviti program koji meri broj koraka tako što registruje vibraciju na mikrobitu i pri svakom potresu povećava vrednost promenljive broj koraka za 1. Prikazati broj koraka na mikrobitu pri svakom koraku.
Rešenje: U paleti Variables:
  1. kreirati promenljivu pod nazivom broj koraka
  2. postaviti početnu vrednost na 0 metodom: set [broj koraka] to [0]
  3. kreirati on shake događaj
  4. postaviti unutar ovog bloka za taj događaj metode:
    1. change [broj koraka] by [1]  - sa palete variables i 
    2. show number- sa palete basic

Video 1: Brojač koraka


Opis: Da bi napravili brojač koraka prvo treba kreirati promenljivu koja čuva vrednost celog broja koji će predstavljati broj koraka. Korak izaziva protresanje mikrobita, tako da se kreira događaj gesta "on shake". Kao reakcija na ovaj događaj, broj koraka, koji je u početku jednak nuli, se povećava za 1. Pratite sledeće instrukcije:Instrukcije:
  1. Kreirajte nov projekat pod nazivom: "Merač broja koraka"
  2. Na paleti Variables kreirajte novu promenljivu(variable engl)
  3. Sada će se na paleti pojaviti još dve komande(vidi sliku 2): 
    1. set [broj koraka] to [0]
    2. ​​change [broj koraka] by [1] 
Vežba
Slika 1: Vežba "Merač broja koraka": Definisanje promenljive broj koraka
Slika 2: Vežba
Slika 2: Vežba "Merač broja koraka": Paleta Variables
4. Postaviti blok "on start" na radnu površinu
5. Odaberite set [broj koraka] to [0] da bi ste postavili vrednost promenljive broj koraka na nula, u početku.
6. Dodajte blok "on shake" sa palete Input i prevucite na radnu površinu. Ovaj blok predstavlja događaj "drmusanja" mikrobita, što će se proizvesti pri svakom napravljenom koraku osobe koja nosi mikrobit.
7.  Dodajte naredbu: change [broj koraka] by [1] i umetnite je u "on shake" blok. Ovo znači da će se vrednost promenljive "broj koraka" promeniti za 1 kada se desi "on shake" događaj.
8. Dodajte komandu show number [broj koraka] dva puta: 1)unutar "on start" bloka, da bi se prikazala nula na mikrobitu na samom početku i 2) unutar bloka "on shake", da bi se pri svakoj promeni broja koraka, ova vrednost prikazala na mikrobit-u.

Kompletan kod sada izgleda kao na slici 3:
Vežba
Slika 3: Vežba "Merač broja koraka": Kompletan kod
Na slici je prikazano stanje posle tri koraka, pa se u simulatoru mikrobita prikazuje broj 3. Kod u python-u je prikazan na slici 4:Vežba
Slika 4: Vežba "Merač broja koraka": Kompletan kod u micro python-u

Merenje osvetljenja u prostoriji

Da bi ste izmerili nivo osvetljenja u prostoriji možete koristiti mikrobit.
Microbit koristi svoju LED mrežu kao senzor osvetljenja, jer nema poseban senzor za svetlost. LED ekran detektuje nivo ambijentalnog osvetljenja mereći svetlost koja pada na njega. Ova funkcionalnost se može koristiti u programiranju pomoću funkcija poput input.lightLevel() u JavaScriptu ili MakeCode okruženju. Očitavanje nivoa osvetljenja vraća vrednost od 0 (potpuni mrak) do 255 (maksimalna osvetljenost), što omogućava da uređaj reaguje na promene osvetljenja u prostoriji.
​Nivo osvetljenja ćemo prikazati brojem, dakle koristićemo naredbu show number, ali umesto broja možemo umetnuti blok "light level" sa palete Input, kao što je prikazano na slici 4:Programiranje mikrobit uređaja: Merenje nivoa osvetljenja-light level blok
Slika 5. Programiranje mikrobit uređaja: Merenje nivoa osvetljenja-light level blok

​Primer 2: Merenje Osvetljenja i Temperature Pritiskom na Dugme

U ovom zadatku treba  programirati microbit tako da prikaže nivo osvetljenja kada se pritisne dugme A, a trenutnu temperaturu kada se pritisne dugme B.


Uputstvo:
  1. Korak 1: Pritisni dugme A.
  2. Korak 2: Na ekranu će se prikazati trenutni nivo osvetljenja u prostoriji.
  3. Korak 3: Pritisni dugme B.
  4. Korak 4: Na ekranu će se prikazati trenutna temperatura u stepenima Celzijusa.

Dodatna Objašnjenja:Microbit može meriti temperaturu pomoću svog ugrađenog senzora za temperaturu, koji očitava temperaturu mikroprocesora i koristi je kao približnu vrednost ambijentalne temperature.
Korišćenjem bloka temperature sa Input palete ili korišćenjem komande input.temperature() (u MakeCode okruženju ili JavaScript-u), Microbit očitava i prikazuje temperaturu u stepenima Celzijusa.
Rešenje primera je prikazano na slici 5:Programiranje mikrobit uređaja: Merenje nivoa osvetljenja-rešenje
Slika 6. Programiranje mikrobit uređaja: Merenje nivoa osvetljenja-rešenje
 Programiranje mikrobit uređaja: Merenje nivoa osvetljenja-rešenje u micro python-u
Slika 7. Programiranje mikrobit uređaja: Merenje nivoa osvetljenja-rešenje u micro python-u

Video 2: Vežba- merenje nivoa osvetljenosti i temperature


Samostalan Rad: Merenje Temperature i Osvetljenja u Intervalima

Programiraj Microbit tako da automatski meri i prikazuje nivo osvetljenja i temperaturu svakih 10 sekundi, bez pritiska na dugmad.
Zadaci za Samostalan Rad:
  1. Programiranje Intervala: Postavi program tako da meri nivo osvetljenja i temperaturu na svakih 10 sekundi.
  2. Prikaz Rezultata: Prikazuj nivo osvetljenja na ekranu, a zatim odmah nakon toga prikazuj temperaturu.
  3. Testiranje: Postavi Microbit na različite lokacije (npr. pored prozora i dalje od svetlosti) i uporedi očitavanja.
Napomena: Koristi komande input.lightLevel() i input.temperature() za očitavanje vrednosti, i funkciju basic.pause(10000) za pauzu od 10 sekundi između očitavanja.
Ovaj zadatak omogućava proveru i beleženje promena u temperaturi i osvetljenju u prostoriji u određenim vremenskim intervalima, što može biti korisno za razumevanje promene ambijentalnih uslova.

LED paleta komandi

Na Microbit uređaju, LED diode su postavljene u mreži 5x5, koja formira jednostavan koordinatni sistem. Koordinate se kreću od (0,0) u gornjem levom uglu do (4,4) u donjem desnom uglu. Ova konfiguracija omogućava da se svaka LED dioda pojedinačno kontroliše putem X i Y vrednosti: X se povećava s leva na desno, a Y od vrha prema dnu.


U MakeCode okruženju, paleta komandi LED nudi različite opcije za manipulaciju diodama, uključujući blokove za uključivanje i isključivanje specifičnih tačaka (kroz "plot" i "unplot" komande), kao i mogućnost prikaza simbola i animacija.
Programiranje mikrobit uređaja: Koordinatni sistem na LED diodama
Slika 8. Programiranje mikrobit uređaja: Koordinatni sistem na LED diodama
 U LED paleti komandi u MakeCode okruženju za Microbitnalaze se sledeće osnovne komande:​
  1. plot - Uključuje određenu LED diodu prema zadatim koordinatama (x, y).
  2. toggle - Prebacuje stanje LED diode između uključenog i isključenog.
  3. unplot - Isključuje LED diodu na zadatim koordinatama.
  4. point- Prikazuje stanje dioda (uključeno/ isključeno) na koordinatama x i y.
  5. plot bar graph - Prikazuje grafikon na osnovu zadate vrednosti u odnosu na maksimalnu vrednost.
Programiranje mikrobit uređaja: Paleta LED osnovne komande
Slika 9. Programiranje mikrobit uređaja: Paleta LED osnovne komande
Ako kliknemo na "more" dugme dobićemo još komandi:
​
  • Plot Brightness - Uključuje LED diodu specifičnog intenziteta svjetlosti na koordinatama x i y..
  • Point Brightness - Uključuje LED diodu sa određenom osvjetljenošću na LED ekranu
  • brightness - Pronalazi intenzitet LED ekrana kad je uključen.
  • Set Brightness - Podešava osvetljenost svih LED dioda na vrednost od 0 do 255.
  • led enable[false or true]- Uključuje/isključuje LED ekran.
  • Stop Animation - Zaustavlja sve animacije trenutno aktivne na LED ekranu.
  • set display mode - Podešava režim prikaza na crno-bijelo ili u sivim tonovima za prikazivanje LED dioda
 Programiranje mikrobit uređaja: Paleta LED dodatne komande
Slika 10. Programiranje mikrobit uređaja: Paleta LED dodatne komande

Primer 3: LED paleta - prikaz slike na LED diodama

Zadatak: Napraviti program za mikrobit uređaj koji će upaliti sijalice na mikrobitu u rasporedu obrnutog slova G(ćirilično) kao što je prikazano na slici 11:Programiranje mikrobit uređaja: Paleta LED primer crtanja obrnutog slova G(ćiriličnog)
Slika 11. Programiranje mikrobit uređaja: Paleta LED primer crtanja obrnutog slova G(ćiriličnog)

Rešenje: 

Za ovaj zadatak, rešenje bi uključivalo aktiviranje određenih LED dioda na osnovu zadanih koordinata u mreži 5x5. Svaka koordinata definiše poziciju određene LED diode koja treba da svetli, a zadatak je da se pomoću tih koordinata prikaže slika.
Objašnjenje rešenja:
  1. Razumevanje položaja LED dioda: LED mreža je predstavljena kao koordinatni sistem gde je (0,0) u gornjem levom uglu, a vrednosti se povećavaju ka desnoj strani za x osu i naniže za y osu.
  2. Uključivanje LED dioda na zadatim koordinatama:
    • Horizontalni niz dioda: Aktivira se na koordinatama (1,1), (2,1), i (3,1).
    • Vertikalni niz dioda: Aktivira se na koordinatama (3,1), (3,2), i (3,3).
  3. Implementacija u MakeCode-u: Koriste se komande plot(x, y) iz LED palete kako bi se tačno uključile diode na ovim koordinatama, što će prikazati željeni oblik na ekranu Micro
    .

Ovaj način prikazivanja pomaže u razumevanju pozicija unutar mreže, a svaki položaj se unosi pomoću koordinata (x, y) u kodu, što može biti korisno za crtanje različitih oblika ili ikona. Rešenje je prikazano na slici 12.

Programiranje mikrobit uređaja - Rešenje primera: Paleta LED primer crtanja obrnutog slova G(ćiriličnog)
Slika 12. Programiranje mikrobit uređaja - Rešenje primera: Paleta LED primer crtanja obrnutog slova G(ćiriličnog)
U python-u rešenje bi bilo kao što je prikazano na slici 13:Programiranje mikrobit uređaja - Rešenje primera u micropython-u: Paleta LED primer crtanja obrnutog slova G(ćiriličnog)
Slika 13. Programiranje mikrobit uređaja - Rešenje primera u micropython-u: Paleta LED primer crtanja obrnutog slova G(ćiriličnog)

Primer 4: Podešavanje osvetljenja određene LED diode

Zadatak: Kreirajte program koji podešava intenzitet svetlosti određene LED diode na microbit-u. Potrebno je uključiti LED diodu na poziciji (2,4) i postaviti njen intenzitet svetlosti na vrednost 200.

Instrukcije za rešavanje:
  1. Razumevanje problema: Pozicije LED dioda su definisane koordinatama x i y, gde x predstavlja horizontalni položaj, a y vertikalni (vrednosti od 0 do 4). Svetlost LED dioda može biti podešena od 0 (isključeno) do 255 (maksimalno osvetljenje).
  2. Pisanje koda:
    • Pokrenite novi projekat u MakeCode-u.
    • U okviru bloka za početak (on start), dodajte blok set brightness iz palete LED komandi.
    • Podesite LED diodu na koordinatama (2,4) i postavite njen nivo osvetljenja na 200.
Ovim koracima naučićete kako da kontrolišete pojedinačne LED diode i upravljate njihovim intenzitetom svetlosti.
 Programiranje mikrobit uređaja - Rešenje primera u micropython-u: Paleta LED primer postavljanja osvetljenja jedne sijalice na LED tabli
Slika 14. Programiranje mikrobit uređaja - Rešenje primera u micropython-u: Paleta LED primer postavljanja osvetljenja jedne sijalice na LED tabli

Zadatak za samostalno rešavanje: Kreiranje „Loading“ animacije na microbit-u

Opis zadatka: Kreirajte animaciju koja prikazuje proces učitavanja („loading“) na microbit uređaju, koristeći kružni oblik na LED mreži. Animacija treba da se ponavlja neprekidno, simulirajući izgled kružne trake učitavanja.


Instrukcije za rešavanje:
  1. Pokrenite novi projekat u MakeCode okruženju za micro.
  2. U bloku forever postavite kod koji pokreće animaciju.
  3. Koristite plot (x, y) blok da prikažete LED diode u kružnom rasporedu.
  4. Dodajte pause (ms) između svake diode kako bi se postigao efekat animacije.
  5. Na kraju, dodajte clear screen kako biste obrisali ekran pre sledeće iteracije.
Eksperimentišite sa različitim koordinatama i vremenskim pauzama kako biste prilagodili brzinu i izgled animacije po želji.

Test 2: Proverite svoje znanje - zaokruži tačne odgovore

Kliknite na Start dugme da započnete test! Pogledajte prethodno slike koje su povezane sa pitanjima 3 i 4.Programiranje mikrobit uređaja - Slike uz test broj 2, za pitanje 3 i 4
Slika 15. Programiranje mikrobit uređaja - Slike uz test broj 2, za pitanje 3 i 4


Prethodno
​|< Naredbe u Makecode-u
Sledeće 
Radio veza na mikrobitu >|