Bastlíme s Arduinem – píšeme první program
i Zdroj: PCTuning.cz
Zábava Článek Bastlíme s Arduinem – píšeme první program

Bastlíme s Arduinem – píšeme první program | Kapitola 5

Filip Eckstein

Filip Eckstein

16. 2. 2017 08:00 27

Seznam kapitol

1. Nechme stroje pracovat 2. Instalace vývojového prostředí 3. Zapojujeme 4. První program aneb blikej za nás
5. Hlavní cyklus prvního programu 6. Regulujeme intenzitu svitu – zapojení 7. Regulujeme intenzitu svitu – 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!

Reklama

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.

A teď už stroje pracují za nás.
i Zdroj: PCTuning.cz
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.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama