Súprava Basic Kit neštandardne rozšírená o modul LAMP:bit
LAMP:bit a Basic Kit
Pri skúšaní rôznych kombinácií modulov súpravy Basic Kit sa mi najviac zapáčilo skombinovať červenú LED diódu s potenciometrom alebo s modulom ADKey s piatimi tlačidlami. Pri rozmýšľaní nad vylepšením týchto zostáv som si spomenul na pozoruhodný modul LAMP:bit, ktorý posunul hardvérové prevedenie LED diódy na vyšší ‚level‘.
Modul LAMP:bit tvorí biela LED dióda a snímač svetla, ktoré sú osadené na doske v tvare lampy verejného osvetlenia. Spomenutý modul disponuje piatimi otvormi v doske a skrutkami s maticami, slúžiacimi na pripevnenie mikropočítača micro:bit. Odskúšaním som zistil, že dĺžka uvedených skrutiek je postačujúca na pripevnenie tohto mikropočítača a dosky Basic:bit súpravy Basic Kit k zmienenému modulu. Črtal sa mi tak jediný možný ‚layout‘ obsadených pinov mikropočítača:
P0
– biela LED diódaP2
– potenciometer alebo modul ADKey
Snímač svetla (pin P1
) som vynechal z hry zaizolovaním kontaktu, aby som neznížil kvalitu ukážkového videa pri jeho natáčaní za šera. Týmto som vám dal námet na vlastnú tvorbu, aby ste skúsili naprogramovať aj pin P1
.
Predstavím vám moje dva programy, jeden s potenciometrom a druhý s modulom ADKey, ktoré som vytvoril v platforme Microsoft MakeCode s použitím rozširujúceho Bloku ScrollText. Keďže som nepotreboval naprogramovať opísaný snímač svetla, nerozšíril som si platformu o Blok LAMP:bit, ktorý by som použil len pri štandardných situáciách.
Ovládanie modulu LAMP:bit potenciometrom
Napísať program na ovládanie modulu LAMP:bit potenciometrom zo súpravy Basic Kit nebolo náročné, lebo sa vlastne jednalo o reguláciu jasu bielej LED diódy. Testovaním som sa onedlho dopracoval k finálnej verzii programu:
Program JavaScript
let brightness = 0
let veličina = 0
let index = 0
input.onButtonPressed(Button.A, function () {
ScrolText.showNumber(
input.temperature(),
SCROLL_DIR.DOWN,
SCROLL_ROTATE.SR_270,
100
)
basic.showLeds(`
# . . . #
# . . . #
. # # # .
. . . . .
# . . . .
`)
basic.clearScreen()
})
input.onButtonPressed(Button.B, function () {
brightness += 1
if (brightness == 1) {
led.setBrightness(53)
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
basic.clearScreen()
} else if (brightness == 2) {
led.setBrightness(3)
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
basic.clearScreen()
} else if (brightness == 3) {
led.setBrightness(53)
basic.showLeds(`
. . # . .
. # . . .
# # # # #
. # . . .
. . # . .
`)
basic.clearScreen()
} else if (brightness == 4) {
led.setBrightness(255)
basic.showLeds(`
. . # . .
. # . . .
# # # # #
. # . . .
. . # . .
`)
basic.clearScreen()
brightness = 0
}
})
basic.forever(function () {
veličina = pins.analogReadPin(AnalogPin.P2)
index = pins.map(
veličina,
1,
1023,
0,
255
)
pins.analogWritePin(AnalogPin.P0, index)
})
Program MakeCode
Video
Ovládanie modulu LAMP:bit modulom ADKey
Taktiež naprogramovať päť tlačidiel modulu ADKey súpravy Basic Kit spolu s modulom LAMP:bit bola ľahká záležitosť, ktorá si však vyžadovala premyslieť ‚layout‘ tlačidiel modulu:
- Tlačidlo A – zobrazenie teploty na displeji mikropočítača
- Tlačidlo B – zmena jasu displeja mikropočítača
- Tlačidlá C, D a E – zmena jasu bielej LED diódy
Vytvorený program som otestoval bez komplikácií, čím som získal jeho finálnu verziu:
Program JavaScript
pins.analogWritePin(AnalogPin.P0, 0)
let brightness = 0
basic.forever(function () {
if (0 < pins.analogReadPin(AnalogPin.P2) && pins.analogReadPin(AnalogPin.P2) < 10) {
ScrolText.showNumber(
input.temperature(),
SCROLL_DIR.DOWN,
SCROLL_ROTATE.SR_270,
100
)
basic.showLeds(`
# . . . #
# . . . #
. # # # .
. . . . .
# . . . .
`)
basic.clearScreen()
} else if (pins.analogReadPin(AnalogPin.P2) < 80) {
brightness += 1
if (brightness == 1) {
led.setBrightness(53)
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
basic.clearScreen()
} else if (brightness == 2) {
led.setBrightness(3)
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
basic.clearScreen()
} else if (brightness == 3) {
led.setBrightness(53)
basic.showLeds(`
. . # . .
. # . . .
# # # # #
. # . . .
. . # . .
`)
basic.clearScreen()
} else if (brightness == 4) {
led.setBrightness(255)
basic.showLeds(`
. . # . .
. # . . .
# # # # #
. # . . .
. . # . .
`)
basic.clearScreen()
brightness = 0
}
} else if (pins.analogReadPin(AnalogPin.P2) < 130) {
pins.analogWritePin(AnalogPin.P0, 10)
} else if (pins.analogReadPin(AnalogPin.P2) < 160) {
pins.analogWritePin(AnalogPin.P0, 130)
} else if (pins.analogReadPin(AnalogPin.P2) < 600) {
pins.analogWritePin(AnalogPin.P0, 250)
}
})
Program MakeCode
Video
Záver
Na záver môjho článku sa vám chcem poďakovať za jeho prečítanie. Určite ste si všimli, že možnosti naprogramovania modulov súpravy Basic Kit spočívajú v praktických znalostiach základov elektrotechniky, ktoré začiatočník získa pri práci s touto súpravou.
Ďalší článok zaostrí vašu pozornosť na netradičný modul s názvom STOP:bit, ktorý sa postará o tú správnu zábavu pri programovaní.
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 LAMP:bit pro BBC micro:bit
Rozšiřující modul osvětlení pro BBC micro:bit.