Sdílejte nás



RSS feeds

Maker kit for SwiftIO - blikáme LEDkouTisk

V tomto článku bych vás rád seznámil s programovacím prostředí MadMachine IDE. Stáhnout si ho můžete zde.
Pro začátek bych ukázal základní programy pro práci s gpio. První programem tedy bude blikání ledkou. Po startu MadMachine IDE vytvořte nový program, který si třeba pojmenujte blink_led. Automaticky se vám vytvoří adresář, kde bude soubor main.swift. Do tohoto souboru se píše kód.

Článek mi poslal Vojtěch Petrásek. Za článek děkuju.

První co je potřeba, tak je importování knihovny SwiftIO příkazem “import SwiftIO” . Na další řádek si definujeme pin, ke kterému připojíme LED diodu. Příkazem “let led = DigitalOut(Id.D7)” definujeme proměnnou led jako digitální výstup na id pinu D7. Dále je potřeba vytvořit nekonečnou smyčku, ve které se nám po časovém intervalu změní stav výstupu, tudíž dojde k blikání LED diody na výstupu. Nekonečnou smyčku vytvoříme příkazem “while true {}” do hranatých závorek je potřeba napsat příkazy, které chceme vykonávat v této nekonečné smyčce. Pro blikání LED diodou můžeme využít 2 variant. První klasická varianta nejdřív nastavení výstupu do logické 1 “led.write(true)” poté čekat 500ms (0,5s) “sleep(ms: 500)” a po uplynutí této doby nastavit výstup do logické nuly “led.write(false)” a opět čekat 500ms “sleep(ms: 500)”. Program může vypadat takto:

import SwiftIO

let led = DigitalOut(Id.D7)

while true {
    led.write(true)
    sleep(ms: 500)
    led.write(false)
    sleep(ms: 500)
}


Pro elegantnější řešení může využít funkci toggle(), která nám převrací binární hodnotu na opačnou. Tj z log. 0 převrátí na log. 1 a opačně. Program pak lze zkrátit o dva řádky takto:

import SwiftIO

let led = DigitalOut(Id.D7)

while true {
    led.toggle()
    sleep(ms: 500)
}


Když máme napsaný program, můžeme se pustit do stavby elektrického obvodu. Jelikož chceme pouze blikat LED diodou, tak si připravíme dodávanou LED diodu (já jsem použil červenou). Jak je známo, tak LED diodu nesmíme připojit bez ochranného předřadného rezistoru přímo na digitální pin jakéhokoliv mikrokontroleru, proto si připravíme i jeden z rezistorů, které jsou též dodáváme k tomuto kitu, pokud máte pouze samotný SwiftIO board, je potřeba si vypočítat správnou hodnotu předřadného rezistoru podle typu vaší LED diody.
Nyní je potřeba do nepájivého pole vložit LED diodu a k ní na anodu předřadný rezistor. Katodu diody propojte s GND na mikrokontroléru a druhý vývod rezistoru propojte na pin 7. Pokud připojíte na jiný pin, tak musíte přepsat id pinu v kódu.



Takto celé zapojení může vypadat.
Nyní je potřeba propojit přibaleným microUSB kabelem váš počítač s mikrokontrolerem. Je důležité, abyste využili microUSB konektor, u kterého je napsáno “DOWNLOAD”, druhý konektor slouží pro komunikaci po sériové lince. Pro nahrání programu je dále důležité, aby byla zastrčená microSD karta v mikrokontroléru. Pro zahájení nahrávání musíte zmáčknout tlačítko “DOWNLOAD MODE”, po zmáčknutí bude chvilu LED dioda blikat modře a poté bude svítit zeleně. To znamená, že můžete zahájit nahrávání programu z IDE. V IDE jen klikněte na fajfku, která zkompiluje kód a zkontroluje jeho správnost, poté již stačí kliknout na Download a program se nahraje do mikrokontroleru a měla by vám začít blikat LED dioda v požadovaném Intervalu.

Článek mi poslal Vojtěch Petrásek. Za článek děkuju.

Upozornění

Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.
5,906,018 návštěv