Maker kit for SwiftIO - blikáme LEDkou
- November 05 2020
- Vše ostatní / others
- 998x Přečteno
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)
}
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)
}
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.