Programovateľný dron Elecfreaks micro:bit dron:bit kit ovládaný na diaľku

Milí priatelia robotiky zaujímajúci sa o programovateľný dron Dron:bit, riadený jedinečným mikropočítačom micro:bit! Neoddeliteľnou súčasťou spomenutého dronu je jeho rádiové diaľkové ovládanie, vyvinuté výrobcom Elecfreaks, nachádzajúce sa na voľnodostupnej edukačnej podstránke nazvanej Welcome to micro:bit WIKI.

Zmienené ovládanie vychádza z potreby zaobstarať si ďalší mikropočítač a špeciálny ovládač Joystick:bit. Rozhodol som sa eliminovať túto potrebu využitím ‚smart‘ mobilného telefónu s technológiou Bluetooth. Ak ste zvedaví, či sa mi podarilo uspieť, stačí len pokračovať v čítaní môjho článku.

Použitie mobilného telefónu na ovládanie dronu

Použitie mobilného telefónu na ovládanie dronu Dron:bit si vyžaduje inštaláciu bezplatnej Android aplikácie micro:bit Bluespárovanie mobilu s mikropočítačom micro:bit. Pre uvedenú aplikáciu odporúčam zakázať aktualizácie a pri jej používaní mať vždy zapnuté Bluetooth a GPS mobilu, inak sa nepodarí nadviazať spojenie.

Tento obrázek nemá vyplněný atribut alt; název souboru je microbit-Blue-847x476.png.

Samotný dron je nutné ešte naprogramovať pomocou voľne dostupnej platformy Microsoft MakeCode. Najskôr je potrebné rozšíriť túto platformu o Blok Bluetooth a modifikovaný Blok Dronbit, lebo štandardný Blok Dronbit je nekompatibilný s Blokom Bluetooth.

Modifikáciu spomenutého bloku som po pár hodinách snahy úspešne zvládol a vo vytvorení programu dronu mi už nič nestálo v ceste.

Program JavaScript

led.setBrightness(15)
Drones.initModule()
Drones.UAV_speed(80)
basic.showLeds(`
    # # . # #
    # # . # #
    . . # . .
    # # . # #
    # # . # #
    `)
bluetooth.onBluetoothConnected(function () {
    basic.clearScreen()
    basic.showLeds(`
        . . # # .
        # . # . #
        . # # # .
        # . # . #
        . . # # .
        `)
    Drones.Basic_action(Drones.Basicoptions.Take_off)
    basic.showLeds(`
        . . # . .
        . # # # .
        # # # # #
        . . . . .
        # # # # #
        `)
})
bluetooth.onBluetoothDisconnected(function () {
    basic.clearScreen()
    basic.showLeds(`
        . . # # .
        # . # . #
        . # # # .
        # . # . #
        . . # # .
        `)
    Drones.Basic_action(Drones.Basicoptions.Landing)
    basic.showLeds(`
        # # # # #
        . # # # .
        . . # . .
        . . . . .
        # # # # #
        `)
    basic.clearScreen()
    basic.showLeds(`
        # # . # #
        # # . # #
        . . # . .
        # # . # #
        # # . # #
        `)
})
control.onEvent(EventBusSource.MES_DPAD_CONTROLLER_ID, EventBusValue.MICROBIT_EVT_ANY, function () {
    if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_A_DOWN) {
        basic.showArrow(ArrowNames.North)
        Drones.Move_action(Drones.Directionoptions.Forward, 50)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_A_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_B_DOWN) {
        basic.showArrow(ArrowNames.South)
        Drones.Move_action(Drones.Directionoptions.Backward, 50)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_B_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_C_DOWN) {
        basic.showArrow(ArrowNames.West)
        Drones.Move_action(Drones.Directionoptions.Left, 50)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_C_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_D_DOWN) {
        basic.showArrow(ArrowNames.East)
        Drones.Move_action(Drones.Directionoptions.Right, 50)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_D_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_1_DOWN) {
        basic.showLeds(`
            . . # . .
            . # # # .
            # # # # #
            . . . . .
            # # # # #
            `)
        Drones.Move_action(Drones.Directionoptions.Up, 30)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_1_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_2_DOWN) {
        basic.showLeds(`
            # # # # #
            . # # # .
            . . # . .
            . . . . .
            # # # # #
            `)
        Drones.Move_action(Drones.Directionoptions.Down, 30)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_2_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_3_DOWN) {
        basic.showLeds(`
            . . # . .
            . # . . .
            # # # # #
            . # . . #
            . . # . #
            `)
        Drones.Rotation_action(Drones.Angleoptions.Take_off, 45)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_3_UP) {
        basic.clearScreen()
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_4_DOWN) {
        basic.showLeds(`
            . . # . .
            . . . # .
            # # # # #
            # . . # .
            # . # . .
            `)
        Drones.Rotation_action(Drones.Angleoptions.Landing, 45)
    } else if (control.eventValue() == EventBusValue.MES_DPAD_BUTTON_4_UP) {
        basic.clearScreen()
    }
})

Program MakeCode

Video

Pri úspešnej Bluetooth konektivite dron vzlietne a po prerušení spojenia automaticky pristane, čím sa minimalizuje riziko straty kontroly nad ním.

Tento obrázek nemá vyplněný atribut alt; název souboru je unnamed-847x476.png.

Ovládanie letu dronu si vyžaduje koordinovať pohyb v troch dimenziách načo je treba minimálne šesť tlačidiel. Dron Dron:bit dokáže ešte rotovať v dvoch smeroch, čiže na komplexné zabezpečenie ovládania opísaného dronu je vhodná mobilná aplikácia aspoň s ôsmimi tlačidlami, ktorou je aj Android aplikácia s názvom Kitronik Move alternujúca horeuvedenú aplikáciu.

Záver

Na záver sa chcem poďakovať nielen za prečítanie tohto článku, ale aj za vyskúšanie môjho diaľkového ovládania dronu Dron:bit s použitím technológie Bluetooth, výučbového mikropočítača micro:bit a mobilného telefónu. Predviedol som vám v praxi alternatívny ovládač, z ktorého bol milo prekvapený aj sám výrobca dronu. Možnosti vo svete robotiky sú väčšinou limitované len predstavivosťou, preto sa netreba báť robiť veci po svojom a veľakrát aj lepšie.

S touto pozitívnou myšlienkou sa s Vami nateraz lúčim a v prípade objavenia ďalšieho výnimočného robota sa opäť ozvem.

E-shop

Elecfreaks micro:bit dron:bit kit (bez micro:bitu)

Dron:bit je úspěšné spojení micro:bitu s dronem, což studentům poskytuje další možnost tvoření a zkoumání ve vzduchu.




BBC micro:bit V2

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





Další příslušenství

Podobné příspěvky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *