Ako sa robot Kitronik :MOVE mini MK2 vyhýba prekážkam
MOVE: mini a snímač vzdialenosti Grove
Najskôr uvediem zopár základných informácií potrebných k úspešnému pripojeniu snímača vzdialenosti k robotovi Kitronik :MOVE mini MK2. Tento robot disponuje doskou Servo:Lite, do ktorej sa osádza výučbový mikropočítač micro:bit. Pripojenie snímača vzdialenosti umožňuje rozhranie :MOVE Sensor Interface, ktoré je potrebné priskrutkovať na spomenutý mikropočítač. Na pripojenie snímača vzdialenosti sú na uvedenom rozhraní určené piny P8 a P10 (Echo a Trig) a napätie 3,3V. Ak nemáte žiadny takýto snímač doma a lámete si hlavu, kde ho zohnať, tak mám pre vás radu. Cenovo výhodný a bežne dostupný je snímač vzdialenosti Grove, ktorý ľahko pripojíte k zmienenému robotu pomocou 4-pinového prepojovacieho kábla s konektormi Grove a DuPont. Odporúčaný snímač som ešte uchytil dvomi gumičkami nad opísanou doskou a kontakty konektorov DuPont som veľmi opatrne ohol, aby nebránili svetelnému prejavu piatych GRB LED diód robota. Prepojovací kábel som viedol mimo displej mikropočítača micro:bit, aby som ho mohol využiť v praxi.
Na prvý pohľad sa snímač vzdialenosti Grove javí ako 4-pinový, ale v skutočnosti je jeden pin typu NC (skratka anglických slov ‚no connection‘), čiže neplní funkciu spoja. Preto som sa rozhodol využiť pin P8 namiesto pinu P10, čo mi umožnilo zapojiť do hry aj displej mikropočítača. Ak by som použil pin P10, tak na displeji mikropočítača by trvalo svietili niektoré diódy a nemohol by som s ním počítať pri programovaní.
Pre jednoznačnosť ešte uvádzam ‚layout‘ pinov mikropočítača micro:bit:
P0
– 5 RGB LED diód dosky Servo:Lite boardP1
– servomotorP2
– servomotorP8
– snímač vzdialenosti
Následne som prešiel od hardvéru k softvéru, teda som začal programovať v platforme Microsoft MakeCode, ktorú som rozšíril o Bloky Servo:Lite, Neopixel a Grove.
Po testovaní môjho programu som nakoniec dospel k jeho finálnej verzii:
Program JavaScript
let item = 0
basic.showLeds(`
# . . . #
# # . # #
# . # . #
# . . . #
# . . . #
`)
basic.pause(500)
let Pixel_Array = neopixel.create(DigitalPin.P0, 5, NeoPixelMode.RGB)
Pixel_Array.setPixelColor(0, neopixel.colors(NeoPixelColors.Purple))
Pixel_Array.setPixelColor(1, neopixel.colors(NeoPixelColors.Yellow))
Pixel_Array.setPixelColor(2, neopixel.colors(NeoPixelColors.Green))
Pixel_Array.setPixelColor(3, neopixel.colors(NeoPixelColors.Blue))
Pixel_Array.setPixelColor(4, neopixel.colors(NeoPixelColors.Violet))
Pixel_Array.show()
basic.pause(1000)
Pixel_Array.clear()
Pixel_Array.show()
basic.clearScreen()
basic.forever(function () {
item = grove.measureInCentimeters(DigitalPin.P8)
if (0 <= item && item < 9) {
Pixel_Array.clear()
Pixel_Array.setPixelColor(0, neopixel.colors(NeoPixelColors.Red))
Pixel_Array.setPixelColor(4, neopixel.colors(NeoPixelColors.Red))
Pixel_Array.show()
kitronik_servo_lite.driveBackwards(80)
basic.showArrow(ArrowNames.South)
} else if (9 <= item && item < 18) {
Pixel_Array.clear()
Pixel_Array.setPixelColor(4, neopixel.colors(NeoPixelColors.Orange))
Pixel_Array.show()
kitronik_servo_lite.turnLeft(70)
basic.showArrow(ArrowNames.East)
} else {
Pixel_Array.clear()
Pixel_Array.setPixelColor(0, neopixel.colors(NeoPixelColors.White))
Pixel_Array.setPixelColor(4, neopixel.colors(NeoPixelColors.White))
Pixel_Array.show()
kitronik_servo_lite.forward()
basic.showArrow(ArrowNames.North)
}
})
Program MakeCode
Video
Záver
So záverom prichádza moje poďakovanie, že ste si našli čas prečítať môj článok. Verím, že vám pomohol zodpovedať otázku obsiahnutú v názve tohto článku.
Tému praktického využitia robota Kitronik :MOVE mini MK2 a jeho príslušenstva považujem už za dostatočne opísanú, preto v nasledujúcom článku sa budem venovať novému robotovi. Napoviem len toľko, že bude od výrobcu Waveshare.
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í
- Snímač čáry :MOVE Line Following board
- Grove – Ultrazvukový senzor vzdálenosti
- Nárazník Bumper V2 (navrhnutý pre robotický futbal)
- Rameno BullDozer V2
- Dálkové infračervené ovládání s přijímačem HX1838
- 8 RGB LED Ring (Elecfreaks Micro:bit Starter kit)
- Propojka z Grove konektoru na 4 pin dupont samec
- Kitronik Ochranné pouzdro pro BBC micro:bit