o.O wtFAQ – We Tinker, Fix and Question
◀ 6.5 Tajni signali svjetlosti - infracrveni senzor

6.5 Micro:bit i motori: od koda do pokreta
Programiraj, spoji, pokreni svoje LEGO izume

motori

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?

Važno!
Micro:bit nije izvor snage za motor, on je mozak koji daje upute.

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 motor

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, P1 ili P2).
  • GND serva se spaja na GND micro: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.

  • 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:

spajanje servo motora
Obrati pažnju na boje žica:

  • 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.
S63876-13116-19208-92094

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).

ligtbulb Š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 na GND.
  • 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.
◀ 6.5 Tajni signali svjetlosti - infracrveni senzor