Svijetli, sviraj ili vozi

Zadatak

Izradite program kojim će robot čekati poruku od micro:bit upravljača. Ovisno o tome koja tipka (A, B ili A+B) se pritisne na micro:bit upravljaču, robot će svijetliti, svirati ili voziti 1 sekundu. U slučaju tipke A, neka se pošalje poruka robotu da svijetli. U slučaju tipke B da svira, a pritiskom tipki A+B istovremeno, da vozi ravno.

Rješenje – micro:bit (pošiljatelj)

Objašnjenje – micro:bit (pošiljatelj)

Sve naredbe smjestite unutar bloka micro:bit starts iz micro:bit kategorije. Prvo postavite broj kanala za bežičnu komunikaciju na 7 naredbom set wireless channel to 7. Zatim stavite jedan forever blok iz Control kategorije. U forever blok smjestite 3 if then petlje. Svaka if then naredba provjerava je li pritisnuta tipka A, B ili A+B te ovisno o tome šalje robotu određenu poruku.

Kada je pritisnuta tipka A, robot treba uključiti svjetla pa micro:bit upravljač šalje poruku svijetli naredbom send string svijelti via wireless.

Istom naredbom se šalje poruka sviraj kada je pritisnuta tipka B kako bi robot reproducirao zvuk i poruka vozi kada su pritisnute tipke A+B istovremeno kako bi robot vozio ravno.

Program prebacite na micro:bit pošiljatelj.

Rješenje – robot (primatelj)

Objašnjenje – robot (primatelj)

Prvo je potrebno odrediti radio kanal za bežičnu komunikaciju između micro:bitova. Smjestite naredbu set wireless channel to 7 u blok micro:bit starts kako bi se odmah na početku kanal postavio na broj 7.  Broj kanala za komunikaciju mora biti isti kao onaj u programu za upravljač.

Robot mora zasvijetliti, zasvirati ili se kretati ravno ovisno o poruci koju mu pošalje micro:bit upravljač. Iz micro:bit kategorije uzmite blok when received wireless data kojom se provjerava je li robot primio neku poruku. U nastavku na taj blok smjestit ćete naredbe za svjetlo, sviranje i kretanje. Uzmite 3 if then petlje iz Control kategorije gdje svaka provjerava jednu poruku.

Unutar svake kao uvjet stavite naredbu usporedbe – jednakost(=) iz Operators kategorije. Iz bloka when received wireless data uzmite varijablu wireless data i smjestite je u lijevo polje svake jednakosti. Ona sadrži vrijednost poruke koju šalje micro:bit upravljač te ju je potrebno usporediti s porukama svijetli, sviraj i vozi.

Prvi uvjet provjerava je li primljena poruka (wireless data) jednaka svijetli. Ako je uvjet zadovoljen, robot će zasvijetliti narančastom bojom 1 sekundu te potom isključiti svjetla. U slučaju drugog uvjeta (wireless data = sviraj) robot reproducira zadanu melodiju. Kod trećeg uvjeta (wireless data = vozi) pokreću se oba motora robota i robot vozi ravno 1 sekundu nakon čega se zaustavlja.

Prebacite programe na micro:bitove i upravljajte robotom drugim micro:bitom.