Predstavenie rozširujúcej dosky Grove Shield V2.0 a modulov Grove

Zdravím priaznivcov robotiky a programovania, ktorí radi spoznávajú nové moduly určené pre výučbový mikropočítač micro:bit. V tomto článku vám predstavím mnou vyskladanú súpravu, pre zjednodušenie som ju pomenoval Grove, lebo obsahuje produkty len tejto značky.

Grove a micro:bit

Značku Grove tvorí veľké množstvo modulov a zopár rozširujúcich dosiek, avšak len niektoré sú kompatibilné s mikropočítačom micro:bit. Niekedy nevyhovuje napätie, lebo spomenutý mikropočítač pracuje pri napätí 3,3V a väčšina modulov až pri 5V. Inokedy zase chýbajú knižnice príkazov potrebných pre naprogramovanie modulov. Preto som si dal za úlohu otestovať niekoľko zaujímavých modulov a vybrať pre ne vhodnú rozširujúcu dosku. V tomto článku vás oboznámim s dvomi praktickými programami, aby ste mohli posúdiť mieru úspešnosti splnenia zadanej úlohy.

Skôr než prejdem k samotným programom, popíšem vám moju súpravu Grove. Tvorí ju rozširujúca doska Grove Shield V2.0, prepojovacie káble a šesť modulov Grove:

  • červená LED dióda
  • reproduktor
  • 4-miestny displej
  • snímač natočenia (otočný potenciometer)
  • infračervený (skratka IR) prijímač
  • mini pasívny IR snímač označovaný skratkou PIR

Zmienená doska obsahuje konektory Grove (typu GVS, IIC, Zero), konektor USB, pinové kontakty s otvormi, kontrolná dióda zapnutia a port pre pripojenie mikropočítača micro:bit.

Skúšobný program

Prvým programom, tzv. skúšobným, som chcel odskúšať funkčnosť uvedených modulov. Najskôr som musel vyriešiť otázku pripojenia šiestich modulov Grove k rozširujúcej doske Grove Shield V2.0, pričom tri som pripojil na konektory Grove (typu GVS) a zvyšné na pinové kontakty prostredníctvom skrutiek s maticami (veľkosti M3) a káblovými okami, do ktorých som nastrčil prepojovacie káble s konektormi ‚male‘ DuPont a ‚female‘ Grove. Konektory DuPont prepojovacích káblov som v káblových okách zakrimpoval a zaizoloval. Potom som začal riešiť ‚layout‘ obsadených pinov mikropočítača micro:bit modulmi, pričom som dospel k jednoznačnému výsledku:

  • P0 – reproduktor
  • P1 P15 – 4-miestny displej
  • P2 – otočný potenciometer
  • P8 – mini snímač PIR
  • P12 – IR prijímač
  • P13 – červená LED dióda

Následne som programoval v platforme Microsoft MakeCode rozšírenej o Bloky Grove, BitMaker, CODO a OSOYOO_IR. Na pomoc som si zobral aj IR diaľkový ovládač (batéria CR2025 nebola súčasťou balenia), ktorého päť tlačidiel som takto zakomponoval do programu:

  • tlačidlo 1 – prehranie melódie
  • tlačidlo 2 – zobrazenie čísla s dvojbodkou na 4-miestnom displeji
  • tlačidlo 3 – zobrazenie slova a hodnoty potenciometra na displeji mikropočítača
  • tlačidlo 4 – zobrazenie slova a hodnoty snímača PIR na displeji mikropočítača
  • tlačidlo 5 – rozsvietenie červenej LED diódy

Vytvorený program som ešte otestoval, aby som dospel k jeho finálnej verzii:

Program JavaScript

OSOYOO_IR.onPressEvent(RemoteButton.CH_MINUS, function () {
    music.beginMelody(music.builtInMelody(Melodies.JumpUp), MelodyOptions.Once)
})
OSOYOO_IR.onPressEvent(RemoteButton.CH, function () {
    CODO.digit_show(1234)
    CODO.digit_point(true)
    basic.pause(1000)
    CODO.digit_clear()
    CODO.digit_point(false)
})
OSOYOO_IR.onPressEvent(RemoteButton.CH_Add, function () {
    basic.showString("Potentiometer:")
    basic.showNumber(CODO.potarValue(AnalogPin.P2))
    basic.clearScreen()
})
OSOYOO_IR.onPressEvent(RemoteButton.PREV, function () {
    basic.showString("PIR:")
    basic.showNumber(pins.digitalReadPin(DigitalPin.P8))
    basic.clearScreen()
})
OSOYOO_IR.onPressEvent(RemoteButton.NEXT, function () {
    pins.analogWritePin(AnalogPin.P13, 1023)
    basic.pause(1000)
    pins.analogWritePin(AnalogPin.P13, 0)
})
basic.showString("Test")
CODO.digit_createDisplay(DigitalPin.P1, DigitalPin.P15)
OSOYOO_IR.init(Pins.P12)
pins.analogWritePin(AnalogPin.P13, 0)
basic.clearScreen()

Program MakeCode

Video

Program Hodiny

Druhý program s názvom Hodiny mal simulovať digitálne meranie času, pričom som zapojil do hry displej mikropočítača micro:bit osadeného v rozširujúcej doske Grove Shield V2.0, reproduktor (pin P0) a 4-miestny displej (piny P1 a P15). Zostávalo mi už len vytvoriť program v platforme Microsoft MakeCode s použitím rozširujúceho Bloku Grove a testovaním získať jeho finálnu verziu, čo sa mi aj podarilo:

Program JavaScript

input.onButtonPressed(Button.AB, function () {
    if (9 < hours) {
        hour1 = Math.floor(hours / 10)
        hour2 = hours % 10
        display.bit(hour1, 0)
        display.bit(hour2, 1)
    } else {
        display.bit(0, 0)
        display.bit(hours, 1)
    }
    if (9 < minutes) {
        minute1 = Math.floor(minutes / 10)
        minute2 = minutes % 10
        display.bit(minute1, 2)
        display.bit(minute2, 3)
    } else {
        display.bit(0, 2)
        display.bit(minutes, 3)
    }
    display.point(true)
    basic.pause(1000)
    display.clear()
    display.point(false)
    basic.clearScreen()
})
input.onButtonPressed(Button.A, function () {
    if (hours < 23) {
        hours += 1
    } else {
        hours = 0
    }
    display.show(hours)
    basic.showString("h")
    music.playTone(262, music.beat(BeatFraction.Half))
    display.clear()
    basic.clearScreen()
})
input.onButtonPressed(Button.B, function () {
    if (minutes < 59) {
        minutes += 1
    } else {
        minutes = 0
    }
    display.show(minutes)
    basic.showString("m")
    music.playTone(494, music.beat(BeatFraction.Half))
    display.clear()
    basic.clearScreen()
})
let minute2 = 0
let minute1 = 0
let minutes = 0
let hour2 = 0
let hour1 = 0
let hours = 0
let display: grove.TM1637 = null
display = grove.createDisplay(DigitalPin.P1, DigitalPin.P15)
led.setBrightness(10)
basic.forever(function () {
    basic.pause(60000)
    if (minutes < 59) {
        minutes += 1
    } else {
        minutes = 0
        if (hours < 23) {
            hours += 1
        } else {
            hours = 0
        }
    }
})

Program MakeCode

Video

Uvedený program nemá za úlohu nahradiť vaše hodiny, len má demonštrovať praktickosť 4-miestneho displeja.

Záver

Na záver chcem vysloviť poďakovanie za prečítanie týchto riadkov, ktoré vám mali rozšíriť obzor o moju súpravu Grove a jej využitie v praxi.

Tejto téme sa chcem venovať aj v budúcom článku, viac však neprezradím, aby ste sa mali na čo tešiť.

E-shop

Grove Shield pro micro:bit v2.0

Připojte celé prostředí Grove na micro:bit.




BBC micro:bit

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





Další příslušenství


Leave a Reply