Kniha Arduino

Portál: Virtuálna Univerzita Mateja Bela
Kurz: Zábavné programovanie
Kniha: Kniha Arduino
Vytlačil(a): Hosťovský používateľ
Dátum: sobota, 6 júna 2026, 01:52

Opis

Táto kniha obsahuje študijné materiály k zariadeniu Arduino a jeho komponentom. 

arduino-logo - RenzRamos.com

1. Arduino

Pri Arduine hovoríme o malom jednodoskovom počítači ktorý je založený na mikrokontroléry ATmega od firmy Atmel. Jedná sa o skvelú pomôcku vo výučbe informatiky na školách. Žiaci pri práci s ním majú možnosť priamo vidieť a chápať ako pomocou počítačov môžeme riadiť rôzne druhy zariadení ako sú napríklad automatické práčky, reproduktory s osvetlením, kuchynské roboty a mnoho ďalších.

2. Arduino história

Arduino sa zrodilo v Taliansku v roku 2005 meste Ivrea. Na originálnych doskách nájdeme aj nápis Made in Italy. Cieľom tohto konceptu bolo jeho smerovanie priamo na študentov. Jednalo sa o jednoduchú prototypovú platformu, ktorá študentom umožní rýchly vývoj a jednoduché používanie. Vďaka jeho obľúbenosti sa v roku 2010 predalo viac než 120000 kusov. V tomto roku vznikla aj jedna z najznámejších a najpoužívanejších dosiek UNO. Predchodcom boli dosky Duemilanove, Due a Leonardo. 


Arduino UNO



3. Arduino komponenty

Na trhu môžeme dnes nájsť už množstvo základných dosiek a komponentov k nim. V tejto časti si ukážeme také najpoužívanejšie. pokiaľ chceme začať s arduinom pracovať je ideálne zadovážiť si rovno sadu ktorých je na trhu viacero druhov. 

Zloženie dosky Arduino Uno


  1. Analógové piny
  2. Napájacie vstupy Arduina
  3. Digitálne piny 
  4. ICSP hlavica - slúži na externé programovanie čipu. Využívajú ju niektoré shieldy
  5. Resetovacie tlačidlo. Používa sa pokiaľ chceme náš program spustiť znova od začiatku.
  6. USB konektor typu B.
  7. Napájací konektor. Používame ho pokiaľ dosku nenapájame pomocou USB portu. 
  8. Atmel AVR uCPU
  9. Krystal 12MHz
  10. Sériová linka TXD (1) a RDX (0)

3.1. Arduino dosky

K takým menším doskám patria Arduino mini, nano a micro. Najmenšou z týchto troch dosiek je arduino mini, nevýhodou tejto dosky je že je k nej treba pripojiť externý prevodník pretože nemá USB port. Poháňa ju procesor ATmega328. No výhodou je jej veľkosť, preto je využiteľná pre menśie zariadenia ako sú diaĺkové vypínače a podobne. 

Arduino nano už obsahuje aj USB port, procesor tejto dosky je rovnaký ako pri mini. V podstate sú tieto dosky identické, no výhodou nano je už vyššie uvedený USB port ktorý nám umožňuje jednoduchšie pripojenie a tak je vhodnejšia pre zariadenia pri ktorých to je žiadúce a tento port tam neprekáža. 

Arduino mikro ako jedna z mála dosiek obsahuje v čipe ATmega32u4 prevodník. Tento prevodník doske umožňuje posielať príkazy k pripojenému počítaču, typické napríklad pre myš alebo klávesnicu. Toto je možné aj s inými doskami no je potrebné preprogramovať prevodník a to nie je vždy jednoduché. 

Samostatnou kategóriou je Arduino LilyPad. Spoje na doske sú tvorené vodivou niťou. Je prispôsobená tak aby sme ju mohli nosiť na textile. Existuje viacero verzií tejto dosky. Podobne ako pri menších verziách existujú dosky s USB portom a aj bez podľa potreby, takisto sa líšia aj čipy ktoré obsahujú. Je podobná doskám Halocode. Keďže je možné ju umiestniť na oblečenie môžeme za jej pomoci vytvoriť rôzne výstražné zariadenia (blikačky), poprípade módne doplnky. 

Asi jednou z najznámejších a najpoužívanejších dosiek je Arduino UNO, ktorá je často využívaná aj pri výučbe a patrí do hlavnej vývojovej línie. Beží na procesore ATmega 328 a má klasický USB prevodník. Najnovšia verzia tejto dosky sa nazýva Rev3 , poprípade R3. Na trhu sa stretneme aj s Arduino Ethernet alebo Arduino Bluetooth, tieto dosky sú úplne identické s UNO. Líšia sa len portom ktorý vyplýva z názvu.

Za zmienku stojí takisto doska Arduino YUN, je v nej použitý čip ATmega32u4 podobne ako pri Arduino mikro. Na tomto čipe beží len jadro Arduina, dôvodom je že doska obsahuje ešte jeden čip Atheros AR9331. Tento čip je natoľko výkonný aby na ňom dokázal bežať odľahčený Linux, ktorý ma pre toto jadro názov Linino. Komunikáciu medzi čipmi zaisťuje softwarový most. Z portov sa tu nachádza microUSB ale aj klasický USB a Ethernet port. Ethernet umožňuje následne Linuxu pripojenie k sieti a tak napríklad namerané hodnoty je Arduino schopné ukladať na vzdialené webové úložisko. 

Postupne sa dostávame k väčším doskám ktoré nám umožňujú tvorbu zložitejších projektov. Takouto doskou je napríklad Arduino Mega2560. Táto doska je z časti totožná s doskou UNO, no ponúka nám oveľa väčšie množstvo pinov. Ako už je pri doskách arduino zvykom aj táto ponúka viacero verzií. Verzia ADK obsahuje 2 USB porty, to nám na druhý port umožňuje pripojiť zariadenie s Androidom.

Naozaj výkonnou doskou je Arduino DUE, ktorá je v podstate priami následník Arduino Mega. Obsahuje čip Atmel SAM3X8E. V porovnaní s čipom pri Miny má tento výkon až 84MHz a 32 bitové jadro. Ďalej obsahuje dva microUSB porty. Jeden klasicky slúži na programovanie a druhý nám poslúži na pripojenie myši alebo iného zariadenia


Parametre dosiek

3.2. Arduino súčiastky

Rezistory

Rezistor je pasívnou súčiastkou (nespráva sa v obvode ako zdroj, energiu nevyrábajú len ju sprostredkúvajú). Jej hlavnou vlastnosťou je elektrický odpor. Rezistory používané v elektrotechnike sú vhodne upravené hmoty, ktoré kladú pretekajúcemu prúdu odpor. Veľkosť pretekajúceho prúdu je nepriamoúmerná veľkosti odporu. To znamená, že pri rovnakom napätí čím väčší odpor zaradíme, tým bude v obvode menší prúd. Počas práce s ňou ju môžeme využívať viacerými spôsobmi. 


Schématické značky 


  1. Obmedzenie prúdu - najčastejšie pri ovládaní LED diód
  2. Delička napätia - umožňuje nám znížiť merané napätie 
  3. Pull-up rezistor - Pull-up rezistor sa používa na udržanie napätia na danom vstupe na hodnote napájacieho napätia.

Rezistory sa podľa veľkosti a tvaru označujú viacerými spôsobmi. 

  1. Označovanie rezistorov písmenovým kódom s príponou 
  2. Označovanie rezistorov farebným kódom
  3. Označovanie rezistorov číselným kódom

My sa pri Arduine zameriame hlavne na označovanie farebným kódom. Toto označovanie sa používa hlavne pri rezistoroch malých rozmerov. Hodnotu odporu tohto rezistora zistíme vďaka tabuľkám. Tie sú väčšinou 4-5 prúžkové. Kód na rezistoroch čítame zľava doprava. Na ľavej strane máme sústredené prvé prúžky. Prvý prúžok nikdy nemôže mať nulovú hodnotu, platí pre čierny prúžok. 



Tabuľka farebných kódov rezistorov. 

Pri presnejších odporoch sa používa 5 prúžkové značenie, prvé tri prúžky nám označujú hodnotu, štvrtý určuje multiplikátor a piaty nám označuje toleranciu rezistora. Niekedy sa môžeme stretnúť aj so šiestym prúžkom, ten sa nachádza úplne napravo a definuje tepelný koeficient odporu, je výrazne širší. 

Ako pomôcka na zistenie hodnôt rezistorov nám slúžia aj kalkulačky, ktoré sú voľne dostupné na webe.


Odkaz na Resistor Calculator.ardui


Led


Potenciometer

Jedná sa o pasívnu súčiastku, je to mechanické zariadenie, ktoré pri otáčaní hriadeľa poskytuje rôzne množstvo odporu, jedná sa teda o nastaviteľný delič napätia. Privedením napätia cez potenciometer a do analógového vstupu na doske, je možné merať veľkosť odporu vytváraného potenciometrom. Ďalej sa ešte môžeme stretnúť s posuvným potenciometrom. Konštrukčné vlastnosti týchto dvoch potenciometrov sú rôzne, no pracovný princíp je rovnaký. Potenciometer má dve svorky vstupného zdroja pripevnené na koniec odporu. Na nastavenie výstupného napätia sa posuvný kontakt pohybuje pozdĺž rezistora na výstupnej strane.

Základy digitálních potenciometrů a jejich použití | Vývoj.HW.cz

Bzučiak

Aktívny bzučiak: alebo aj piezoelektrický menič, nám umožňuje vydávať rôzne tóny. Dlhšia nožička je kladná (+). Bzučiak môžeme ovládať ako digitálne (digitalWrite()), tak aj PWM (analogWrite()). Zmena frekvencie jeho bzučania môže produkovať iný zvuk. S týmto modulom sa môžeme stretnúť v každodennom živote, pri používaní rôznych spotrebičov sko napr. PC, chladničky či telefóny a podobne. Základným rozdielom medzi aktívnym bzučiakom a pasívnym bzučiakom je, že výrobok nevyžaduje rovnaký vstupný signál; ideálny signál pre aktívny bzučiak je DC, zvyčajne označený ako VDC, VDD atď. Pretože bzučiak má jednoduchý vnútorný kmitajúci obvod, konštantný jednosmerný prúd môže byť konvertovaný na impulzný signál s určitou frekvenciou a magnetické pole sa mení z povrchu, aby sa poháňal vibrácie molybdénovej dosky. Niektoré aktívne bzučiaky však môžu pracovať pod špecifickými striedavými signálmi, ale vyžadujú len vysoké napätie a frekvenciu AC signálov. Takéto metódy sa vo všeobecnosti nepoužívajú. 


Aktívny bzučiak, dlhšia nôžka kladná (+)

Pasívny bzučiak: Pasívne bzučiaky nemajú vnútorný okruh ovládačov. Niektoré spoločnosti a továrne ich nazývajú sniffery, ktoré sa nazývajú sirény v národnom štádiu. Ideálnym signálom pre pasívny bzučiak je štvorcová vlna. Ak dáte DC Signálny bzučiak nie je citlivý, pretože magnetický okruh je konštantný, molybdénový film nemôže vibrovať výslovnosť. Jednoduchý spôsob rozlíšenia medzi aktívnymi a pasívnymi elektromagnetickými bzučiakmi - Po prvé, vizuálna kontrola, po druhé, multimetr test.


LCD display 

Na trhu sa môžeme stretnúť s viacerými druhmi LCD displejov. Líšia sa zobrazovacou kapacitou a spôsobom prenosu dát. Materiál ktorým sú tieto displeje tvorené sa nazýva tekuté kryštáli. Display je je konštruovaný tak , že vrstva tekutých kryštálov je umiestnená medzi dvoma elektródami. Keď na obe elektródy privedieme odpovedajúce napätie vznikne medzi nimi elektrické pole, ktoré zmení polohu kryštálov, materiál v miestach pôsobenia sa stane nepriehľadným. Display býva doplnený ešte o polarizačné filtre, pokiaľ sa jedná o farebné LCD týchto filtrov je viacej vrstiev na sebe. Ďalej sa stretneme aj s podsvietením ktoré zlepšuje čitateľnosť displeja.

 Princíp LCD displeja 

Najzákladnejšou skupinou LCD displejov sú znakové displeje. Poznáme displeje s klasickým prenosom dát, no dnes sa používajú aj displeje s prenosom dát po zbernici 12C. Znakové displeje zobrazujú znakové matice bodov, to nám umožňuje zobrazovať drobné texty, číselné znaky, namerané hodnoty na senzoroch a pod. Z hľadiska zobrazovaných znakov rozoznávame dva základné typy - jeden zobrazuje 16 znakov na dvoch riadkoch a druhý 20 znakov na 4 riadkoch. Zapojenie je rovnaké ale v programe je potrebné v inicializačnej fáze uviesť ktorý s ktorým typom bude Arduino pracovať.

LCD displej klasický typ: zapojenie a program 


Kód:

// importovanie knihovne
#include <LiquidCrystal.h>
// definícia pinov pre objekt lcd
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
// vyberte verziu displeja
//verzia 16×2
lcd.begin(16, 2);
//verzia 20×4
//lcd.begin(20, 4);
}
void loop()
{
//nekonečná slučka zobrazuje text – text je vždy uvedený v úvodzovkách
lcd.setCursor(3,0); //nastavenie kurzora – miesta odkiaľ sa začína zobrazovať text
lcd.print(„arduino“); //zobrazovaný text na prvom riadku
lcd.setCursor(1,1); //nastavenie kurzoru – miesta odkadiaľ sa začína zobrazovať text
lcd.print(„uno“); //zobrazovaný text na druhom riadku
}


LCD displej l2C: zapojenie a program


Kód:

// importovanie knihovní 
# include <Wire.h>
# include <LiquidCrystal_I2C.h>
//Inicializácia objektu lcd
LiquidCrystal_I2C lcd(0x27,16,2); // nastavenie LCD adresy na 0x27 na 16 x 2
void setup()
{
}
void loop()
{
lcd.init(); // inicializácia lcd
lcd.backlight(); // aktivácia podsvietenia displeja
lcd.setCursor(4,0); //nastavenie kurzora – miesta odkadiaľ sa začína zobrazovať text
lcd.print(„arduino“); //zobrazovaný text na prvom riadku
lcd.setCursor(1,1); //nastavenie kurzora – miesta odkadiaľ sa začína zobrazovať text
lcd.print(„uno“); //zobrazovaný text na druhom riadku
}

Joystick PS2

Jedná sa o herný modul. Sníma pohyb páčky v dvoch smeroch. Konštrukcia obsahuje 2 potenciometre s hodnotou 10 kiloohmov a tlačidlo pre detekciu stisku joysticku. V normálnom stave je potenciometer nastavený približne do polovice svojho rozsahu a pri pohybe páčky sa mení jeho odpor od 0 po 10 ohmov. Pre zapojenie joysticku ku Arduinu stačí zapojiť 5 prepojovacích pinov.  


// nastavení prepojovacích pinov modulu
#define pinX A0
#define pinY A1
#define pinKey 2
// premenné pre uloženie hodnoty
// stredu joysticku
int nulaX, nulaY;

void setup() {
  // inicializácia tlačítka joysticku
  pinMode(pinKey, INPUT_PULLUP);
  // komunikácia cez sériovú linku rýchlostí 9600 baud
  Serial.begin(9600);
  // načítanie a uloženie hodnôt pre x a y osy
  nulaX = analogRead(pinX);
  nulaY = analogRead(pinY);
}
void loop() {
  // vytvorenie premenných pre uloženie
  // hodnôt pre osy x, y a stav tlačítka
  int aktX, aktY, stavTlac;
  // načítenie analógových hodnôt osy x a y
  aktX = analogRead(pinX) - nulaX;
  aktY = analogRead(pinY) - nulaY;
  // načítanie stavu tlačítka
  stavTlac = digitalRead(pinKey);
  if (aktX > 0) {
    aktX = map(aktX, 0, 1023-nulaX, 0, 100);
  }
  else {
    aktX = map(aktX, 0, -nulaX, 0, -100);
  }
  if (aktY > 0) {
    aktY = map(aktY, 0, 1023-nulaY, 0, 100);
  }
  else {
    aktY = map(aktY, 0, -nulaY, 0, -100);
  }
  // vyčistenie informácií o súradniciach
  // po sériovej linke
  Serial.print("Souradnice X,Y = ");
  Serial.print(aktX);
  Serial.print(", ");
  Serial.print(aktY);
  // kontrola stavu tlačítka, v prípade stisku
  // vytlačíme informáciu po sériovej linke
  if(stavTlac == LOW) {
    Serial.print(" | Tlacitko stisknute.");
  }
  Serial.println();
  // voliteľná pauza pre prehladné zobrazenie
  delay(1000);
}

Arduino senzory

Medzi veľmi obľúbené doplnky pri práci s Arduino patria senzory. Na trhu sa momentálne nachádza množstvo senzorov od rôznych výrobcov. Umožňujú nám rozšíriť funkčnosť dosky a získavať informácie z okolia. Pre každý podnet ktorý chceme z okolia získať musíme použiť iný senzor (meranie vzdialenosti, teploty, pohybu. náklonu, vlhkosti, farby, zvuku....  ). 

V tejto časti si o pár senzoroch niečo povieme:

 Ultrazvukový merač vzdialenosti HC-SR04

Umožňuje nám meranie vzdialenosti s presnosťou až 3mm a do vzdialenosti 4m. Funguje na princípe odrazu zvukových vĺn od prekážky. Pracovný uhol je 15 stupňov. Nie sú potrebné knižnice. 



Spôsob zapojenia

ME svetelný senzor

Tento senzor je od spoločnosti Makeblock, meria intenzitu svetla. Je možné ho použiť pri tvorbe jednoduchých projektov, napr. pri vytváraní inteligentnej lampičky ktorej svetlo sa bude upravovať podľa intenzity svetla alebo na stavbu robota ktorý bude reagovať na svetlo. Je k nemu vytvorená aj Arduino knižnica pre zjednodušenie programovania. Výhodou je široký rozsah merania a vysoké rozlíšenie.

 

________________________________________________________________________

Arduino po slovensky: Rezistor

Arduino Slovakia - Rezistor

Resistor Calculator

Arduino po slovensky: Farebné značenie rezistorov

Průvodce-světem-Arduina-CZ.pdf (robotikabrno.cz)

Arduino Joystick PS2 | Návody Drátek (dratek.cz)

3.3. Arduino sety

Na trhu je množstvo setov ktoré si môžeme zaobstarať, záleží len od charakteru projektu ktorý chceme vytvárať. Uvedieme si pár z nich.  

Arduino UNO R3 Student Kit

Vývojový kit s doskou Arduino UNO R3 a množstvom komponentov určený pre študentov a začínajúcich programátorov

Obsah balenia:

Vývojovú dosku Arduino UNO R3
LED Matrix 8×8
Krokový motor BYJ48 + driver ULN2003
Tlačidlá + farebné násady
LED-diódy
Rezistory
Joystick
Segmentový displej 1 displej
LED RGB modul
Senzor náklonu
Senzor vybrácií
Register 74HC595
Fotorezistory
DHT11 senzor teploty a vlhkosti
Jack pre 9V batériu
Senzor zvuku
Jumper prepojky
Jumper kábliky M-F
Aktívny bzučiak
Pasívny bzučiak
Senzor výšky hladiny a dažďa
Semnetový displej 4 displeje
USB kábel
Relé modul
Servo motorček SG90
Hodinový modul DS1307
Tlačidlový matrix
RFID čítačka RC522 + RFID karta a kľučenka
Piny
Nepájíve pole 830 bodov
LED displej 16x 2 znaky
Infračervený ovládač s prijímačom
Kábliky M-M
Potenciometer
Senzor teploty LM35


__________________________________________________________________________________________

Arduino UNO Elementary kit

Základný kit pozostávajúci z lediek, tlačidiel, rezistorov, nepájivého kontaktného poľa 400 bodov a samozrejme vývojovej dosky Arduino UNO SMD edícia. V zostave sa nachádza aj jack pre 9V batériu, fotorezistory, pásik pinov a kábliky.

Obsah balenia:

Arduino UNO SMD edícia + USB káblik
Nepájivé kontaktné pole 400 bodov
Jack pre 9V batériu
Kábliky 20 kusov M-M 20 cm
Farebné LED diódy (po  5 kusov červená, zelená, žltá)
2 x fotorezistor
Piny 2.54 mm riadok 40 kusov
Tlačidlá + násady
Rezistory  220Ohm, 1K, 10K 100K


___________________________________________________________________________________________

Arduino UNO Ultimate kit

Kit pozostávajúci z mnohých vstupných a výstupných periférií. Je vhodný pre zoznámenie sa s elektronikou a programovaním Arduino, ako aj s tvorbou zložitejších projektov. 

  1. Vývojová doska Arduino UNO R3
  2. DC motorček
  3. Modul sledovania čiary
  4. RGB LED
  5. Relé modul 5V
  6. Servo motorček SG90
  7. Joystick
  8. Senzor vibrácií
  9. Krokový motorček
  10. Limit switch
  11. Senzor teploty LM35
  12. 32.768 MHz kryštál
  13. HC-SR04 ultrazvukový senzor vzdialenosti
  14. Senzor zrážok
  15. Infračervený ovládač
  16. LED 10 mm
  17. Senzor náklonu
  18. LED Matrix
  19. Segmentovka 4 displeje
  20. Segmentovka 1 displej
  21. 74HC595
  22. Vrtuľka pre DC motorčeky
  23. 9V batéria – NIE JE SÚČASŤOU BALENIA!
  24. Laserový modul
  25. Prototype shield
  26. Kontaktné nepájivé pole 170 bodov
  27. DHT11 senzor teploty a vlhkosti
  28. Display 16×2 znaky
  29. Senzor dotyku TTP223
  30. Fotorezistor GL5528
  31. Potenciometer B10K
  32. Senzor vibrácií
  33. LED RGB
  34. Aktívny buzzer (bzučiak)
  35. Pasívny buzzer (bzučiak)
  36. 830 bodové nepájivé kontaktné pole
  37. Kábliky 10 a 20 cm F-F, M-F, M-M po 10 kusov
  38. LED zelené, červené žlté a biele po 5 kusov
  39. RGB LED
  40. Senzor plameňa
  41. Rezistory, rôzne hodnoty
  42. Klávesnica 4×4 AVR
  43. Senzor zvuku
  44. Hallov senzor
  45. 74HC138
  46. 74HC164
  47. DS1302 hodinový modul
  48. Digitálny senzor teploty
  49. HC-SR501 infračervený senzor pohybu
  50. Infračervený prijímač
  51. Senzor vlhkosti pôdy
  52. Držiak pre 9V batériu
  53. USB kábel
  54. Hadička 50 cm
  55. Vodná pumpička
  56. Ovládací modul pre krokové motorčeky
  57. Tlačidlá s násadami
  58. Držiak pre 4 AA batérie
  59. Jack DC005
  60. Plastový organizér veľký + malý
  61. Leták ku rezsitorom
  62. CD


_______________________________________________________________________________________

Arduino Mega Basic kit
Zostava s vývojovou doskou Arduino Mega
Obsah balenia:
Vývojová doska Arduino Mega
– LCD displej 16×2 znaky
– LED matrix 8 x 8
– RFID modul čítačka RC522
– RFID karta
– RFID kľučenka
– Servomotor
– Krokový motor
– Driver korkového motora
– Joystick 2 osi
– Relé modul
– Senzor dotyku module TTP223
– Senzor plynu MQ
– ADXL345 3-osový akcelerometer
– HC-SR04 ultravzukový senzor vzdialenosti
–  DS3231 hodinový modul
– DHT11 senzor teploty a vlhkosti vzduchu
– Senzor vhlkosti pôdy
– LM35 teplotný senzor
– Infračervený prijímač
– Infračervený vysielač/ovládač
– Senzor vzdialenosti
– LED diódy rôzne farby
– RGB LED
– Rezistory rôzne hodnoty
– Potenciometer B10K – 10 Kohm
– Aktívny bzučiak
– Pasívny bzučiak
– Fotorezistory
– Integrovaný obvod HC74595 register
– 7-segment LED displej
– 4-znakový 7-segment LED display
– Pásik pinov
– 830 bodové nepájivé pole
– Kábliky
– Držiak pre batérie
– USB Kábel

3.4. Funkcie void setup() a void loop()

Pri programovaní Arduino sa nám kód delí na dve základné funkcie void setup() a void loop()


V hornej časti sa nachádza blok setup, do zátvoriek píšeme kód ktorý sa prevedie len raz a to na začiatku behu programu. Druhý blokom je funkcia loop, v jeho zátvorkách píšeme kód ktorý sa bude neustále opakovať počas behu programu. Tieto dve funkcie sa v kóde budú nachádzať vždy a to aj pokiaľ nebudú obsahovať žiadne príkazy, pokiaľ by tam jeden z nich nebol, program by nám vypísal chybové hlásenie. 

Pokiaľ chceme do nášho kódu pridať komentár alebo časť kódu znefunkčniť, tak do kódu vpíšeme dva lomítka za sebou (platí pre aktuálny riadok) alebo lomítko v kombinácii s hviezdičkou (platí pre viacriadkový komentár)


Spôsob a možnosti programovania či využívanie rôznych operátorov, štruktúr, konštánt a premenných nájdete na tomto odkaze:

Programovanie Arduina | Arduino po slovensky

3.5. Arduino knižnice

Tak ako sa neustále rozširuje množstvo komponentov pre Arduino na trhu, tak isto neustále pribúdajú aj nové knižnice ktoré môžeme využiť počas programovania komponentov. Knižnice sú v podstate adresáre ktoré združujú viac súborov so zdrojovými kódmi, to nám uľahčuje a zároveň sprehľadňuje náš vlastný program. V online priestore máme možnosť stiahnuť stovky knižníc ktoré nám uľahčujú prácu. Arduino komunita je naozaj rozšírená (fóra, stránky venujúce sa Arduino, publikácie) preto je veľká šanca že práve pre potreby nášho programu nájdeme tú správnu knižnicu. 

Štandardné knižnice  

  • EEPROM – čítanie a zápis do EEPROM pamäte
  • Ethernet – pre pripojenie k internetu pomocou Arduino Ethernet Shieldu
  • Firmata – pre komunikáciu s aplikáciami v počítači pomocou štandardného sériového protokolu
  • GSM – pre pripojenie ku GSM / GRPS sieti pomocou GSM Shieldu
  • LiquidCrystal – pre ovládanie displeja z tekutých kryštálov (LCD)
  • SD – pre čítanie a zápis na SD kartu
  • Servo – pre ovládanie servomotorov
  • SPI – pre komunikáciu so zariadeniami pomocou zbernice SPI (Serial Peripheral Interface)
  • SoftwareSerial – pre sériovú komunikáciu na akýchkoľvek digitálnych pinoch
  • Stepper – pre riadenie krokových motorov
  • TFT – pre kreslenie textov, obrázkov a tvarov na TFT displejoch
  • WiFi – pre pripojenie k internetu pomocou WiFi Arduino Shieldu
  • Wire – pre odosielanie a prijímanie dát zo snímačov a zariadení pomocou zbernice I2C/TWI (Inter-Integrated Circuit / Two Wire Interface)

________________________________________________________________________

Arduino po slovensky: Knižnice – návod na inštaláciu

3.6. Autodesk Tinkercad pre Arduino

Pri vytváraní projektov s Arduino je skvelou pomôckou prostredie Autodesk Tinkercad, kde si každý náš nápad a zapojenie projektu môžeme vyskúšať tak povediac na sucho. Vďaka čomu môžeme predísť rôznym nehodám či poškodeniam komponentov (vypálené žiarovky,....). Preto je vhodné ho použiť aj pri výučbe na školách, ako prvotné zoznámenie žiakov s Arduino a vysvetlenie zásad práce s touto pomôckou a následné testovanie projektov. Prostredie je intuitívne a realisticky spracované. Na začiatku je potrebná registrácia, čo je v tomto prípade výhoda pretože si naše novovytvorené projekty môžeme ukladať a následne sa po čase k nim vracať.

Keďže Autodesk neslúži len na stavanie našich obvodov, musíme sa dostať do sekcie Circuits. Tu si následne vytvoríme náš nový projekt pomocou tlačidla Create New Circuit. Otvorí sa nám naša pracovná plocha.

Na hornej lište sa nachádzajú klasické tlačidlá ako kôš, krok späť a dopredu, písanie poznámok, ich náhľad. Ďalej si môžeme zvoliť farbu a typ vodiča ktorý budeme používať ale aj ich polohovanie.
Na pravej strane hornej lišty máme tlačidlo na programovanie, tu si môžeme zvoliť či chceme programovať pomocou blokov, c++ alebo ich kombináciou.

Hneď vedľa tlačidla na kódovanie je umiestnené tlačidlo na spustenie simulácie. Pod týmito tlačidlami nájdeme paletu komponentov, ktoré môžeme použiť pri vytváraní nášho projektu, od základných až po komponenty s určením napr. pre naše Arduino ale pre micro:bit a podobne. Komponent ktorý si zvolíme jednoducho uchopíme pravým tlačidlo myši a umiestnime na pracovnú plochu, tam kde potrebujeme.

A nakoniec v samom strede obrazovky sa nachádza pracovná plocha, kde skladáme jednotlivé komponenty do kopy.

4. Výzkumi a projekty zaoberajúce sa Arduino

Nasleduje niekoľko podkapitol, ktorých obsahom sú výzkumy z oblasti vedy či školstva, v ktorých je zapojené Arduino. Existuje veľké množstvo výzkumov a štúdií v tejto oblasti, preto sme uviedli aspoň nikoľko zaujímavých kusov. Každý výzkum má krátky opis pre čitateľa a na záver je samozrejme priložený aj odkaz ku zdroju daného výzkumu.


4.1. Robot na báze Arduina so senzorom ako vzdelávací projekt

Tento príspevok predstavuje ukážku projektu výučby robotiky na stredných školách týkajúcich sa vznikajúceho konceptu tzv. myslenia (Výpočtové myslenie), ktorý je podporený projektom PRIM (Podpora rozvoja výpočtového myslenia). Cieľom projektu PRIM je podporiť zmenu orientácie školského predmetu informatika z užívateľskej kontroly IKT na základy informatiky ako odboru. Vo svetle prebiehajúcej revolúcie Industry 4.0 je vnímaná rýchlo rastúca potreba IT odborníkov aj všeobecného vzdelávania v oblasti informatiky. Projekt reaguje na podobné aktivity vo viacerých vyspelých krajinách, kde sa výpočtové myslenie dostáva do popredia pozornosti škôl a tvorcov národných učebných osnov. V rámci projektu vznikol súbor učebníc pokrývajúcich výučbu programovania na všetkých úrovniach vzdelávacích inštitúcií v Českej republike. Tento koncept tiež vytvoril učebnice pre výučbu základov robotiky pomocou platforiem Micro: Bit a Arduino. Príspevok predstavuje vzorku projektov, ktoré sa snažia splniť vznikajúci koncept a kopírovať testovanú štruktúru učebných materiálov.

Link: odkaz na zdroj tu




4.2. Estimation of fatigue life using low cost pneumatic setup and Arduino based data acquisition (DAQ)

S nárastom počtu študentov, ktorí si zvolili magisterské štúdium inžinierstva, sa dopyt po vysokokvalitných a presných prístrojoch mnohonásobne zvýšil. Študenti v krajinách ako India sa snažia získať prístup ku komponentom a hardvéru, aby mohli overiť a získať definitívne výsledky, aby mohli pokračovať vo svojom výskume v rámci študentskej úrovne, bez ohľadu na to, či je stupeň/úroveň bakalár/magister. Keď hovoríme o hodnotení Fatigue LifePri práci nám prichádza na um konvenčné nastavenie opakovaného krútenia a uvoľňovania, pri ktorom sa opakovane zavádza a uvoľňuje skrútenie/šmykové napätie. Ak sa však vyžaduje testovanie kovových dosiek, je potrebné zaviesť ohybové napätia. Cieľom tohto príspevku je vývoj nízkonákladového nastavenia na odhad únavovej životnosti vzoriek, obmedzeného na namáhanie v ohybe, s použitím pneumatického nastavenia ako pohonu produkujúceho napätie a nastavenia Arduino kombinovaného s tenzometrami ako nízkonákladovým nástrojom na získavanie údajov (DAQ). Údaje z DAQ sa zaznamenávajú cez LABVIEW, aby sa získala krivka SN a ďalšia analýza.

Link: odkaz na zdroj tu

4.3. An environmental education project that measures particulate matter via an Arduino interface

Táto práca predstavuje prípadovú štúdiu, ktorá skúma vplyv spoločného projektu environmentálnej výchovy na zlepšenie postojov, vedomostí a zručností študentov. V rámci tohto projektu študenti strednej odbornej školy (Chryssoupoli, Kavala, Grécko) vytvorili robotické zariadenie na meranie častíc znečisťujúcich životné prostredie PM2,5 a PM10. V prípadovej štúdii boli použité techniky participatívneho pozorovania, aby bola možná priama a hĺbková štúdia. Intervencia bola realizovaná v piatich etapách: aktivácia, prieskum, pátranie, tvorba a prezentácia. Vývoj celého postupu bol zaznamenaný v denníkoch učiteľov a študentov. Tieto nahrávky spolu so samotným artefaktom, ako aj prezentáciami práce študentov tvorili údaje nášho výskumu.

Link: odkaz na zdroj tu

4.4. Rapid Prototyping for Control Education using Arduino and Open-Source Technologies

V tomto článku predstavujeme náš nedávny vývoj malých experimentálnych zariadení pre kontrolný výskum a vzdelávanie s osobitným zameraním na využitie open-source technológií, ako sú Arduino a Processing. Arduino je pronominálny open-source hardvér, ktorého architektúra, implementácia a ďalšie potrebné zdroje sú dostupné každému používateľovi, zatiaľ čo Processing je jeho softvérovým náprotivkom, ktorý podporuje rýchly vývoj programov ovládača/rozhrania bez väčších odborných znalostí. Ich výhodu demonštrujeme pomocou kinematického neholonomického systému nazývaného trojzubý hadí robot a nedostatočne aktivovaného mechanického systému nazývaného obrátený jednokolový robot.

Link: odkaz na zdroj tu

4.5. e-Health: Biomedical instrumentation with Arduino

Tento príspevok popisuje plánovanie a vývoj laboratórnych činností pre úvod do prístrojového vybavenia biomedicínskych systémov, ako aj niektoré skúsenosti a výsledky z nich získané. Aktivity boli aplikované v kurze "Základy systémov a nástrojov" v akademickom roku 2016-17. Tento kurz je naplánovaný v druhom ročníku nového stupňa zdravotníckych informačných technológií, ktorý ponúka Univerzita v Alicante. Výučba biomedicínskych prístrojov z pohľadu inžinierstva pre študentov, ktorí majú malé medicínske a inžinierske vzdelanie, je komplexná úloha. Navrhnuté laboratórne postupy sú prezentované v tomto článku, ktorý je založený na štíte Arduino a e-Health na výučbu biomedicínskych konceptov. Na laboratórnych stretnutiach sa používa projektová učebná metodika.

Link: odkaz na zdroj tu

5. Úlohy (zapojenie)

Nasleduje niekoľko elementárnych úloh so zariadením Arduino. Úlohy  obsahujú zadanie na vytvorenie  zapojenia komponentov. Po kliknutí na tlačidlo "Riešenie" sa zobrazí správne riešenie úlohy. 

5.1. Úloha 1

Zapojenie LED diódy. (program "Tinker")

K zariadeniu Arduino UNO, zapojte červenú (1,8V) Led diodu tak aby svietila (využite breadbord). Zapojte rovnakým spôsobom červenú, žltú (2,3V) a modrú (3,6V) diódu, pričom dbajte na potrebnú veľkosť odporu ("presná hodnota odporu" pri prúde 20mA treba vypočítať potrebný odpor pre každú LED - online kalkulačka). 


Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

5.2. Úloha 2

Zapojenie tlačidla.

Vytvorete zapojenie, v ktorom bude jedna LED dióda (ľubovoľnej farby) a tlačidlo (nepoužite breadboard). Nezabudnite podľa vybranej farby diody na zvolenie správnej veľkosti odporu (ako v predošlej úlohe). Otestujte princíp tohto zapojenia.


Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

5.3. Úloha 3

Zapojenie potenciometra.

Vytvorte obvod (bez breadboardu), v ktorom budete pomocou potenciometra, meniť napätie na LED dióde (napríklad modrej). Svietivosť diódy, sa bude meniť podľa tohto napätia. Nezabudnite na napájanie potenciometra pripojiť rezistor (veľkosť podľa farby diódy), ktorého úlohou je ochrániť diódu pred poškodením (pozri predošlé úlohy), tým že limituje výstupné hodnoty potenciometra.


Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

5.4. Úloha 4

Sériové zapojenie LED diód.

Vytvorte sériové zapojenie červenej a žltej LED diódy. Nezabudnite na hodnotu rezistora (online kalkulačka), pričom je pravidlom že napätie LED diód sa v sériovom zapojení sčíta (1,8V+2,3V).

 

Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

5.5. Úloha 5

Bzučiak.

Pomocou breadboardu, prepojte bzučiak a tlačidlo. Po kliknutí na tlačidlo, bude na bzučiaku počuť jemné prasknutie. (keďže nepracujeme s LED diódou, nepotrebujeme v tomto príklade pracovať s rezistorom, pretože "bzučiak" dokáže pracovať s napätím 5V)


Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

6. Úlohy (programovanie)

Nasleduje niekoľko elementárnych úloh so zariadením Arduino. Úlohy  obsahujú zadanie na vytvorenie  programu pre funkčnosť komponentov. Po kliknutí na tlačidlo "Riešenie" sa zobrazí správne riešenie úlohy. 

6.1. Úloha1

Napíš kód, ktorý rozbliká LED diódu, zapojenú napríklad do portu 2. Dióda by mala blikať v intervale jednej sekundy.

6.2. Úloha 2

Pomocou kódu, by sa svietivosť LED diódy mala postupne zväčšovať až kým sa nerozsvieti na maximum, následne sa proces otočí a LED bude postupne hasnúť (vypínať sa).

Využite AnalogWrite (hodnoty 0 až 255). Postupnosť zapínania a vypínania (krok) je ľubovoľná, avšak mala by byť viditeľná. 


   

Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

6.3. Úloha 3

K doske Arduino je zapojených samostatne 5 kusov LED diód (pin 2-6).

Vytvor kód,  ktorý postupne tieto diódy jednu po druhej rozsvieti a následne zas vypne, Takže bude teoreticky svietiť len jedna dióda. Tento "bod" svetla by teda mal putovať od prvej diódy k poslednej a naopak. 


Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

6.4. Úloha 4

Použitie sériovej komunikácie

Zisťovanie stavu tlačidla (stlačené alebo nie), pomocou výpisu do sériového monitora v prostredí Tinker.

Tlačidlo je zapojené na pin 2, výstupná hodnota okrem výpisu do sériového monitora bude na pin 13 (integrovaná LED na doske). 

Vytvorte program, ktorý pomocou spomenutých krokov, bude v sériovom monitore zobrazovať hodnoty 0 alebo 1, podľa toho či je tlačidlo stlačené alebo nie.

 

Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?

6.5. Úloha 5

Využitie knižnice.

Knižnica "pitches.h" ponúka možnosť prehrávania rôznych tónov zvuku. obsahom tejto knižnice sú definované tóny (aj ich frekvencie), ktoré ich zavolaním vieme využiť. Knižnicu je potrebné vložiť na začiatku programu. Z tejto knižnice si vyberte 3 rôzne tóny. 

OBSAH KNIŽNICE TU

Ku doske Arduino, sú pripojené 3 tlakové senzory (pin 0,1,2) a jeden malý reproduktor (pin 8). Program pomocov tlakových senzorov (pri stlačení), prehrá cez reproduktor 3 rôzne tóny (z knižnice). 


Tu sa nachádzaju zdrojové kódy k zadanej úlohe. Určite chcete zobraziť riešenie úlohy?