Arduino je platforma pro výuku a vývoj elektronických projektů. Z hardwarového pohledu je to deska s mikrokontrolerem, ke které můžete připojit různé senzory, motory, světla a další komponenty, a poté je ovládat pomocí kódu. Programování probíhá v jazyce C++ a jsou k dispozici spousty hotových funkcí a knihoven, což Arduino činí ideálním nástrojem pro začátečníky i pokročilé, kteří se chtějí naučit základy elektroniky a programování. Arduino se používá ve spoustě projektů, od domácí automatizace po robotiku.
Existuje mnoho typů Arduino desek s různými mikrokontrolery - liší se výkonem, počtem pinů, možnostmi WiFi, Bluetooth atd. V našich hodinách budeme používat Arduino UNO s procesorem ATmega 328, který běží na 16MHz a má celkem 32 KB flash paměti, 2 KB SRAM a 1 KB EEPROM.

Slovo „embedded“ znamená, že jde o systémy, které jsou součástí nějakého zařízení, například mikrokontrolér v ledničce, autě nebo robotu, který vykonává specifické úkoly.

Dokážete při pohledu na obrázek popsat, k čemu tento projekt slouží a jaký asi program běží v Arduinu?

//sem prijde vlozeni knihoven, inicializace proměnných...
void setup() {
// zde vlozte kod, ktery ma bezet pouze jednou
}
void loop() {
// zde vlozte kod hlavni kod, ktery se bude opakovat donekonecna
}
Přímo na desce Arduina je jedna LED, kteoru můžeme z programu ovládat. Je připojena na pin 13. Co budeme potřebovat?
Touto funkcí nastavíme pin 13, kde je připojena LEDka, jako výstup.
pinMode(13, OUTPUT);
Touto funkcí přivedeme na pin 13 logickou jedničku (HIGH). Tím se na pin připojí 5V a LEDka se rozsvítí.
digitalWrite(13, HIGH); //zapnutí led
Protože mikroprocesor v Arduinu pracuje s frekvencí 16MHz, tak pokud bychom jen neustále měnili stav na pinu, nebylo by blikání pro lidské oko viditelné (viděli bychom jej jen na osciloskopu). Proto přidáme “pauzu”, aby oko stihlo vnímat, že LEDka svítí.
delay(1000); // čekání po dobu jedné sekundy
Celý program blikání LEDkou:
//sem prijde vlozeni knihoven, inicializace proměnných...
int led = 13;
void setup() {
// zde vlozte kod, ktery ma bezet pouze jednou
pinMode(led, OUTPUT);
}
void loop() {
// zde vlozte kod hlavni kod, ktery se bude opakovat donekonecna
digitalWrite(led, HIGH); //zapnutí led
delay(1000); // čekání po dobu jedné sekundy
digitalWrite(led, LOW); // vypnuti LED
delay(1000); // čekání po dobu jedné sekundy
}
Na desce Arduina je jen jedna LEDka, kterou můžeme ovládat (pokud nepočítáme LEDky na pinech Tx a Rx, které ale využíváme k programování Arduina). Zkusíme si teď připojit další LEDku s pomocí nepájivého pole. Nesmíme zapomenout na sériový odpor. Jak spočítat jeho velikost?

Nepájivé pole (breadboard) je nástroj, který slouží k rychlému sestavení elektronických obvodů bez nutnosti pájení. Má řadu malých děr, které jsou elektricky propojené, a do těchto děr se zasouvají součástky nebo vodiče. Umožňuje tedy snadno testovat a upravovat obvody.


1. Zapojte do nepájivého pole LEDku s rezistorem. Připojte anodu LEDky na některý digitální pin Arduina (vyberte jeden z pinů 2-12). Napište program tak, aby se vždy po 1s střídavě rozsvěcovala LEDka na Arduino desce (na pinu 13) a LEDka na nepájivém poli.
Serial.print() se používá k odeslání dat do seriového monitoru. Můžete tak zobrazit hodnoty proměnných, zprávy nebo výsledky výpočtů během běhu programu.
Serial.print("text"); – vypíše text do seriového monitoru.Serial.print(variable); – vypíše hodnotu proměnné.Serial.println() Funguje stejně jako Serial.print() ale na konci přejde na nový řádekint cislo = 5; // Proměnná, kterou poté budeme posílat
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print("Hodnota promenne cislo je: ");
Serial.println(cislo); // Vytiskne "Hodnota x je: 10" a přejde na nový řádek
}