Image
25.7.2019 0 Comments

IoT prakticky - Micro:bit Smart home kit na projekty simulujúce inteligentný dom

Systémy pre inteligentnú domácnosť sú vďačným námetom aj na školské, či hobby projekty s populárnou mikropočítačovou doskou BBC Micro:bit, ktorá sa používa v mnohých školách na výučbu programovania a robotiky. Všetky potrebné komponenty nájdete v súprave Smart home Kit. 

Niekoľko zaujímavých mini projektov s touto súpravou je v našom videu. 

Súprava obsahuje najpoužívanejšie komponenty domácej automatizácie ako je teplotné čidlo, senzor intenzity zvuku, senzor na meranie intenzity svetla, snímač vlhkosti, jednosmerný motorček, servomotor, relé,  OLED displej, modul s RGB diódou, čerpadlo na vodu a ďalšie súčiastky. Samozrejme všetko je prispôsobené tak aby fungovalo s bezpečným napätím. Na napájanie všetkých projektov vám stačia dve ceruzkové batérie.  

Základom súpravy modul Sensor:bit, do ktorého sa zasunie mikropočítačová doska BBC Micro:bit. Modul má konektor, na ktorom je 16 GVS vstupov/výstupov a tiež konektor s rozhraním I2C do ktorého je možné priamo zasunúť OLED displej. Súčasťou modulu je aj mini reproduktor a konektor Jack 3.5 mm na pripojenie slúchadiel, alebo externého reproduktora. GVS vstupy, majú na červenom pine napájacie napätie, na čiernom pine GND a na žltom pine port mikropočítačovej dosky Microbit. Podľa toho o ktorý pin sa jedná a softvérovej inicializácie to môže byť port vstupný, alebo výstupný, digitálny, alebo analógový.

Do projektu v prostredí Makecode je potrebné importovať knižnicu smarthome, ktorá poskytne komplexné funkcie

Začneme jednoduchým námetom svetla, ktoré sa rozsvieti zvukom.  Po zaznamenaní zvuku určitej intenzity sa RGB LED dióda rozsvieti na 10 sekúnd. V originálnom návode vás výrobca motivuje aby ste urobili z kartónovej škatule model miestnosti (vľavo), aby fungovanie modelu bolo čo najnázornejšie. My použijeme maketu domčeka, ktorú používame aj pri iných "smarthome" videách (vpravo)

Schéma zapojenia modulov

JavaScript: 

let noise = 0
let light = 0
led.enable(false)
basic.forever(function () {
    light = smarthome.ReadLightIntensity(AnalogPin.P1)
    if (light < 50) {
       noise = smarthome.ReadNoise(AnalogPin.P2)
       if (noise > 70) {
           neopixel.create(DigitalPin.P3, 1, NeoPixelMode.RGB).showColor(neopixel.colors(NeoPixelColors.White))
           basic.pause(10000)
           neopixel.create(DigitalPin.P3, 1, NeoPixelMode.RGB).showColor(neopixel.colors(NeoPixelColors.Black))
        }
    }
})

Ďalší príklad simuluje reguláciu kúrenia, alebo klimatizácie. Akčný člen je simulovaný ventilátorom poháňaným DC motorčekom. Ak teplotné čidlo nameria vyššiu teplotu ako 30 °C, bude sa na 5 sekúnd opakovane zapínať ventilátor, kým sa teplota nezníži. Ventilátorom sa samozrejme dá teplota znížiť iba vtedy ak ste čidlo ohriali napríklad držaním v ruke.  Teplotu miestnosti ventilátorom neznížite, dosiahnete len prúdenie vzduchu a tým lepšie ochladzovanie tela. 

V zapojení je aj displej ukazujúci aktuálnu teplotu

Schéma zapojenia modulov

JavaScript: 

let teplota = 0
OLED.init(64, 128)
basic.forever(function () {
   teplota = smarthome.ReadTemperature(TMP36Type.TMP36_temperature_C, AnalogPin.P1)
   OLED.clear()
   OLED.showStringNoNewLine("Teplota:")
   OLED.showNumberNoNewLine(teplota)
    if (teplota > 30) {
       music.beginMelody(music.builtInMelody(Melodies.BaDing), MelodyOptions.Once)
       pins.digitalWritePin(DigitalPin.P2, 1)
       basic.pause(5000)
       pins.digitalWritePin(DigitalPin.P2, 0)
       basic.pause(500)
    } else {
       pins.digitalWritePin(DigitalPin.P2, 0)
    }
})

V nasledujúcom príklade sa simuluje otvorenie okna, prípadne skrine pomocou servomotora. Aj tu výrobca v originálnom návode na webe odporúča výtvor z kartóna

 

JavaScript: 

pins.setPull(DigitalPin.P2, PinPullMode.PullUp)
pins.servoWritePin(AnalogPin.P7, 180)
let okno = -1
basic.forever(function () {
    if (pins.digitalReadPin(DigitalPin.P2) == 0) {
       okno = okno * -1
       if (okno == 1) {
           neopixel.create(DigitalPin.P1, 1, NeoPixelMode.RGB).range(0, 1).showColor(neopixel.colors(NeoPixelColors.White))
           pins.servoWritePin(AnalogPin.P7, 0)
           basic.pause(2000)
        } else {
           pins.servoWritePin(AnalogPin.P7, 180)
           basic.pause(2000)
           neopixel.create(DigitalPin.P1, 1, NeoPixelMode.RGB).range(0, 1).showColor(neopixel.colors(NeoPixelColors.Black))
        }
    }
})

A napokon príklad, v ktorom ak senzor identifikuje zaplavenie vodou, zapne sa čerpadlo, ktoré vodu vyčerpá.

Modifikáciou príkladu by ste mohli vytvoriť napríklad systém na automatické polievanie kvetov v kvetináči.

Schéma zapojenia modulov

JavaScript: 

basic.forever(function () {
    if (pins.analogReadPin(AnalogPin.P1) > 500) {
       music.beginMelody(music.builtInMelody(Melodies.BaDing), MelodyOptions.Once)
       pins.digitalWritePin(DigitalPin.P2, 1)
       basic.pause(10000)
    } else {
       pins.digitalWritePin(DigitalPin.P2, 0)
       basic.pause(10000)
    }
})

Na záver ešte popis pinov dosky sensor:bit, ak by ste chceli so súpravou experimentovať na pokročilejšej úrovni

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Mikrokontroléry

Robotika – ovládanie modelov Lego Technic mikropočítačom BBC Micro:bit 1 - servá pre Lego

23.08.2019 00:00

Vlani sme cez prázdniny v trojici článkov Robotický podvozok, Segway z Lega a Digitálne dvojča predstavili možnosti robotickej stavebnice Lego Mindstorms. Čitateľov možnosti tejto stavebnice zaujali, ...

Mikrokontroléry

Robotika: možnosti programovania a senzorová výbava pokročilého robota InO-Bot

17.08.2019 00:10

Postupne sme predstavili niekoľko robotov, ktoré sa používajú, alebo začínajú používať na školách, pri výučbe logického myslenia, algoritmizácie a následne programovania. Zatiaľ čo roboty Bee-Bot a Bl ...

Mikrokontroléry

IoT prakticky - programovanie Raspberry Pi v Pythone 6: 1-Wire zbernica

16.08.2019 00:01

Mini seriál je zameraný na obsluhu hardvéru pripojeného na dosku Raspberry PI. V tejto časti na praktických príkladoch ukážeme možnosti komunikácie pomocou zbernice 1-Wire.  Príklady sú v vo videu & ...

q

Žiadne komentáre

Vyhľadávanie

eFocus_2019

Najnovšie videá