Modul STOP:bit netradične rozširujúci súpravu Basic Kit
STOP:bit a Basic Kit
Modul STOP:bit pozostáva z troch LED diód (zelená, žltá a červená) a troch odporov, ktoré sú osadené na doske v tvare semafora. Pravdepodobne výrobca nezohnal oranžovú LED diódu, tak ju nahradil žltou. V uvedenej doske je päť otvorov určených na primontovanie mikropočítača micro:bit pomocou skrutiek s maticami, ktoré sú súčasťou balenia. Matice som nahradil doskou Basic:bit súpravy Basic Kit, pričom som najskôr zaizoloval kontakt žltej LED diódy (pin P1). Zo semaforu pre autá som tak spravil semafor pre chodcov. Musel som takto postupovať, lebo inak by som nedokázal pripojiť ani jeden modul zmienenej súpravy.
Nasledovalo rozhodovanie, ktorý modul zo súpravy Basic Kit použiť. Voľba padla na snímač nárazu plniaceho funkciu momentového tlačidlového spínača, čiže pri stlačení vyšle signál a pri uvoľnení sa spojenie preruší a vráti sa späť do svojej polohy. Podobá sa tak na tri tlačidlá mikropočítača micro:bit (reset, tlačidlo A a B), pričom sa líši konštrukciou.
Hardvér predurčoval rovnaký ‚layout‘ obsadených pinov mikropočítača pre obidva programy:
P0
– červená LED dióda a bzučiakP1
– snímač nárazuP2
– zelená LED dióda
Potom som nechal pracovať svoju fantáziu, aby som dospel k dvom pozoruhodným programom, ktoré vám podrobne opíšem nižšie.
Na programovanie som použil platformu Microsoft MakeCode, pričom som nepotreboval ani rozširujúci Blok STOP:bit a vystačil som si len s rozšírením o Blok ScrollText.
Prvý program s modulom STOP:bit
Prvý program mal ukázať podobnosť tlačidiel A a B mikropočítača micro:bit so snímačom nárazu, pričom tento snímač umožnil prepnúť farbu so súčasnou zmenou piktogramu chodca svietiaceho na displeji mikropočítača. Po stlačení tlačidla A sa zobrazila aktuálna teplota a stlačením tlačidla B úroveň osvetlenia.
Bezproblémovým testovaním som nakoniec dospel k finálnej verzii programu:
Program JavaScript
input.onButtonPressed(Button.A, function () {
button = 1
})
input.onButtonPressed(Button.B, function () {
button = 2
})
let button = 0
for (let index = 0; index < 2; index++) {
pins.digitalWritePin(DigitalPin.P0, 1)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.showLeds(`
# . # . #
. # . # .
# . . . #
. # . # .
# . # . #
`)
basic.pause(300)
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P2, 0)
basic.showLeds(`
. # . # .
# . . . #
. . # . .
# . . . #
. # . # .
`)
basic.pause(300)
}
basic.clearScreen()
basic.pause(500)
pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
button = 0
basic.forever(function () {
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
pins.digitalWritePin(DigitalPin.P0, 1)
pins.digitalWritePin(DigitalPin.P2, 0)
basic.showLeds(`
. . . . .
. # . # #
# # # . .
. # . # #
. . . . .
`)
if (button == 1) {
ScrolText.showNumber(
input.temperature(),
SCROLL_DIR.DOWN,
SCROLL_ROTATE.SR_270,
90
)
basic.showLeds(`
# . . . #
# . . . #
. # # # .
. . . . .
# . . . .
`)
basic.pause(500)
button = 0
} else if (button == 2) {
ScrolText.showNumber(
input.lightLevel(),
SCROLL_DIR.DOWN,
SCROLL_ROTATE.SR_270,
90
)
basic.showLeds(`
. . # . #
. . . # .
. . # . #
. . . . #
# # # # #
`)
basic.pause(500)
button = 0
}
} else {
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.showLeds(`
# . . . .
. # . # #
# # # # .
. # . . #
. . . . .
`)
basic.pause(2000)
}
})
Program MakeCode
Video
Druhý program s modulom STOP:bit
Druhý program počítal už len so snímačom nárazu, pričom som náhodou objavil ‚hack‘, ktorý mi umožnil naprogramovať bzučiak (pin P0
) dosky Basic:bit súpravy Basic Kit za súčasného použitia červenej LED diódy. Stačilo len prepnúť integrovaný prepínač dosky do hornej polohy.
Otestovanie programu prebehlo bez komplikácií, čím som získal jeho finálnu verziu:
Program JavaScript
for (let index = 0; index < 2; index++) {
music.playTone(262, music.beat(BeatFraction.Quarter))
pins.digitalWritePin(DigitalPin.P0, 1)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.showLeds(`
# . # . #
. # . # .
# . # . #
. # . # .
# . # . #
`)
basic.pause(300)
music.playTone(494, music.beat(BeatFraction.Quarter))
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P2, 0)
basic.showLeds(`
. # . # .
# . # . #
. # . # .
# . # . #
. # . # .
`)
basic.pause(300)
}
basic.clearScreen()
basic.pause(500)
pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
let crash = 0
basic.forever(function () {
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
pins.digitalWritePin(DigitalPin.P0, 1)
pins.digitalWritePin(DigitalPin.P2, 0)
basic.showLeds(`
. . . . .
. # . # #
# # # . .
. # . # #
. . . . .
`)
} else {
crash += 1
if (crash == 1) {
pins.digitalWritePin(DigitalPin.P0, 0)
pins.digitalWritePin(DigitalPin.P2, 1)
basic.showLeds(`
# . . . .
. # . # #
# # # # .
. # . . #
. . . . .
`)
basic.pause(2000)
} else if (crash == 2) {
music.playTone(330, music.beat(BeatFraction.Quarter))
pins.digitalWritePin(DigitalPin.P0, 0)
ScrolText.showNumber(
input.temperature(),
SCROLL_DIR.DOWN,
SCROLL_ROTATE.SR_270,
90
)
basic.showLeds(`
# . . . #
# . . . #
. # # # .
. . . . .
# . . . .
`)
basic.pause(500)
} else if (crash == 3) {
music.playTone(392, music.beat(BeatFraction.Quarter))
pins.digitalWritePin(DigitalPin.P0, 0)
ScrolText.showNumber(
input.lightLevel(),
SCROLL_DIR.DOWN,
SCROLL_ROTATE.SR_270,
90
)
basic.showLeds(`
. . # . #
. . . # .
. . # . #
. . . . #
# # # # #
`)
basic.pause(500)
crash = 0
}
}
})
Program MakeCode
Video
Záver
V závere článku chcem vyjadriť vďaku nielen za prečítanie týchto riadkov, ale aj za odskúšanie opísaných programov. Priznám sa, že ma prekvapilo súčasné fungovanie bzučiaka a pripojeného modulu na pin P0 dosky Basic:bit súpravy Basic Kit. Určite by to prekvapilo aj samotného výrobcu, lebo ani v návode nie je zmienka o takejto možnosti.
Snažil som sa vám hravou formou spríjemniť čas strávený so základnou súpravou určenej pre mikropočítač micro:bit. Treba sa však posunúť ďalej a naučiť sa niečo nové, preto v nasledujúcom článku nastavím vyšší stupeň náročnosti, ale v stále medziach vhodných pre začiatočníka.
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.
Kitronik STOP:bit – Semafor pro BBC micro:bit
Stvořte zajímavý projekt se světelnou signalizací.