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

Programovanie PLC – aplikácia pre riadiacu jednotku UniPi Axon M205 so systémom Mervis

24.02.2020 00:10

V predchádzajúcom článku zo série programovanie PLC sme predstavili riadiacu jednotku UniPi Axon M205. Programovanie tejto riadiacej jednotky s implicitne nainštalovaným systémom Mervis pomocou diagra ...

Mikrokontroléry

Programovanie PLC – Riadiaca jednotka UniPi Axon M205

22.02.2020 00:10

Programovateľný logický kontrolér (PLC) a prevodník Unipi Axon M205 má k dispozícii dostatočný počet digitálnych, reléových a analógových vstupov a výstupov, takže sa dá použiť aj v rozsiahlejších pro ...

Mikrokontroléry

Programovanie PLC – Siemens Logo! analógové vstupy a funkcie

21.02.2020 00:10

V predchádzajúcich častiach sme predstavili možnosti programovania „entry level“ PLC Siemens Logo!, či už priamo pomocou tlačidiel na module, alebo vo vývojovom prostredí Logo! Soft Control. Pokračuje ...

Žiadne komentáre

Vyhľadávanie

Gopas .Net DevDays 2020 - 24.4.2020

Najnovšie videá