Šikovná domácnosť s mikropočítačom micro:bit
Súprava Smart Home Kit
Súprava Smart Home Kit je tvorená z dvanástich modulov, prepojovacích káblov, držiaka batérií AAA, dátového kábla USB, skrutkovača a návodu. Hlavný modul sa volá sensor:bit a umožňuje pripojenie ďalších modulov. Tento modul disponuje konektormi typu GVS a IIC, bzučiakom, konektorom pre slúchadlá a portom na zapojenie mikropočítača.
Zvyšnými jedenástimi modulmi opísanej súpravy sú (v zátvorke je uvedený technický parameter, prípadne merací rozsah alebo jednotka):
- OLED displej (128x64pixelov)
- snímač nárazu (0 alebo 1)
- snímač teploty (˚C)
- RGB LED dióda (0-255)
- snímač hluku (dB)
- snímač intenzity svetla (0-100)
- snímač vlhkosti pôdy (0-100)
- relé (0 alebo 1)
- jednosmerný motor (0 alebo 1)
- 180-stupňový servomotor (0-180)
- ponorné čerpadlo (3,3-4,5V)
Samotné moduly vypovedajú, že sa jedná o súpravu so stredným stupňom náročnosti avšak zvládnuteľným poznania chtivým začiatočníkom. Programovanie v platforme Microsoft MakeCode je našťastie uľahčené existenciou rozširujúceho Bloku Smarthome obsahujúceho Bloky OLED, Smarthome a Neopixel.
Ako býva mojim zvykom, začal som vytvorením skúšobného programu, ktorý mal za úlohu preveriť funkčnosť všetkých modulov súpravy Smart Home Kit. Bolo nevyhnutné sa zamyslieť nad tým, v akom poradí pripojiť jednotlivé moduly. Pre energetickú náročnosť sa mi nepodarilo zapojiť súčasne jednosmerný motor, relé a ponorné čerpadlo. Nakoniec som zvolil nasledovný ‚layout‘ zapojených pinov mikropočítača micro:bit:
P1
– snímač vlhkosti pôdyP2
– snímač teplotyP3
– snímač intenzity svetlaP4
– snímač nárazuP8
– RGB LED diódaP10
– snímač hlukuP13
– 180-stupňový servomotorP19
aP20
– OLED displej
Potom som sa pustil do programovania a následného testovania, zavŕšením ktorého som získal finálnu verziu môjho programu:
Program JavaScript
let item = 0
input.onButtonPressed(Button.A, function () {
OLED.newLine()
OLED.writeString("VLHKOST PODY (0-100):")
OLED.writeNum(smarthome.ReadSoilHumidity(AnalogPin.P1))
OLED.newLine()
OLED.writeString("TEPLOTA (C): ")
OLED.writeNum(smarthome.ReadTemperature(TMP36Type.TMP36_temperature_C, AnalogPin.P2))
OLED.newLine()
OLED.writeString("INTENZITA SVETLA (0-100): ")
OLED.writeNum(smarthome.ReadLightIntensity(AnalogPin.P3))
basic.pause(10000)
OLED.clear()
OLED.writeString("HLUK (dB): ")
OLED.writeNum(smarthome.ReadNoise(AnalogPin.P10))
OLED.newLine()
OLED.writeString("FARBA DIODY: ")
OLED.writeString("modra")
strip.showColor(neopixel.colors(NeoPixelColors.Blue))
OLED.newLine()
OLED.writeString("SERVO (0-180): ")
pins.servoWritePin(AnalogPin.P13, 180)
OLED.writeNum(180)
OLED.newLine()
OLED.writeString("NARAZ (0alebo1): ")
OLED.writeNum(pins.digitalReadPin(DigitalPin.P4))
basic.pause(10000)
pins.servoWritePin(AnalogPin.P13, 0)
strip.clear()
strip.show()
OLED.clear()
})
let strip: neopixel.Strip = null
led.enable(false)
music.beginMelody(music.builtInMelody(Melodies.PowerUp), MelodyOptions.Once)
OLED.init(128, 64)
pins.setPull(DigitalPin.P4, PinPullMode.PullUp)
strip = neopixel.create(DigitalPin.P8, 1, NeoPixelMode.RGB)
Program MakeCode
Video
Po vzhliadnutí pripojených modulov zmienenej súpravy v plnej prevádzke, najviac ma oslovil snímač vlhkosti pôdy použiteľný aj na sledovanie hladiny vody alebo vlhkosti pokožky.
Záver
So záverom prišiel čas na poďakovanie, že ste si prečítali môj článok o súprave Smart Home Kit. Rôznymi kombináciami jej modulov sa dá vytvoriť veľa pozoruhodných programov, ktoré je možné do určitej miery aplikovať v praxi. Jeden z nich vám predstavím nabudúce.
E-shop
Elecfreaks Smart Home Kit (bez BBC micro:bit)
Projektový box pro vytvoření chytré domácnosti!
BBC micro:bit
Nekonečně programovatelný a rozšiřitelný vzdělávací počítač do kapsy.