KONTROLNE NAREDBE U PROJEKTIMA MIKROBITA. GRANANJE U PROGRAMU
Do sada smo u tutorijalima za Micro:bit uređaj koristili linijske naredbe, koje se izvršavaju jedna za drugom u određenom redosledu. Međutim, u programiranju često postoji potreba da program može da bira između dva ili više mogućih pravaca izvršavanja, zavisno od određenih uslova. Ova situacija se naziva grananje u programu.
Grananje omogućava programu da se "razgrana" na osnovu postavljenih logičkih uslova. Na primer, ako je neki uslov tačan, program može izvršiti jedan niz naredbi; u suprotnom, izvršiće drugi niz.
Kontrolne naredbe su ključne za pravljenje ovakvih odluka i omogućavaju fleksibilnije i složenije tokove u programima. Ove naredbe definišu kako će program "kontrolisati" tok svog izvršavanja.
Algoritamski, grananje u programu može se prikazati pomoću dijagrama toka. Na sledećoj slici prikazan je osnovni princip grananja:
Grananje omogućava programu da se "razgrana" na osnovu postavljenih logičkih uslova. Na primer, ako je neki uslov tačan, program može izvršiti jedan niz naredbi; u suprotnom, izvršiće drugi niz.
Kontrolne naredbe su ključne za pravljenje ovakvih odluka i omogućavaju fleksibilnije i složenije tokove u programima. Ove naredbe definišu kako će program "kontrolisati" tok svog izvršavanja.
Algoritamski, grananje u programu može se prikazati pomoću dijagrama toka. Na sledećoj slici prikazan je osnovni princip grananja:
Primer 1: Merenje temperature na mikrobitu
Napravite program na Micro:bit uređaju koji reaguje na trenutnu temperaturu u prostoriji. Program treba da proverava vrednost temperature i na osnovu nje prikazuje odgovarajući simbol na ekranu:
- Ako je temperatura veća ili jednaka 25°C, na ekranu Micro:bit-a treba da se prikaže simbol strelice koja pokazuje nagore (↑).
- U suprotnom, kada je temperatura manja od 25°C, na ekranu treba da se prikaže simbol strelice koja pokazuje nadole (↓).
Rešenje:
- Otvorite Microsoft MakeCode editor.
- Dodajte blokove iz kategorije Input za čitanje trenutne temperature sa ugrađenog senzora Micro:bit uređaja.
- Koristite blok iz kategorije Logic kako biste kreirali uslovnu naredbu (if-else). U njoj proverite da li je temperatura veća ili jednaka 25°C.
- U delu "if" dodajte blok iz kategorije Basic koji prikazuje simbol strelice nagore (↑).
- U delu "else" dodajte blok koji prikazuje simbol strelice nadole (↓).
- Preuzmite kôd na Micro:bit i testirajte program u stvarnim uslovima.
Video-rešenje
Grananje u programu sa 3 i više grana
U dosadašnjem izlaganju je bilo prikazano grananje u programu na dve grane, kada je tok programa podeljen u dva moguća toka izvršavanja, a gde se grananje vršilo pomoću uslova, tj. logičkog izraza koji ima dve moguće vrednosti: tačno(true) ili netačno(false).
Postoje zadaci gde je umesto grananja na dve grane potrebno granati na 3, a nekad i više grana. Za ovo grananje nije dovoljan jedan uslov, već se to može uraditi sa dva ili 3 uslova, kako je prikazano na slici 2. Svaki uslov određuje po dve nove grane(toka) što se može videti na slici.
Postoje zadaci gde je umesto grananja na dve grane potrebno granati na 3, a nekad i više grana. Za ovo grananje nije dovoljan jedan uslov, već se to može uraditi sa dva ili 3 uslova, kako je prikazano na slici 2. Svaki uslov određuje po dve nove grane(toka) što se može videti na slici.
Primer 2a: Anketiranje omiljenih predmeta uz micro:bit
Napraviti program za mikrobit koji omogućava anketiranje jednog korisnika. Korisnik treba da glasa za svoj omiljeni predmet.
U primeru je dat primer za dva predmeta: matematika i geografija. Korisniku treba omogućiti da na mikrobitu može da klikne na 3 tastera:
U primeru je dat primer za dva predmeta: matematika i geografija. Korisniku treba omogućiti da na mikrobitu može da klikne na 3 tastera:
- Taster A: Povećava broj glasova za predmet "Geografija"
- Taster B: Povećava broj glasova za predmet "Matematika"
- Potresanje mikrobita: Prikazuje Prvo slovo predmeta i broj poena
Video ispod pokazuje upotrebu naredbi sa Logic paleta na platformi Makecode. Primer koji je opisan i prikazan u videu pokazuje program za anketiranje korisnika, sa pitanjem: Koji je Vaš omiljeni predmet u školi?
U ovom primeru 3 varijante izvršenja programa dobijamo na osnovu 3 mogućnosti:
- Taster A je pritisnut
- Taster B je pritisnut
- Prodrman je mikrobit(On Shake)
Primer 2b: Anketiranje omiljenih predmeta uz micro:bit sa prikazom rezultata ankete
Ovaj primer demonstrira kako koristiti micro:bit za sprovođenje ankete o omiljenim školskim predmetima. Cilj je prikupljanje glasova i prikazivanje rezultata koristeći funkcionalnost grananja i tastera na micro:bit uređaju.
Opis zadatkaProgram treba da omogući korisnicima da glasaju za jedan od dva ponuđena predmeta:
Opis zadatkaProgram treba da omogući korisnicima da glasaju za jedan od dva ponuđena predmeta:
- Taster A: glas za Matematiku.
- Taster B: glas za Istoriju.
Instrukcije za rešavanje
- Priprema promenljivih
Na početku programa definišite dve promenljive koje će brojati glasove za svaki predmet, npr. matematika i istorija. - Brojanje glasova
U okviru glavnog petlje programa koristite funkcije koje reaguju na pritiske tastera:- Kada se pritisne taster A, povećajte vrednost promenljive matematika za 1.
- Kada se pritisne taster B, povećajte vrednost promenljive istorija za 1.
- Prikaz rezultata
Nakon što svi korisnici završe glasanje, pritisnite taster A+B istovremeno kako biste prikazali rezultat:- Ako je matematika > istorija, prikažite poruku "Matematika pobedila!".
- Ako je istorija > matematika, prikažite poruku "Istorija pobedila!".
- Ako su glasovi izjednačeni, prikažite poruku "Nerešeno!".
Rešenje u javascript-u
let matematika = 0
let istorija = 0
// Brojanje glasova za Matematiku
input.onButtonPressed(Button.A, function () {
matematika += 1
})
// Brojanje glasova za Istoriju
input.onButtonPressed(Button.B, function () {
istorija += 1
})
// Prikaz rezultata
input.onButtonPressed(Button.AB, function () {
if (matematika > istorija) {
basic.showString("Matematika pobedila!")
} else if (istorija > matematika) {
basic.showString("Istorija pobedila!")
} else {
basic.showString("Nereseno!")
}
})
let istorija = 0
// Brojanje glasova za Matematiku
input.onButtonPressed(Button.A, function () {
matematika += 1
})
// Brojanje glasova za Istoriju
input.onButtonPressed(Button.B, function () {
istorija += 1
})
// Prikaz rezultata
input.onButtonPressed(Button.AB, function () {
if (matematika > istorija) {
basic.showString("Matematika pobedila!")
} else if (istorija > matematika) {
basic.showString("Istorija pobedila!")
} else {
basic.showString("Nereseno!")
}
})
Objašnjenje
- Grananje i odluke:
Funkcija onButtonPressed koristi se za praćenje događaja kada korisnik pritisne određeni taster. Grananje (if naredbe) omogućava donošenje odluke koji predmet ima više glasova. - Unos i izlaz:
- Ulaz: Pritiskanje tastera A i B.
- Izlaz: Poruke koje se prikazuju na LED ekranu micro:bita.
- Interaktivnost:
Micro:bit omogućava korisnicima da aktivno učestvuju u anketi i odmah vide rezultat.
Testiranje
- Pokrenite program na micro:bit uređaju.
- Kliknite više puta na taster A i B kako biste simulirali glasanje.
- Pritisnite tastere A+B za prikaz rezultata i proverite da li program ispravno analizira i prikazuje glasove.
Logic paleta
Primeri upotrebe komandi sa palete Logic
- if...then ( Izvršava blok naredbi unutar if dela ako je postavljeni uslov istinit.)
2. if...then...else(Proverava uslov i izvršava blok naredbi u if delu ako je uslov istinit, ili u else delu ako je uslov lažan.)
Primer: Ako je pritisnut taster A, prikaži "A", inače prikaži "B".
Primer: Ako je pritisnut taster A, prikaži "A", inače prikaži "B".
3. Boolean vrednosti (true/false)(Omogućava postavljanje logičkih vrednosti true za tačno i false za netačno.)
Primer: Promenljiva stanje određuje da li se prikazuje tekst "DA".
Primer: Promenljiva stanje određuje da li se prikazuje tekst "DA".
4. == (jednako)(Poredi dve vrednosti i vraća true ako su jednake, inače false.)
Primer: Ako je trenutna temperatura jednaka 20°C, prikaži "20C".
Primer: Ako je trenutna temperatura jednaka 20°C, prikaži "20C".
5. != (nije jednako)(Poredi dve vrednosti i vraća true ako nisu jednake, inače false.)
Primer: Ako trenutna temperatura nije 20°C, prikaži "Nije 20".
Primer: Ako trenutna temperatura nije 20°C, prikaži "Nije 20".
6. < (manje od)(Proverava da li je prva vrednost manja od druge.)
Primer: Ako je temperatura manja od 15°C, prikaži ikonu snega.
Primer: Ako je temperatura manja od 15°C, prikaži ikonu snega.
7. > (veće od)(Proverava da li je prva vrednost veća od druge.)
Primer: Ako je broj okreta veći od 10, prikaži "Gotovo".
Primer: Ako je broj okreta veći od 10, prikaži "Gotovo".
8. <= (manje ili jednako)(Proverava da li je prva vrednost manja ili jednaka drugoj.)
Primer: Ako je broj okreta manji ili jednak 5, prikaži "U redu".
Primer: Ako je broj okreta manji ili jednak 5, prikaži "U redu".
9. >= (veće ili jednako)(Proverava da li je prva vrednost veća ili jednaka drugoj.)
Primer: Ako je broj koraka veći ili jednak 100, prikaži "Cilj postignut".
Primer: Ako je broj koraka veći ili jednak 100, prikaži "Cilj postignut".
10. && (logičko AND)(Vraća true ako su oba izraza istinita, inače false.)
Primer: Ako je temperatura veća od 20°C i manja od 30°C, prikaži "Idealno".
Primer: Ako je temperatura veća od 20°C i manja od 30°C, prikaži "Idealno".
11. || (logičko OR)(Vraća true ako je bilo koji od izraza istinit, inače false.)
Primer: Ako je pritisnut taster A ili taster B, prikaži "Klik".
Primer: Ako je pritisnut taster A ili taster B, prikaži "Klik".
12. not (logičko NOT)(Inverzuje logičku vrednost; true postaje false i obrnuto.)
Primer: Ako nije pritisnut taster A, prikaži "Nema pritiska".
Primer: Ako nije pritisnut taster A, prikaži "Nema pritiska".
Projekat za samostalan rad: Anketiranje omiljenih predmeta uz micro:bit i radio vezu
U ovom projektu kreiraćemo sistem za anketiranje omiljenih predmeta pomoću više micro:bit uređaja. Dva micro:bit-a će se koristiti kao uređaji za glasanje (senderi), a jedan micro:bit će biti prijemnik koji prikuplja i prikazuje rezultate ankete. Glasovi se šalju putem radio veze, pri čemu svaki uređaj za glasanje predstavlja jedan predmet.
Koraci za realizaciju
- Konfigurisanje radio veze:
Svi micro:bit uređaji moraju biti postavljeni na istu radio grupu kako bi mogli međusobno da komuniciraju. - Sender za Matematiku:
Ovaj micro:bit šalje poruku "Matematika" prijemniku svaki put kada učenik pritisne taster A. - Sender za Istoriju:
Ovaj micro:bit šalje poruku "Istorija" prijemniku svaki put kada učenik pritisne taster B. - Prijemnik:
Prijemnik prima poruke sa oba sendera, broji glasove za svaki predmet i prikazuje rezultate na ekranu.
Mogućnosti proširenja
- Dodavanje još sendera za dodatne predmete.
- Čuvanje rezultata na micro:bit prijemniku za kasniju analizu.
- Vizuelizacija rezultata pomoću LED ekrana (npr. brojanje tačaka za svaki glas).
Složeni uslovi
Složeni uslovi su korisni kada želimo da kombinujući dva ili više prosta uslova odredimo složen kriterijum koji mora biti ispunjen. Na mikrobitu možemo koristiti logičke operatore AND (i), OR (ili) i NOT (ne) da bismo napravili takve kombinacije.
Na primer, ako želimo da odredimo da li je ugao u prvom kvadrantu, možemo postaviti dva uslova:
Na primer, ako želimo da odredimo da li je ugao u prvom kvadrantu, možemo postaviti dva uslova:
- Ugao je veći od 0 stepeni.
- Ugao je manji od 90 stepeni.
Cod u python-u
if ugao > 0 and ugao < 90:
basic.show_string("1Q") # Prikazuje "1Q" ako je ugao u prvom kvadrantu.
basic.show_string("1Q") # Prikazuje "1Q" ako je ugao u prvom kvadrantu.
Ovde uslov ugao > 0 and ugao < 90 garantuje da će se kôd izvršiti samo kada oba uslova važe. Ako jedan od uslova nije ispunjen, rezultat složenog uslova biće False (neistinito), i mikrobit neće prikazati "1Q".
Logičko "ili"
S druge strane možemo posmatrati zahtev za proveru da ugao nije u prvom kvadrantu, tj. da je ugao manji od nule ili ugao veći od 90. Kod bi bio kao na slici ispod:
ili u python-u
if ugao <= 0 or ugao >= 90:
basic.show_string("Nije u prvom kvadrantu(1Q)")
basic.show_string("Nije u prvom kvadrantu(1Q)")
Logika složenih uslova
Složeni uslovi se koriste za donošenje odluka na osnovu više kriterijuma istovremeno. Oni kombinuju dva ili više prostih uslova koristeći logičke operatore poput "i" (AND) i "ili" (OR).
- Logički operator "i" (AND): Složeni uslov je tačan samo ako su oba uslova tačna. Ako je bar jedan uslov netačan, ceo složeni uslov postaje netačan.
Primer: Ako želite da prođete na ispitu, morate imati više od 50 poena i biti prisutni na testu. - Logički operator "ili" (OR): Složeni uslov je tačan ako je bar jedan od uslova tačan. Ceo uslov postaje netačan samo ako su oba uslova netačna.
Primer: Ako želite da prisustvujete događaju, možete pokazati ili ulaznicu ili ličnu kartu.
Konkretan svakodnevni primer: Kupovina karte za bioskopZamislite da želite da odete u bioskop i pravilo je da možete kupiti kartu ako ispunjavate jedan od sledećih uslova:
- Imate člansku kartu za bioskop.
- Imate popust za studente.
- Ako imate člansku kartu ili popust za studente, možete kupiti kartu.
if (clanska_karta == true OR popust_za_studente == true):
prikaži "Možete kupiti kartu"
else:
prikaži "Nemate pravo na kupovinu karte"
prikaži "Možete kupiti kartu"
else:
prikaži "Nemate pravo na kupovinu karte"
Ako imate člansku kartu, rezultat će biti tačan i možete kupiti kartu, bez obzira na popust za studente. Slično, ako imate popust za studente, rezultat će opet biti tačan.
Drugi primer: Bezbednosna proveraNa ulazu u neku zgradu, potrebna su dva uslova za ulazak:
- Da imate identifikacionu karticu.
- Da ste upisani na spisak posetilaca.
if (ima_karticu == true AND na_spisku == true):
prikaži "Pristup dozvoljen"
else:
prikaži "Pristup odbijen"
prikaži "Pristup dozvoljen"
else:
prikaži "Pristup odbijen"
Ako vam nedostaje bilo koji od uslova (kartica ili spisak), neće vam biti dozvoljen ulazak.
Zaključak
Ovi primeri pokazuju kako logički operatori "i" i "ili" funkcionišu u stvarnom životu, čineći ih lakšim za razumevanje. Oni se koriste za donošenje odluka na osnovu višestrukih kriterijuma, čime postaju ključni u programiranju i svakodnevnim situacijama.
Ovi primeri pokazuju kako logički operatori "i" i "ili" funkcionišu u stvarnom životu, čineći ih lakšim za razumevanje. Oni se koriste za donošenje odluka na osnovu višestrukih kriterijuma, čime postaju ključni u programiranju i svakodnevnim situacijama.
Kompas
Kompas na micro:bit uređaju je senzor koji omogućava da uređaj detektuje pravac u kojem je okrenut u odnosu na magnetni sever. Ovaj senzor je u osnovi magnetometar koji meri jačinu i smer magnetnog polja. Kompas na micro:bitu se koristi za aplikacije kao što su praćenje pravca, navigacija i orijentacija u prostoru.
Čemu služi kalibracija kompasa?Kalibracija kompasa je proces podešavanja senzora kako bi precizno merio magnetne sile. Ovo je potrebno jer se magnetometar može ometati lokalnim magnetnim poljima ili metalnim predmetima u blizini.
Kalibracija se obično pokreće na micro:bitu kada je senzor prvi put aktiviran ili ako se otkrije nepreciznost. Tokom kalibracije, micro:bit traži od korisnika da naginje uređaj u različitim pravcima kako bi se merenja optimizovala za tačno očitavanje u svim orijentacijama. Na ekranu micro:bita se obično pojavljuje animacija ili poruka koja vodi korisnika kroz proces.
Kada koristiti kalibraciju?
Kalibracija se obično pokreće na micro:bitu kada je senzor prvi put aktiviran ili ako se otkrije nepreciznost. Tokom kalibracije, micro:bit traži od korisnika da naginje uređaj u različitim pravcima kako bi se merenja optimizovala za tačno očitavanje u svim orijentacijama. Na ekranu micro:bita se obično pojavljuje animacija ili poruka koja vodi korisnika kroz proces.
Kada koristiti kalibraciju?
- Kada micro:bit ne očitava pravac precizno.
- Nakon značajnih promena u okruženju (na primer, blizina elektronskih uređaja ili magneta).
- Kada se kompas koristi u novoj aplikaciji ili projektu.
- Navigacija: Pravljenje programa koji pokazuje strelicu prema severu.
- Igre i eksperimenti: Korišćenje kompasa za detekciju rotacija i pravaca u igrama.
- Praćenje pravca: Kreiranje aplikacija koje reaguju na promene orijentacije.
Primer 3: Određivanje strana sveta pomoću kompasa
Napravite program za micro:bit koji koristi ugrađeni kompas za merenje pravca i prikazuje odgovarajuće strane sveta. Na osnovu izmerenog pravca:
- Ako je pravac između 0° i 44° ili između 315° i 360°, na ekranu treba prikazati tekst "S" (Sever).
- Ako je pravac između 45° i 134°, prikazuje se "I" (Istok).
- Ako je pravac između 135° i 224°, prikazuje se "J" (Jug).
- Ako je pravac između 225° i 314°, prikazuje se "Z" (Zapad).
Instrukcije za rešavanje:
- Postavljanje osnovnog okruženja:
- Pokrenite micro:bit editor (npr. MakeCode).
- Kreirajte novi projekat.
- Kalibracija kompasa:
- Koristite funkciju input.calibrate_compass() u Pythonu (ili odgovarajuću opciju u blokovima MakeCode).
- Kada program pokrene kalibraciju, pomerajte micro:bit u svim pravcima dok se kalibracija ne završi.
- Logika za očitavanje pravca:
- Koristite funkciju input.compass_heading() da biste dobili vrednost pravca u stepenima.
- Dodajte uslove za prikaz teksta "S", "I", "J" ili "Z" na osnovu očitanog pravca.
- Prikaz teksta:
- Prikazujte tekst na ekranu micro:bita pomoću funkcije basic.show_string() ili odgovarajuće opcije u blokovima.
Rešenje
Šta je azimut i kako se određuje na Micro:bitu?
Azimut je ugao između severnog pravca na horizontu i pravca prema nekoj tački, meren u smeru kazaljke na satu od 0° do 360°. Ova vrednost se koristi za određivanje orijentacije u prostoru i uobičajena je u navigaciji, astronomiji, geografiji i vojnim primenama.
Na BBC Micro:bitu, azimut se određuje pomoću ugrađenog magnetometra (kompasa), koji meri zemljino magnetno polje. Na osnovu tih merenja, Micro:bit može da odredi pravac u odnosu na sever. Proces uključuje sledeće korake:
- Kalibracija kompasa: Pre nego što Micro:bit počne da meri azimut, potrebno je kalibrisati magnetometar. Tokom kalibracije, korisniku se prikazuju animacije na LED ekranu, a uređaj treba rotirati u svim pravcima kako bi se registrovale sve magnetne sile i eliminisali lokalni magnetni poremećaji.
- Merenje ugla: Nakon kalibracije, Micro:bit može da meri azimut prema trenutnom položaju uređaja. Ugrađeni kod funkcije compass.heading() vraća vrednost ugla između pravca uređaja i magnetnog severa.
- Prikaz rezultata: Na osnovu izračunatog ugla, azimut može biti prikazan na LED ekranu, ili se može koristiti za dalje proračune, kao što je identifikacija strane sveta (npr. sever, istok, jug, zapad).
- Micro:bit olakšava učenje o azimutu kroz jednostavne programske okvire, omogućavajući učenicima i korisnicima da eksperimentišu s konceptom geografskih orijentacija na praktičan način.
Rešenje zadatka je prikazano na slici ispod:
Kompletno objašnjenje zadatka pogledaj u narednom videu:
Dodatni primeri za samostalan rad
1. Prikaz kvadranta
Zadatak: Napravite program koji prikazuje u kojem se kvadrantu nalazi trenutni ugao očitan na kompasu (prvi, drugi, treći, četvrti). Na ekranu treba da se prikaže broj kvadranta (1, 2, 3 ili 4).
Instrukcije:
- Podelite azimut na četiri opsega:
- Prvi kvadrant: 0° ≤ ugao < 90°
- Drugi kvadrant: 90° ≤ ugao < 180°
- Treći kvadrant: 180° ≤ ugao < 270°
- Četvrti kvadrant: 270° ≤ ugao < 360°.
- Koristite logičke operatore AND da definišete uslove za svaki kvadrant.
- Prikazujte odgovarajući broj kvadranta na LED ekranu.
2. Upoređivanje azimuta
2. Upoređivanje azimuta
Zadatak: Proverite da li je kompas usmeren prema severu (azimut manji od 45° ili veći od 315°) i prikažite „✔“ ako jeste, ili „✘“ ako nije.
Instrukcije:
Zadatak: Proverite da li je kompas usmeren prema severu (azimut manji od 45° ili veći od 315°) i prikažite „✔“ ako jeste, ili „✘“ ako nije.
Instrukcije:
- Koristite logički operator OR da povežete dva uslova.
- Podesite prikaz u petlji da bi Micro:bit kontinuirano proveravao orijentaciju.
3. Indikator skretanja
Zadatak: Programirajte Micro:bit da prikazuje strelicu udesno ako je ugao između 90° i 180°, a ulevo ako je između 180° i 270°.
Instrukcije:
- Definišite dva složena uslova pomoću logičkog operatora AND.
- Koristite LED matriks da prikažete strelice.
4. Slanje azimuta preko radio veze
Zadatak: Napravite program na dva Micro:bit-a. Prvi očitava azimut i šalje ga preko radio veze, dok drugi prikazuje azimut na ekranu.
Instrukcije:
- Na prvom Micro:bit-u:
- Podesite radio kanal (radio.setGroup()).
- Koristite radio.sendValue() da pošaljete očitani azimut.
- Na drugom Micro:bit-u:
- Primite vrednost preko radio veze koristeći radio.onReceivedValue().
- Prikažite vrednost na LED ekranu
5. Indikator blizine cilja
5. Indikator blizine cilja
Zadatak: Programirajte Micro:bit da proverava da li je ugao manji od 10° od željenog smera (npr. severa). Ako jeste, neka prikaže ikonicu „cilj“, u suprotnom neka prikazuje strelicu prema potrebnom skretanju.
Instrukcije:
Zadatak: Programirajte Micro:bit da proverava da li je ugao manji od 10° od željenog smera (npr. severa). Ako jeste, neka prikaže ikonicu „cilj“, u suprotnom neka prikazuje strelicu prema potrebnom skretanju.
Instrukcije:
- Koristite apsolutnu vrednost razlike između očitanog azimuta i ciljnog ugla (Math.abs()).
- Dodajte logičke uslove za prikaz strelica levo/desno
6. Digitalni navigator (napredno)
6. Digitalni navigator (napredno)
Zadatak: Programirajte dva Micro:bit-a za simulaciju navigacije. Prvi je "ciljni uređaj" koji periodično šalje svoj azimut preko radio veze, dok drugi daje instrukcije (levo, desno, pravo) da se usmeri ka cilju.
Instrukcije:
Zadatak: Programirajte dva Micro:bit-a za simulaciju navigacije. Prvi je "ciljni uređaj" koji periodično šalje svoj azimut preko radio veze, dok drugi daje instrukcije (levo, desno, pravo) da se usmeri ka cilju.
Instrukcije:
- Na "ciljnom" Micro:bit-u:
- Očitajte azimut i šaljite ga pomoću radio.sendValue().
- Na "navigacionom" Micro:bit-u:
- Primajte azimut.
- Poređujte očitani azimut sa svojim trenutnim i prikažite strelice ka cilju.
Sledeće
Petlje-mikrobit >| |