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

IoT prakticky: Python na ESP32 V – ovládanie displejov LED, LCD a OLED

12.11.2019 00:10

V predchádzajúcej časti https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32-IV--kniznica-octopus-na-obsluhu-hardveru-a-komunikacie sme ukázali konfiguráciu knižnice Octopus, ktorá obsahuje triedy ...

Mikrokontroléry 3

IoT prakticky: predstavujeme jednodoskový mikropočítač ASUS Tinker board – konkurenta Raspberry Pi

06.11.2019 00:00

Tinker board je jednodoskový počítač s vysokým výkonom a grafickým výstupom. Rozmermi a konštrukčným formátom je podobný populárnemu mikropočítaču Raspberry Pi. Jeho srdcom je moderný štvorjadrový pro ...

Mikrokontroléry

IoT prakticky: Python na ESP32 IV, knižnica octopus na obsluhu hardvéru a komunikácie

05.11.2019 00:10

ESP 32 je plnohodnotná IoT platforma pretože umožňuje priame pripojenie k internetu cez WiFi. Aby ste mohli využívať WiFi pripojenie, potrebujete nastaviť pripojenie k WiFi routeru. Predpokladáme, že ...

Žiadne komentáre

Vyhľadávanie

Brother_300x600

Najnovšie videá