Šikovné vchodové dvere

Znovu zdravím nadšencov robotiky a programovania, ktorým sa zapáčila súprava Smart Home Kit a chceli by sa inšpirovať pri tvorbe vlastných programov pre jej riadiacu jednotku (výučbový mikropočítač micro:bit). Pri rozmýšľaní nad kombináciou jednotlivých modulov tejto súpravy som dostal nápad ovládať otváranie dverí heslom. Oboznámim vás teraz so spôsobom realizácie môjho nápadu.

Šikovné vchodové dvere

Šikovné vchodové dvere, ako som nazval svoj program, rátali s použitím hlavného modulu sensor:bit, OLED displeja, 180-stupňového servomotora a držiaka dvoch batérií AAA. Do hry som zapojil aj displej a predné tlačidlá mikropočítača micro:bit, ktoré slúžili na zadanie hesla pre otvorenie dverí. Najviac času som strávil pri vytvorení makety čelnej steny domu a pri osadení hardvéru na ňu. Nechcel som, aby konektor servomotora vyčnieval zo steny, tak som použil len jeho kontakty, ktoré som veľmi opatrne ohol o 90 stupňov a samostatne zaizoloval. Na pripojenie OLED displeja som použil 4-pinový prepojovací kábel s konektormi ‚female‘ DuPont. Servomotor som umiestnil nad dvere tak, aby som ich dokázal spojiť s ramenom servomotora a pri hodnote 0 servomotora zostali zatvorené. Spomenuté plastové rameno aj prepojovací kábel boli súčasťou súpravy Smart Home Kit a na tvorbu makety som použil obojstrannú lepiacu pásku, kartónový a kancelársky papier.

Pre uľahčenie ešte uvádzam ‚layout‘ zapojených pinov uvedeného mikropočítača:

  • P1 – 180-stupňový servomotor
  • P19 a P20 – OLED displej

Ďalej som sa mohol venovať programovaniu v platforme Microsoft MakeCode rozšírenej o Blok Smarthome (obsahujúci Bloky OLED, Smarthome a Neopixel), ktoré som testovaním vytvoreného programu úspešne zavŕšil a tak získal jeho finálnu verziu:

Program JavaScript

input.onButtonPressed(Button.A, function () {
    basic.clearScreen()
    letter = abcs.charAt(index)
    basic.showString(letter)
    basic.pause(100)
    index += 1
    if (index == abcs.length) {
        index = 0
    }
})
input.onButtonPressed(Button.B, function () {
    word = "" + word + letter
    index = 0
    basic.clearScreen()
})
input.onButtonPressed(Button.AB, function () {
    letter = ""
    word = ""
})
let index = 0
let word = ""
let letter = ""
let abcs = ""
basic.showIcon(IconNames.No)
OLED.init(128, 64)
OLED.writeStringNewLine("Pre otvorenie zadaj  PIN:")
OLED.writeStringNewLine("1.Cislicu PINu zvol    tlacidlom A.")
OLED.writeStringNewLine("2.Cislicu potvrd       tlacidlom B.")
OLED.writeStringNewLine("Pri chybe stlac tlacidla AB a zacni znova.")
abcs = "1234567890"
letter = ""
word = ""
basic.forever(function () {
    if (word == "12") {
        OLED.clear()
        basic.showIcon(IconNames.Yes)
        basic.pause(500)
        basic.clearScreen()
        pins.servoWritePin(AnalogPin.P1, 160)
        basic.pause(5000)
        letter = ""
        word = ""
    } else {
        pins.servoWritePin(AnalogPin.P1, 0)
        OLED.writeStringNewLine("Pre otvorenie zadaj  PIN:")
        OLED.writeStringNewLine("1.Cislicu PINu zvol    tlacidlom A.")
        OLED.writeStringNewLine("2.Cislicu potvrd       tlacidlom B.")
        OLED.writeStringNewLine("Pri chybe stlac tlacidla AB a zacni znova.")
    }
})

Program MakeCode

Video

Určite ste si všimli, že heslom pre otvorenie dverí je číslo dvanásť (číslica 1 a 2). Každý si môže zadať svoje originálne číslo pozostávajúce aj z viacerých číslic. Dokonca môže obohatiť heslo aj o písmená, čo môže byť námetom pre sebarealizáciu pri modifikácii môjho programu.

Záver

Záverom sa vám chcem poďakovať za prečítanie tohto článku poukazujúceho na praktickosť súpravy Smart Home Kit, aj keď len na makete.

Moduly spomínanej súpravy sa dajú využiť aj v kombinácii s diaľkovým ovládačom, čo ocení najmä bežný používateľ. Tým som prezradil tému ďalšieho článku, ktorá vás posunie v robotike o krok ďalej.

Eshop

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.





Leave a Reply