Robot – kreiraj ga micro:bit kockicom

Opis projekta

U ovom projektu imate priliku primijeniti svoje znanje o micro:bitu i servo motoru te pomoću njih izraditi vlastitog robota koji se kreće. Za ovaj projekt bi bilo idealno da imate 2 micro:bita, ali možete raditi i samo s jednim tako da izmjenjujete programe na njemu i postepeno rješavate zadatak. Prvi micro:bit najprije pretvorite u igraću kockicu. To znači da svaki put kad ga protresete na njemu će se prikazati slučajno odabrani broj od 1 do 6. Protresanjem micro:bita kockice tako možete odrediti izgled svog robota. U kreativnom kutku ovog projekta možete pronaći 6 različitih mogućnosti izgleda robota (glava, tijelo i  ruke). Prvim protresanjem odredi glavu, drugim tijelo, a trećim robotske ruke.

Robota izradite od kartona, kolaža i ljepila te upotrijebite komad žice ili špage za povlačenje stražnjeg dijela robota prema naprijed kako bi se kretao. Pogledajte primjer našeg robota u kreativnom kutku.

Za kretanje robota potreban je servo motor iz Boson seta. Njegovim pomicanjem upravljat će drugi micro:bit koji ćete smjestiti u pločicu za spajanje. Pritiskom na tipkalo A neka robot krene s kretanjem, a pritiskom na tipkalo B neka se zaustavi.

Prvi micro:bit je odradio dio posla za određivanje izgleda robota, a sada ga možete upotrijebiti za njegovo lice tako da se na njemu prikazuje robotovo raspoloženje. Kakvog raspoloženja će biti vaš robot odredite sami.

Potrebni moduli

  • Pločica za spajanje elektroničkih modula
  • USB kabel za napajanje
  • servo motor

Spajanje modula

U pločicu smjestite micro:bit. U ovom spajanju upotrijebite samo servo motor koji ćete spojiti na izvod P0.

Upute za izradu programa

1. korak

Micro:bit kockica

Prvi micro:bit će biti kockica čijim protresanjem određujete kako će robot izgledati. Za protresanje micro:bita upotrijebite naredbu on shake iz kategorije Input.

Kad se micro:bit protrese mora se na zaslonu prikazati broj. Za prikaz broja odaberite naredbu show number iz kategorije Basic smjestite je u on shake blok.

Trenutnim programskim kôdom micro:bit prikazuje samo nulu kad ga se protrese. Prema zadatku on mora prikazati slučajno odabrane brojeve od 1 do 6. Da bi se to dogodilo kao argument naredbe show number postavite naredbu pick random 0 to 10.  Promijenite argumente 0 i 10 u 1 i 6 kako bi se protresanjem micro:bita prikazali brojevi u tom rasponu.

2. korak

Micro:bit robot – lice

Nakon što je prvi micro:bit odradio svoj posao kockice, sada na njega možete prebaciti program kojim će se na zaslonu micro:bita prikazivati raspoloženje robota. Raspoloženje možete nacrtati sami koristeći show leds naredbu ili koristiti neku gotovu ikonu iz naredbe show icon. Obje naredbe potražite u kategoriji Basic.

3. korak

Micro:bit robot – kretanje

Odredili ste izgled robota i njegov izraz lica, a sada slijedi izrada programa za drugi micro:bit koji će upravljati kretanjem robota.

Na početku programa, robot mora stajati prije nego pritisnete tipkalo A.  Jednom kad se robot počne kretati zaustavlja se pritiskom na tipkalo B te u bilo kojem trenutku može ponovno krenuti ako se pritisne tipkalo A. Da bi to moglo funkcionirati, potrebno je da u kategoriji Variables kreirate varijablu koju možete nazvati start. U on start bloku inicijalizirajte varijablu start na 0.

4. korak

Provjerom stanja varijable start u forever petlji, robot će se kretati ili mirovati. Ako je njezina vrijednost 0 (kao na početku programa), robot stoji. Ako joj je vrijednost različita od 0 (primjerice 1), robot se kreće.

Vrijednost varijable start mijenjajte pritiskom na tipkala A i B. Kad se pritisne tipkalo A, varijabla start neka poprimi vrijednost 1, a kad se pritisne tipkalo B, varijabla start neka ponovno postane 0.

5. korak

Sada u forever petlji provjeravajte stanje varijable start. Ako je vrijednost varijable start jednaka 1¸, servo motor neka krene s radom pomicanjem polugice naprijed-nazad. Inače, ako vrijednost varijable start nije 1, servo motor neka se zaustavi u određenom položaju. Za postavljanje uvjeta koristite naredbu if then else iz kategorije Logic. Za rad servo motora upotrijebite naredbu servo write pin P0 to iz kategorije Pins. Želite da servo motor okreće polugicu naprijed-nazad, stoga u then dijelu programa postavite dvije pozicije servo motora i između njih naredbu za pauzu kako bi servo motoru dali dovoljno vremena da dođe iz jedne pozicije na drugu. U else dijelu odredite naredbom servo write pin P0 to u kojoj poziciji da bude polugica motora kad se robot zaustavi.

Kreativni kutak

Preuzmi predloške za kreiranje svog robota ovdje.