Diaľkové ovládanie robota Kitronik :MOVE mini MK2

Zdravím prívržencov robotiky a programovania, ktorým sa zapáčil robot Kitronik :MOVE mini MK2 riadený výučbovým mikropočítačom micro:bit. Uvedený robot je možné diaľkovo ovládať prostredníctvom rádiovej komunikácie dvoch mikropočítačov alebo technológiou Bluetooth mikropočítača a mobilného zariadenia (mobilný telefón, tablet) s nainštalovanou aplikáciou Kitronik Move. Ako som uviedol v závere predošlého článku, téma práve čítaného článku mala byť prekvapením. Nebudem vás ďalej napínať a teda vás prekvapím, lebo v tomto článku opíšem obidva spôsoby.

Diaľkové ovládanie

Pri rádiovej komunikácii dvoch mikropočítačov micro:bit, prvý vysiela signály (vysielač) a druhý ich prijíma (prijímač). Prijímač je súčasťou robota Kitronik :MOVE mini MK2 a vysielač ovláda najmä jeho pohyb prostredníctvom naklonenia mikropočítača.

Rozhodol som sa pre nasledovný ‚layout‘ signálov (gest) vysielača a prijímača:

  • naklonenie vľavo – pohyb vľavo
  • naklonenie vpravo – pohyb vpravo
  • logo hore – pohyb dopredu
  • logo dole – pohyb dozadu
  • obrazovka hore – zastavenie
  • tlačidlo A – zapnutie RGB LED diód
  • tlačidlo B – vypnutie RGB LED diód

Pre úplnú predstavu uvádzam aj ‚layout‘ pinov mikropočítača osadeného v robote:

  • P0 – 5 RGB LED diód dosky Servo:Lite board a prídavné RGB LED diódy 8 RGB LED Ring
  • P1 – servomotor
  • P2 – servomotor

Program pre vysielač

Úspešným testovaním som sa dopracoval k finálnej verzii programu pre vysielač:

Program JavaScript

input.onGesture(Gesture.LogoUp, function () {
    basic.showLeds(`
        . . . . .
        . . # . .
        . # # # .
        # # # # #
        . . . . .
        `)
    radio.sendNumber(1)
})
input.onGesture(Gesture.TiltLeft, function () {
    basic.showLeds(`
        . . . # .
        . . # # .
        . # # # .
        . . # # .
        . . . # .
        `)
    radio.sendNumber(3)
})
input.onGesture(Gesture.TiltRight, function () {
    basic.showLeds(`
        . # . . .
        . # # . .
        . # # # .
        . # # . .
        . # . . .
        `)
    radio.sendNumber(4)
})
input.onGesture(Gesture.ScreenUp, function () {
    basic.showIcon(IconNames.SmallDiamond)
    radio.sendNumber(0)
})
input.onGesture(Gesture.LogoDown, function () {
    basic.showLeds(`
        . . . . .
        # # # # #
        . # # # .
        . . # . .
        . . . . .
        `)
    radio.sendNumber(2)
})
input.onButtonPressed(Button.A, function () {
    basic.showIcon(IconNames.Yes)
    radio.sendNumber(5)
})
input.onButtonPressed(Button.B, function () {
    basic.showIcon(IconNames.No)
    radio.sendNumber(6)
})
radio.setGroup(5)
led.setBrightness(4)

Program MakeCode

Program pre prijímač

Taktiež som bez problémov otestoval finálnu verziu programu pre prijímač:

Program JavaScript

radio.onReceivedNumber(function (receivedNumber) {
    if (receivedNumber == 0) {
        kitronik_servo_lite.stop()
    } else if (receivedNumber == 1) {
        kitronik_servo_lite.forward()
    } else if (receivedNumber == 2) {
        kitronik_servo_lite.backward()
    } else if (receivedNumber == 3) {
        kitronik_servo_lite.left()
    } else if (receivedNumber == 4) {
        kitronik_servo_lite.right()
    } else if (receivedNumber == 5) {
        Pixel_Array.showRainbow(1, 360)
    } else if (receivedNumber == 6) {
        Pixel_Array.clear()
        Pixel_Array.show()
    }
})
let Pixel_Array: neopixel.Strip = null
radio.setGroup(5)
RingbitCar.init_wheel(AnalogPin.P1, AnalogPin.P2)
Pixel_Array = neopixel.create(DigitalPin.P0, 13, NeoPixelMode.RGB)
Pixel_Array.setBrightness(4) 

Program MakeCode

Video

Program pre prijímač počíta len s maximálnou rýchlosťou servomotorov robota. To si vyžaduje rýchle reakcie pri jeho ovládaní a preto dosiahnuť plynulý pohyb robota je otázkou praxe.

Tipy pre vaše ďalšie projekty

Pre využitie technológie Bluetooth mikropočítača micro:bit je potrebné najskôr nainštalovať do mobilného zariadenia aplikáciu Kitronik Move a do robota Kitronik :MOVE mini MK2 nahrať sprievodný program tejto aplikácie. Následne po spárovaní tohto mobilného zariadenia s mikropočítačom je možné diaľkovo ovládať pohyb robota mobilným zariadením.

Námetom pre vlastnú tvorbu môže byť naprogramovanie zvyšných tlačidiel 1 až 4 spomenutej aplikácie na ovládanie 5 RGB LED diód dosky Servo:Lite board uvedeného robota.

Záver

Ďakujem za prečítanie môjho článku, ktorý vám určite poskytol inšpiráciu pre praktické využitie robotu Kitronik :MOVE mini MK2 a dozvedeli ste sa v ňom aj to, čo ste nečakali.

Ako ste si všimli, tento článok Vám dáva možnosť použiť spomenutého robota na robotický futbal. Tím robotov nemusia tvoriť len rovnaké roboty, čo umožňuje zistiť, ktorý robot je lepší v praxi.

Témou nasledujúceho článku bude tretí servomotor robota Kitronik :MOVE mini MK2, čiže oficiálne by sme mali spájkovať alebo neoficiálne by sme mohli využiť ďalší pin mikropočítača micro:bit.

E-shop

Kitronik :MOVE mini MK2

Naučte se základy robotiky s malým, vlastnoručně sestaveným a naprogramovaným robotem!

BBC Micro: bit

Nekonečně programovatelný a rozšiřitelný vzdělávací počítač do kapsy.

Doporučené příslušenství

Leave a Reply