26. októbra 2021 Začíname programovať Arduino

Začíname programovať Arduino

Tak, máte doma dosku Arduino, zapojíte ju do PC…. a čo teraz?

Vývojové prostredie

Pre programovanie Arduino sa najčastejšie používa prostredie Arduino IDE. Momentálne už dokonca existuje aj verzia Arduino IDE 2, tá je však pomerne nová a obsahuje ešte dosť veľa chýb. Množstvo používateľov ostalo pri verzií 1.0 a aj staršie návody na iných weboch sa venujú programovanie v tejto verzií. Ostaneme zatiaľ teda pri nej aj my, do budúcna sa však môžete tešiť na blog o Arduino IDE 2.

Pokročilejší používatelia môžu zvoliť aj iné programovacie prostredie, často sa používa napríklad Atmel studio alebo dokonca VS code, my sa však takýmto veciam dnes nebudeme venovať. Ak Vás zaujíma čo je to na tej doske po hardvérovej stránke, odporúčame tento náš blog.

Arduino IDE

Najskôr si teda musíme stiahnuť prostredie, v ktorom dosku programujeme:

Link: https://www.arduino.cc/en/software

Pre väčšinu používateľov používajúcich Winows 7 a novšie použijeme prvý link (WINDOWS win 7 and newer). Po stiahnutí prostredie nainštalujeme, a môžeme ho otvoriť. Privíta nás prázdna biela obrazovka s krátkym textom:

Programovanie dosiek Arduino

Kód Arduino je rozdelený do dvoch funkcií:
– void setup()
– void loop()

Funkcia setup() ako jej meno napovedá, sa vykoná iba raz. Spustí sa pri pripojení dosky k napájaniu alebo jej resetovaní, vykoná sa a potom už sa na ňu procesor nikdy viac nepozrie. V tejto funkcií sa zvyčajne programujú veci ako definovanie úvodných stavov pinov, začatie komunikácie s PC a podobne.

Funkcia loop() sa naopak vykonáva dookola až do konca sveta, alebo kým nie je Arduino resetované či odpojené z napájania. Tu sa zvyčajne odohráva všetko zaujímavé. Môžeme si to prejsť na príklade.

Čo znamená slovíčko void sa dozvieme v našom budúcom blogu, zatiaľ nás nemusí trápiť.

Blikanie zabudovanej LED diódy

Na to, aby sme rozblikali LED diódu nám stačí len pár príkazov, vo vývojovom prostredí Arduino IDE však už existujú príklady pre otestovanie rôznych funkcií a zoznámenie sa s doskou. Jeden takýto príklad si môžeme otvoriť.

Keď na toto menu klikneme, otvorí sa nám nový okno s kódom. V hornej lište v záložke nástroje musíme ešte nastaviť, do akej dosky to vlastne kód chceme nahrať a kde je pripojená.

Vyberieme teda správny typ dosky (v našom prípade Arduino Uno) a port. Nám sa však žiadny port nezobrazil, respektíve je “šedivý”. Čo teraz? To znamená, že doska nemá nainštalovaný driver (ovládač), takže ten potrebujeme nainštalovať. Väčšinou je však doska rozpoznaná a môžeme zvoliť správny port. Ak však potrebujete ovládač inštalovať, určite si prečítajte náš starší blog o driveroch.

Pre vysvetlenie jednotlivých riadkov sme použili v našom kóde komentáre. Komentáre sú obyčajný text, ktorý si kompilátor nevšíma, takže sú použiteľné len pre nás, tvorcov a čitateľov kódu. Komentáre vieme písať pomocou dvoch lomítok “//” alebo viacriadkový komentár napíšeme medzi /* …. */:

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

// funkcia setup, vykoná sa iba jeden krát na začiatku
void setup() {
  // Jedná sa o inicializáciu výstupného pinu na výstup (OUTPUT), konkrétne pinu 13. 
  // Namiesto "LED_BUILTIN" môžeme napísať "13" (bez úvodzoviek) a jednalo by sa presne o to isté. 
  // Arduino však má niektoré vstavané funkcie a premenné, takže takto je to jednoduchšie, 
  // nemusíme si pamätať presný pin, na ktorom je LED dióda pripojená
  pinMode(LED_BUILTIN, OUTPUT);
}

// funkcia loop sa vykonáva dookola. Dióda sa rozsvieti, počkáme jednu sekundy, LED zhasneme a opäť počkáme jednu sekundu. Dookola
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // Zapnutie LED signálom HIGH (úroveň 5V)
  delay(1000);                       // Ppočkáme 1000 milisekúnd, teda 1 sekundu
  digitalWrite(LED_BUILTIN, LOW);    // vypnutie LED signálom LOW (úroveň 0V)
  delay(1000);                       // Počkáme 1000 milisekúnd, teda 1 sekundu
}

Kód je teda hotový, môžeme ho nahrať do dosky. To urobíme tak, že ťukneme na šípku v ľavom hornom rohu:

Chvíľu počkáme kým sa kód skompiluje (teda preloží z textovej podoby na binárny kód jednotiek a núl) a nahrá sa do procesora na doske. Ak všetko prebehne v poriadku, dole sa nám ukáže poznámka “Nahrávanie kódu ukončené”. Potom už stačí len pozorovať, ako LED na Arduino bliká.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *