Súprava Basic Kit stvorená pre mikropočítač micro:bit

Zase zdravím fanúšikov robotiky a programovania, ktorí si všimli, že pre výučbový mikropočítač micro:bit existujú aj rôzne súpravy. Tieto súpravy sa líšia najmä náročnosťou, obsahom a cenou. Na začiatok navrhujem vyskúšať si súpravu Basic Kit, ktorá je užívateľsky nenáročná a umožňuje prakticky odskúšať zaujímavé programy. Nebudem vás ďalej napínať a prejdem rovno k opisu spomenutej súpravy.

Basic Kit

Ako zo samotného názvu súpravy Basic Kit vyplýva, jedná sa o základnú (anglicky basic) súpravu určenú pre mikropočítač micro:bit. Zmienená súprava obsahuje dosku Basic:bit s piatymi skrutkami, držiak dvoch batérií AAA s káblom ukončený konektorom JST, štyri prepojovacie káble, dátový kábel USB, návod s príkladmi programov a päť modulov:

  • červená LED dióda
  • snímač nárazu
  • potenciometer
  • modul ADKey s piatimi tlačidlami
  • 180-stupňový servomotor

Uvedená doska sa piatymi skrutkami priskrutkováva k spomínanému mikropočítaču a umožňuje pripojenie až troch modulov súčasne (piny P0, P1 P2), pričom pomocou integrovaného prepínača je možné zapojiť do hry aj jej bzučiak (pin P0). Tento prepínač má dve polohy, v hornej polohe pripojí bzučiak na pin P0 a znefunkční konektor pinu P0 pre moduly a v dolnej zase naopak.

Prvý program so súpravou Basic Kit

Zo súpravy Basic Kit ma oslovil najmä modul s piatimi tlačidlami, potenciometer a červená LED dióda, ktoré som si chcel hneď vyskúšať. Na tento účel som sa rozhodol vytvoriť program zo štandardných Blokov platformy Microsoft MakeCode, pričom som bral do úvahy nasledovný ‚layout‘ zapojených pinov mikropočítača:

  • P0 – červená LED dióda alebo bzučiak
  • P1 – modul ADKey
  • P2 – potenciometer

Po testovaní mnou vytvoreného programu som dospel k jeho finálnej verzii:

Program JavaScript

basic.showString("TEST")
basic.forever(function () {
    if (0 < pins.analogReadPin(AnalogPin.P2) && pins.analogReadPin(AnalogPin.P2) < 10) {
        basic.showString("A")
        music.playTone(262, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P2))
    } else if (pins.analogReadPin(AnalogPin.P2) < 80) {
        basic.showString("B")
        music.playTone(330, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P2))
    } else if (pins.analogReadPin(AnalogPin.P2) < 130) {
        basic.showString("C")
        music.playTone(392, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P2))
    } else if (pins.analogReadPin(AnalogPin.P2) < 160) {
        basic.showString("D")
        music.playTone(440, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P2))
    } else if (pins.analogReadPin(AnalogPin.P2) < 600) {
        basic.showString("E")
        music.playTone(523, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P2))
    } else {
        basic.clearScreen()
        pins.analogWritePin(AnalogPin.P0, 0)
    }
    if (pins.analogReadPin(AnalogPin.P1) < 2) {
        basic.clearScreen()
        pins.analogWritePin(AnalogPin.P0, 0)
    } else if (pins.analogReadPin(AnalogPin.P1) < 100) {
        basic.showString("A")
        music.playTone(262, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P1))
    } else if (pins.analogReadPin(AnalogPin.P1) < 200) {
        basic.showString("B")
        music.playTone(330, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P1))
    } else if (pins.analogReadPin(AnalogPin.P1) < 300) {
        basic.showString("C")
        music.playTone(392, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P1))
    } else if (pins.analogReadPin(AnalogPin.P1) < 400) {
        basic.showString("D")
        music.playTone(440, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P1))
    } else if (pins.analogReadPin(AnalogPin.P1) < 500) {
        basic.showString("E")
        music.playTone(523, music.beat(BeatFraction.Half))
        pins.analogWritePin(AnalogPin.P0, pins.analogReadPin(AnalogPin.P1))
    }
})

Program MakeCode

Video

Program počíta aj so zvukovým prejavom bzučiaka na úkor funkčnosti LED diódy. Voľbu nechám na vás, lebo stačí len prepnúť prepínač dosky Basic:bit a budete počuť tóny alebo vidieť červené svetlo.

Záver

Záverom ďakujem za čas strávený pri čítaní môjho článku o súprave Basic Kit stvorenej pre mikropočítač micro:bit. V jednoduchosti je krása, čo vystihuje nenáročné programovanie modulov opísanej súpravy v praxi.

V budúcom článku si na pomoc zoberiem ešte dizajnový modul LAMP:bit, ktorý umocní výsledný efekt súpravy.

Eshop

E-shop

Elecfreaks BBC micro:bit Základní kit (bez micro:bitu)

Základní sada pro Váš BBC micro:bit!


BBC micro:bit

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




Leave a Reply