Microbrick robotsko vozilo

MicroBrick je robotsko vozilo nastalo od micro:bita sa dodacima, poput lego kockica te lego motora. Ideja projekta je kombiniranje više robotskih platformi te je posebno izazov u projektu bilo povezati lego motore i lego kockice sa micro:bitom. Na ovakav način ne ograničavamo djecu na jednu tehnologiju te ih potičemo na kreativnost te stvaranje vlastitih ideja i tehničkih inovacija. MicroBrick robot ima mogućnost kretanja u svim smjerovima (naprijed, nazad, lijevo i desno), a posebnu draž mu pruža drugi micro:bit koji zapravo služi kao daljinski upravljač “joystick”, koristeći svoje senzore za pokret i tipkala za upravljanje.

Video snimka;

Opis fizičkog djela:

Potrebni djelovi za ovaj projekt su;

  • Micro:bit (2 komada)
  • Pločica za upravljanje elektro motorima (Motor driver)
  • Leho technick M-motor (2 komada)
  • Lego technic ili druge lego kockice po vlastitoj želji

Korak 1.
Spojimo micro:bit sa Motor driver pločicom kao na prikazanoj slici:

Korak 2.
Ogulimo vodiče sa jedne strane lego technic kabela (kabel direktno spojen sa lego technic M – motorom). Obratiti pozornost da kabel ima 4 vodiča, a za spajanje na Motor driver pločicu su nam potrebna  samo srednja dva (ostala dva možete ostaviti izolirana ). Ovaj postupak napraviti za oba spojna kabela od M – motora.

Korak 3.
Spojiti pomoću oguljenih vodiča motore sa Motor driver pločicom te spojti dodatno napajanje (4,5 – 6 V)

Korak 4.
Sastaviti funkcionalna robotska kolica koristeći razne lego kockice.

Opis programa:

Program se izvodi unutar micro:bita postavljenog na robot.

Korak 1.
Na samom početku definiramo broj RADIO GRUPE  “1” za međusobnu komunikaciju micro:bitova. Naredbom ON RADIO RECEIVED “receivedString” micro:bit detektira dolazeće vrijednosti sa drugog micro:bita u obliku teksta (stringa). Naredbom IF ispitujemo da li je primljeni tekst “nazad”. Ukoliko jest  slijedi niz naredbi; naredbom SHOW ARROW prikazujemo smjer gibanja na displeju. Naredbama ANALOG WRITE PIN upisujemo vrijednosti od 0 do 1023 u pinove sa kojima su motori povezani. Ovisno o položaju motora i brzinama koje želite postići podešavate prikazane vrijednosti.

 

Korak 2.
Ponovno pozivamo naredbu IF uvjeta te sada ispitujemo da li je pristigli tekst (string) jednak “desno”. Ukoliko jest prikazuje se na displeju strelica u desno te postavljamo motore da se vrte u desnu stranu (lijevi motor se okreće nazad, a desni motor se okreće naprijed).

 

Korak 3.
Opet pozivamo (kopiramo) isti niz naredbi kao u prethodnom koraku. Naredbom IF uvjeta sada ispitujemo da li je pristigli tekst (string) jednak “lijevo”. Ukoliko jest prikazuje se na displeju strelica u lijevo te postavljamo motore da se okreću u lijevu stranu (lijevi motor se okreće naprijed, a desni motor se okreće nazad).

 

Korak 4.
Sada želimo da se robot kreće naprijed ukoliko primi string “naprijed”. Koristimo iste naredbe kao i prethodnim koracima samo sada vodimo računa da nam motori budu podešeni suprotno nego u primjeru za “nazad”. Postavimo motore na veće vrijednost od “nazad” jer nam je prednje gibanja jednostavnije i učestalije. Pozovemo također naredbu za prikaz strelice prema smjeru prednjeg gibanja.

 

Korak 5.
Naposljetku postavimo da pri primitku stringa “stop” izgasimo sve motore (vrijednosti svih pinova jednaka nuli) i da se na displeju prikaže slovo “x”.

 

 

Program se izvodi na micro:bitu u funkciji “joysticka”.

Korak 1.
Na samo početku definiramo istu vrijednost RADIO GRUPE “1” kao i na prvom micro:bitu.

Korak 2.
Naredbama ON BUTTON PRESSED definiramo da nam pritisak na tipku A pomoću naredbe RADIO SEND STRING šalje vrijednost stringa (teksta) “naprijed” kako bi se robot kretao prema naprijed. Zatim definiramo da nam pritisak na tipku B šalje vrijednost “nazad” kao bi se robot kreato prema nazad. Te ukoliko pritisnemo istovremeno tipku A i B robot šalje vrijednost “stop” te se robot zaustavlja.

 

 

 

 

Korak 3.
Naredbama ON TILT LEFT i ON TILT RIGHT koristimo senzor pokreta unutar micro:bita (akcelerometar) koji prepoznaje nagibe micro:bita u lijevo ili desno te ovisno o nagibu šalje tekst vrijednost (string) drugom micro:bitu za pokretanje motora u lijevo ili desno.