6.5 Micro:bit i motori: od koda do pokreta
Programiraj, spoji, pokreni svoje LEGO izume
Uvod: Što su motori i koje koristimo s micro:bitom?
Motor općenito ima dvije uloge:
- Pretvara električnu energiju u rotaciju (vrtnju).
- Tu rotaciju možemo iskoristiti da pomičemo kotače, rampe, kazaljke, krilca, vrata itd.
Sa micro:bitom se najčešće koriste:
- Klasični DC motori (najčešće LEGO motori ili mali 3–6 V motori).
- Servo motori (pozicijski i 360°/stalne vrtnje).
- Ponekad i stepper motori (rjeđe u početničkim radionicama, jer su složeniji za upravljanje).
Za jednostavne LEGO konstrukcije, najpraktičniji je koristiti male DC motore za jednostavne vrti se / ne vrti se radnje i pozicijske servo motore (tipa SG90) za precizno postavljanje kuta (npr. rampa gore/dolje).
Kakve motore možemo spojiti na micro:bit?
Motorima je obično potrebno:
- puno više struje nego što micro:bit može sigurno dati,
- često i viši napon (npr. 5 V ili više, dok micro:bit radi sa 3 V).
Zbog toga:
- Klasične DC motore i LEGO motore ne smijemo spajati direktno na pin micro:bita.
- Potrebni su posebni driveri (motor driver pločice, H-mostovi, servo driver pločice) i odvojeno napajanje motora.
- Micro:bit daje samo niskostrujni signal tim driverima.
Što se može spojiti direktno (u ograničenom smislu):
- Jedan mali servo motor (tipa SG90) se ponekad spaja direktno na micro:bit, ali i tu postoje važna ograničenja (vidi niže).
- LED-ice, tipkala, mikroprekidači, senzori – oni ne troše toliko struje kao motor.
Kako rade pozicijski servo motori?
Pozicijski servo motor je poseban tip motora s ugrađenom elektronikom i povratnom informacijom o položaju. On nije dizajniran da se okreće u krug bez kraja, nego:
- se obično okreće unutar ograničenog kuta (npr. 0° do 180°),
- drži zadani položaj dok mu šaljemo odgovarajući signal.
Kako micro:bit upravlja pozicijskim servom: - micro:bit šalje seriju impulsa (PWM – pulsno-širinska modulacija) na signalni pin serva.
Duljina impulsa određuje koji kut servo treba zauzeti:
- npr. jedan tipičan puls za 0°,
- drugi za 90° (sredina),
- treći za 180°.
Prilikom programiranja micro:bita, koristiti ćemo blok naredbu servo write pin P0 to N u grupi Pins:
Servo unutra ima mali kontroler i senzor položaja – uspoređuje željeni kut iz signala i stvarni kut, te okreće motor dok ne dosegne točan položaj.
Posljedica je vrlo intuitivna:
- Naredba tipa postavi servo na 0° znači spusti rampu.
- Naredba postavi servo na 90° znači otvori rampu.
Možemo li spojiti jedan servo motor na micro:bit?
Da, jedan mali pozicijski servo (tipa SG90) se često spaja direktno na micro:bit, ali uz određena pravila i ograničenja:
- Signalni pin serva ide na jedan od pinova micro:bita (npr.
P0,P1iliP2). - GND serva se spaja na
GNDmicro:bita. - Napajanje serva (
VCC) se može u nekim scenarijima dobiti iz istog battery packa kao micro:bit, ali to zna biti na granici i nije idealno, pogotovo ako servo pod opterećenjem povuče više struje.
Ograničenja kod direktnog spajanja
-
Struja:
- Servo pri pokretanju i pod opterećenjem može povući relativno veliku struju.
- Ako micro:bit i servo dijele slabo napajanje, micro:bit se može resetirati ili ponašati nestabilno.
- Micro:bitovi pinovi nisu predviđeni za direktno napajanje većih opterećenja; iako je servo mali, u vršnim trenucima može biti problem.
-
Napon:
- SG90 obično želi oko 4,8–6 V.
- Micro:bit radi oko 3 V, pa je ponekad na granici; neki servoi rade zadovoljavajuće i s nešto nižim naponom, ali ne uvijek.
-
Mehaničko opterećenje:
- Ako servo gura LEGO konstrukciju koja se zaključa ili blokira, struja naglo poraste.
- To dodatno opterećuje napajanje i motor, što može dovesti do trzanja, resetiranja micro:bita ili pregrijavanja.
Kako prevladati ta ograničenja?
-
Odvojeno napajanje za servo:
- Dati servu vlastiti battery pack (npr. 4×AA baterije za 5–6 V).
- Micro:bit i servo moraju dijeliti zajednički
GND(minus). - Micro:bitov pin daje samo signal, ne napaja servo.
-
Driver pločice:
- Korištenje specijaliziranih servo/motor driver pločica koje:
- primaju napajanje za motore,
- imaju izlaze za više serva,
- od micro:bita traže samo signale/komande (često preko I2C ili direktnih pinova).
Time se rasterećuje micro:bit, dobivaš više kanala i stabilnije napajanje.
- Korištenje specijaliziranih servo/motor driver pločica koje:
-
Ograničenje broja serva:
- U ranoj fazi radionica: jedan servo po micro:bitu, eventualno dva, ali uz vrlo oprezno dimenzioniranje napajanja.
- Ako želiš više serva (npr. za robotsku ruku), gotovo je nužno koristiti driver board i odvojeno/jače napajanje.
- Softverska zaštita:
- Ne udaraj servo stalno od kraja do kraja velikom brzinom.
- Izbjegavaj blokiranje serva na mehaničkom graničniku, umjesto toga:
- prilagoditi kutove (npr. ići 10–170° umjesto 0°–180°),
- koristiti mikroprekidače/graničnike i logiku u programu.
Vježbe
Potreban materijal
- 1 × micro:bit,
- 1 × SG90 servo motor (pozicioni) sa LEGO adapterom,
- 3 × žice sa krokodil-štipaljkama,
- LEGO rampa.
Spoji servo motor prema slici:
- crvena ide na + napajanje (
3V) - crna (ili tamno smeđa) ide na
GND - narančasta (ili žuta) ide na signal (pin
P0)
Vježba 1: Rampa na tipke A i B
Cilj vježbe
Naučiti ćemo:
- kako micro:bit upravlja servo motorom,
- kako tipke A i B pokreću različite akcije,
- povezati kretanje serva s fizičkom rampom (LEGO).
Logika programa
- Početni položaj: rampa zatvorena (npr. servo na 0°).
- Na tipku A: podigni rampu (npr. 90°).
- Na tipku B: spusti rampu (vrati na 0°).
Dodatna pitanja i zadaci:
- Kako ćeš izbjeći naglo trzanje rampe pri podizanju i spuštanju?
- Napravi da se rampa automatski spusti 3 sekunde nakon podizanja.
- Na koji još način možeš reći rampi kada se digne ili spusti?
Vježba 2: Kazaljka kontrolirana nagibom micro:bita
Cilj vježbe
Naučiti ćemo:
- čitanje senzora nagiba (akcelerometar),
- mapiranje vrijednosti (naginjanje lijevo/desno ⇒ kut servo motora),
- ideju o upravljaču: micro:bit kao volan ili joystick.
Logika programa
- Pročitaj nagib micro:bita (roll) i upiši ga direktno kao kut servo motora.
Dodatna pitanja i zadaci:
- Napravi malu igru:
- Nagibom micro:bita postavi kazaljku točno na 0° i pritisni tipku A.
- Ispiši razliku koliko si promašio (razlika 0 znači da si pogodio točan stupanj nagiba).
Što smo naučili?
Motori i micro:bit
- Motori pretvaraju električnu energiju u gibanje, a micro:bit im daje pamet – govori im kada i koliko da se pomaknu.
- Motore najčešće ne spajamo direktno na pinove micro:bita za napajanje, nego da micro:bit služi kao upravljač (signal), a baterije kao izvor snage.
Servo motori (SG90)
- Upoznali smo pozicijski servo motor: on se okreće samo unutar određenog kuta (npr. 0°–180°) i može držati svoju poziciju.
- Micro:bit se pokreće pomoću PWM signala (posebnih impulsa), koji šalju servo motoru informaciju na koji se kut treba okrenuti.
Spajanje servo motora na micro:bit
- Servo motor smo spojili s tri vodiča: signal na pin (npr.
P0), plus na napajanje, minus naGND. - Razgovarali smo o ograničenjima: servo motor može povući više struje nego što micro:bit voli, pa se može resetirati ili ponašati čudno ako napajanje nije dovoljno jako.
- Naglasili smo ideju odvojenog napajanja za servo (poseban battery pack) i zajedničke mase s micro:bitom, kao i upotrebu driver pločica kada želimo više motora.
Micro:bit kao mozak i volan
- Kako tipke A i B mogu otvarati i zatvarati rampu – od koda do pokreta.
- Kako nagib micro:bita (akcelerometar) omogućava upravljamnje kutom servo motora, pa je micro:bit postao svojevrsni volan ili joystick.
LEGO mehanika
- Spojili smo servo SG90 na LEGO elemente uz pomoć isprintanog adaptera (uz pomoć 3D-printera) i vidjeli kako se elektronički dio (micro:bit + servo) spaja s mehaničkim (LEGO rampa).
- Time smo povezali programiranje, elektroniku i mehaniku u jednu cjelinu – mali program u micro:bitu pokreće stvarne fizičke konstrukcije.

