1. Blikač S Ř-duino

Ahoj!
Vítej u prvního a nejjednoduššího tutoriálu na naši vývojovou desku Ř-duino. V tomto tutoriálu se seznámíme se základy práce s touto naučnou sadou a vytvoříme si základní projekt, s nímž se setká každý, kdo se o elektrotechniku a tvorbu projektů s využitím programovatelných desek začíná zajímat. Bude se jednat o projekt "Blink", jehož základním cílem je rozblikat připojenou LEDku.
Supplies
Co Nedělat



Elektronika je skvělým sluhou, ale špatným pánem. Pojďme si tedy říct pár věcí, jež bychom měli vždy dodržet, abychom nic nezničili:
- Nikdy bychom neměli spojit plus (3V3, 5V) a mínus (GND), aniž bychom mezi ně připojili nějaký spotřebič. (obrázek A)
- Nikdy bychom neměli spojit dva PINy, jež jsou nastaveny na výstup. (obrázek B)
- Nikdy bychom neměli zapojit LEDku bez použítí rezistoru, poněvadž by se pravděpodobně rozbila. (obrázek C)
- Při zapojování USB bychom jej měli plně zacvaknout dovnitř.
- Ř-duino bychom měli držet v suchu a čistotě.
Nepájivé Pole


Jelikož tato sada je určena pro úplné začátečníky, pojďme si vysvětlit princip nepájivého pole.
Jedná se o bílou děrovanou destičku v balení. Díky této součástce nemusíme naše obvody pájet, i bez toho jsou spojeny dohromady. Od toho se odvíjí název "nepájivé pole".
V naší sadě se můžeme setkat s jednou ze dvou variant polí.
Na první z variant našeho nepájivého pole máme dvě užší sekce po stranách a dvě širší sekce uprostřed. Každá širší sekce je rozdělena na 30 jednotlivých řádků. Každá užší sekce je rozdělena na dva sloupky (plusový a mínusový).
Pokud zapojíme drátek na naší desce do políčka 3V3 (3,3 V) a zapojíme jej do plusového sloupku na straně pole, tak po dodání spotřebiče a dokončení obvodu bude celý sloupek pod proudem. Pokud bychom jej místo toho zapojili do řádku 23 v libovolné sekci, tak bude celý řádek dané sekce aktivní, avšak dírky ve stejném sloupci proud vést nebudou, pokud jim ho jinak nedodáme.
Druhá varianta (na rozdíl od té první) nemá dvě postraní úzké sekce a namísto 30 řádků mají širší sekce pouze 17. Funkčně však operují naprosto stejně.
Obrázek nahoře znázorňuje, které dírky jsou spolu propojeny: Dírky, jež jsou propojeny stejně barevnými čarami jsou spolu propojeny. Zbytek neoznačených polí funguje na stejném principu.
LED

LED (známá také jako elektroluminiscenční dioda) je malá součástka vyzařující světlo. Pro svou funkčnost používá LED dioda PN přechodu. Jedná se o rozhraní polovodiče typu P (s přebytkem tzv. valenčních elektronů) a polovodiče typu N (s přebytkem kladných děr). Je-li PN přechod pod proudem, začnou nám volné elektrony "zapadat" do kladných děr a přitom je uvolněno jisté množství energie, projevující se jako záření. Správnými příměsmi do PN přechodu můžeme kontrolovat, v jakých vlnových délkách se nám pohybuje vyzářená energie, a díky tomu určovat, jakou barvou bude LEDka zářit. U LEDek není jedno, jak jsou zapojené. Jedna z nožiček je určena pro vstup energie a druhá pro její výstup. Delší nožička bývá výstupem, a proto, když budete LEDku zapojovat, nezapomeňte, aby vám proud vstupoval dovnitř delší nožičkou.
Rezistor

Rezistor je pasivní elektrická součástka, která se v obvodu projevuje zvýšením odporu. Nejčastěji se do obvodu přidává za účelem snížení proudu na potřebnou úroveň. Pro výpočet funkce jednotlivého rezistoru můžeme použít Ohmův zákon (proud = napětí / odpor), avšak chceme-li použít rezistorů víc, je třeba je správně "zařadit". Pro bližší pochopení tohoto tématu si můžete přečíst třeba tento tutoriál.
Zapojení

Propojte PIN 13 (či jakýkoliv PIN, který si v kódu určíme) a náhodnou řádku na breadbordu (nepájivém poli). Tuto řádku propojte s jinou libovolnou řádkou rezistorem. Do této řádky zapojíme LEDku tak, aby mínusová nožička (většinou ta kratší) vedla do jiné řádky. Nakonec tuto řádku propojíme drátkem s kterýmkoliv PINem na desce označeným nápisem GND (= Ground).
Pro kontrolu zapojení slouží obrázek.
Instalace IDE
Ještě než začneme psát kód, budeme si muset stáhnout a nainstalovat program, ve kterém jej budeme psát. Takovýto druh softwaru se nazývá IDE a slouží pro lepší přehlednost a jednoduchost práce s kódem. Pro účely tohoto tutoriálu budeme používat Arduino IDE. Jedná se o standard na poli tvorby s programovatelnými deskami Arduino. Je zdarma ke stažení na této stránce.
Pokud jste na Windowsu nebo na Linuxu stačí stáhnout soubor s příponou “.zip” určený pro váš systém. Po stažení jej umístěte do vámi vyhrazené složky, klikněte na něj pravým tlačítkem a zvolte “extrahovat vše” (popřípadě jinou formu extrahování souborů). Rozkliknutím souboru “Arduino IDE.exe” se spustí Arduino IDE
Pokud používáte MacOS stáhněte si verzi souboru, která vyhovuje vašemu zařízení. Po dokončení procesu, rozklikněte stažený soubor a v okně, jež se vám otevře, přetáhněte ikonu “Arduino IDE” do složky “Aplikace”. Nyní můžete ze své složky aplikace spustit Arduino IDE.
Kód

Ještě je potřeba nastavit pár věcí.
Nyní připojte desku k počítači, klikněte na nápis "Tools" na vrchní liště aplikace, vyberte "Board" a následně klikněte na "Arduino Uno". Dále opět klikněte na "Tools", poté na "Port" a vyberte z nabízených možností port, na kterém je připojena vaše deska. Pokud nevíte na kterém portu je vaše deska připojena tak ji odpojte a znovu se podívejte na nabídku portů, ten který zmizel je vaše deska, až desku připojíte zpět port se znovu objeví.
A nyní již pojďme psát kód:
Vše napsáno po "//" nebo vepsané mezi "/* */" je comment. To znamená že se nejedná o kód, ale o text napsaný, aby vám pomohl kódu porozumět. Zkuste si jej přečíst a pokusit se pochopit, co se v kódu děje.
// Přidáme knihovnu pro ovládání Arduina pro možnost použití kódu na platformě PlatformIO
#include <Arduino.h>
// Definujeme si, že LEDPIN znamená PIN 13
#define LEDPIN 13
/*
* Tato metoda se spustí jako první, aby vše nastavila
*/
void setup(){
// Nastavíme LEDPIN jako výstupový PIN
pinMode(LEDPIN, OUTPUT);
}
/*
* Tato metoda se spustí jako druhá a bude se do nekonečna opakovat
*/
void loop(){
// Při každém spuštění se zapne LEDka, počká sekundu, znova se vypne a opět počká sekundu
digitalWrite(LEDPIN, HIGH);
delay(1000);
digitalWrite(LEDPIN, LOW);
delay(1000);
}
Nyní klikněte na "Upload" (ikona šipečky) a máte hotovo :D