Diaľkové ovládanie robota Kitronik :MOVE mini MK2
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 RingP1
– servomotorP2
– 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.