Jak funguje Arduino

Úvod

Na světě pravděpodobně existuje spousta lidí, kteří a Arduinem programují, ale neví, jak funguje a z čeho se skládá. Proto jsme vydali tento článek, popisující funkci Arduina a jeho části.

Komponenty

Arduino není jen mikrokontrolér, ale také několik součástek, které potřebuje mikrokontrolér ke svému "životu". Níže vidíte obrázek Arduina Uno:

  1. Mikrokontrolér
  2. LED ukazující sériovou komunikaci. "TX" svítí, když jsou odesílána data z Arduina, a "RX" svítí, když Arduino data přijímá.
  3. LED připojená k digitálnímu pinu 13. Bliká vždy po restartu Arduina. Dá se také použít při testování funkčnosti Arduina.
  4. LED označující připojení Arduina k napájení. Svítí vždy, pokud má Arduino přísun elektřiny.
  5. USB ↔ UART převodník. Využívá se při komunikaci Arduina s počítačem.
  6. USB port. Slouží k napájení a programování Arduina. Jeho datové vodiče vedou k USB převodníku. (5)
  7. Tlačítko Reset. Po jeho stisku Arduino opětovně naběhne.
  8. Napájecí konektor pro externí zdroj. Jeho doporučené napětí je 7 - 15 voltů.
  9. Analogové piny. Využíváme je, pokud potřebujeme, aby Arduino četlo analogovou hodnotu. Jdou též využít jako digitální piny.
  10. Napájecí piny. Pin GND je zemnicí pin, 5V je spojený s kladným pólem procesoru, 3V3 je napojený na interní stabilizátor a IOREF má napětí takové, jaké mají digitální piny mikrokontroléru nastavené na HIGH.
  11. Digitální piny. Mohou buď číst digitální hodnotu, nebo mohou být ovládány mikrokontrolérem.
  12. ICSP hlavice mikrokontroléru. Lze ji využít k nahrání bootloaderu, nebo také na programování mikrokontroléru pomocí programátoru.
  13. ICSP hlavice převodníku. Zkušení programátoři ji mohou využít, potřebují-li přeprogramovat USB ↔ UART převodník.
  14. Napěťový regulátor. Je připojen na konektor pro externí napájení(8), a dodává snížené napětí do Arduina.
  15. Krystal. Dodává mikrokontroléru taktovací frekvenci a zkušení vývojáři mohou výměnou krystalu zvýšit rychost Arduina.

Princip funkce

V mikrokontroléru je velmi těsně "namačkaná" spousta součástí. Nejdůležitější je centrální operační jednotka (CPU), která přímo komunikuje s pamětmi RAM a Flash. Toto jádro vykonává program, který nahrajeme do Flash paměti. Dále se na hlavni sběrnici mikrokontroléru nachází jednotka přerušení, která dokáže přerušit hlavní program, a přimět CPU k vykonání rutiny přerušení. Popisem funkce mikrokontroléru se zabývat nebudu, o tom časem napíšu jiný článek. Podíváme se spíše na další součástky Arduina, které zabezpečují fungování mikrokontroléru. Například stabilizátor napětí. Při připojení vstupu "VIN" na vyšší napětí, než je 5 voltů, snižuje přivedené napětí na 5 voltů, aby nedošlo ke spálení mikrokontroléru a dalších napěťově citlivých součástek.
Další důležitou součástkou je USB ↔ UART převodník. Slouží ke komunikaci Arduina s USB portem. Při běžném nahrávání programu přes něj jde celý program.
Nejdůležitější součástkou na desce je mikrokontrolér. Bez něj je Arduino k ničemu, jelikož mikrokontrolér zpracovává program, ovládá PINy a program se nahrává právě do něj.
LED na desce mají různý účel ale nejsou pro funkci důležité. Bez konektorů by Arduino také fungovalo, bez PINů také, a takových nedůležitých součástek.
Ovšem krystal je jednou z "životně" důležitých součástek, protože dodává mikrokontroléru (spolu s dvěma kondenzátory) taktovací frekvenci.

Vysvětlení pojmů

USB
USB je zkratka z angličtiny (Universal Serial Bus) čili univerzální sériová sběrnice. Kromě toho jde také o standard konektorů, USB - micro či USB - C má většina z nás v mobilním telefonu. Arduino má nejčastěji USB - B (je instalováno také na našem Arduinu Uno).
UART
UART označuje sběrnici, kterou má každé klasické Arduino na pinech 1 a 0. Jeden pin slouží pro příjem (RXD nebo RX) a druhý pro odesílání (TXD nebo TX).
LED
Z angličtiny Light Emitting Diode. Označuje polovodičovou diodu emitující světlo. Existují také speciální světelné diody emitující infračervené nebo ultrafialové světlo.
GND
Z anglického Ground - zem. Používá se pro pin minus, nebo také zemnicí pin.
ICSP
Z angl. In Circuit Serial Programming. Označuje standardizovanou skupinu pinů určenou pro programování.
HIGH, LOW
Označuje napěťovou úrověň digitálních pinů. HIGH je vysoká hodnota (jde o napěťovou úroveň logiky, na které běží celé Arduino, USB převodník, diody, mikrokontrolér...), LOW je 0 voltů.
Logic level
viz HIGH, LOW

Názory uživatelů

Elektron29
Jednoduché, přehledné, bezchybné. Pro začátečníky ideální.
Arduino je i přes svou láci (malou cenu) velmi užitečný procesor, který dokáže řídit mnoho zařízení.
EM
Tata
Milá redakce,
pěkný web, jen tak dál :-)
T.
Jutta
Bezva stránky!

Novinky

Tinylab budík

Nedávno jsem vydal článek o budíku řízeném Arduinem, co je založený na desce Tinylab. Tento článek popisuje všechny funkce budíku i desku Tinylab.
Články Tmavý režim
Používáním tohoto webu souhlasíste se shromažďováním údajů o vás. Více informací