Hlavní stránka Multimédia Elektronika Bastlíme s Arduinem – píšeme první program
Bastlíme s Arduinem – píšeme první program
autor: Filip Eckstein , publikováno 16.2.2017
Bastlíme s Arduinem – píšeme první program

Po nějakém čase se vracíme k bastlení s Arduinem. Dnes se však od hardwaru trošku odkloníme a podíváme se na software. Arduino totiž není jen o elektrobastlení, ale také o algoritmizaci, která nám prostřednictvím mikroprocesoru umožní celý náš výtvor rozhýbat. Dejme se tedy do práce, programátoři!


A teď když máme inicializován pin 12 do režimu digitálního výstupu, můžeme se s chutí pustit do implementace hlavního cyklu programu.

Hlavní cyklus – loop()

Pro tyto účely využijeme dvě nové funkce, a to digitalWrite() a delay(). Z dokumentace k funkci digitalWrite() se dozvíme, že tato funkce požaduje stejně jako pinMode() dva argumenty. První z nich opět specifikuje číslo pinu, který chceme ovládat, zatímco druhý upřesňuje stav, do kterého má procesor tento výstupní pin uvést. Vybrat lze mezi HIGH a LOW, což si můžeme přeložit jako logickou 0 a 1. Elektricky tyto dvě úrovně chápeme jako 0 V (LOW) a 5 V (HIGH) na výstupu. Účel této funkce v našem projektu je tedy jasný – změnou úrovně výstupu vypínat a zapínat naši červenou LED.

Asi si říkáte, že blikání jako takové lze realizovat pouhým dvojím zavoláním funkce digitalWrite(), a to jednou s argumentem HIGH a podruhé LOW. Teoreticky ano. Nicméně v praxi bychom z blikání asi nic moc neměli. Procesor bude funkce v cyklu totiž vykonávat tak rychle, že bychom blikání pouhým okem ani nezaznamenali.

A právě proto ještě potřebujeme funkci delay(). S pomocí této funkce, které mikroprocesoru řekne, po jakou dobu má čekat, můžeme naše blikání snadno zpomalit. Opět letmým pohledem do dokumentace zjistíme, že tato funkcička ke svému životu potřebuje jeden argument a tím je doba zpoždění. Ten se v případě této funkce uvádí v milisekundách, proto pro dobu čekání rovnou půl sekundě vyplníme 500.

void loop() {
  // hlavni cyklus programu
  digitalWrite(12, HIGH); // zapni LED
  delay(500);             // cekej pul sekundy!
  digitalWrite(12, LOW);  // vypni LED
  delay(500);             // zase cekej pul sekundy!
}

No a je to. Náš první program je na světě. Teď už jen stačí kliknout na tlačítko Verify a posléze uplodovat firmware do Arduina.

Bastlíme s Arduinem – píšeme první program

A teď už stroje pracují za nás.

Nyní se algoritmus ve funkci loop() bude vykonávat stále dokola, dokud náš výtvor nevytáhneme z USB a opět nepřipojíme. Pokud je vše správně zapojené a naprogramované, červená LED by měla blikat s požadovanou periodou 1 s.



 
Komentáře naleznete na konci poslední kapitoly.
58 čtenářů navrhlo autorovi prémii: 27.4Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.