Dostala se mi do ruky krásná hračka. Jmenuje se Arduino Starter Kit. Jedinej problém je, že o elektřině vím jen tolik, že bych bez ní nepřežil. Mno dobrá, ... mám ještě mlhavou představu o tom, co je odpor, vím že existuje + a -, ale to je opravdu zhruba všechno.
S tímhle základem se pouštět do hraní asi nebude úplně lehký, ale nikdy není pozdě se něco zajímavýho naučit. Rozhodl jsem se teda, že si svý učení budu pokud možno zaznamenávat ve formě blogu a tak pomůžu při tomhle procesu nejenom sobě, ale třeba i podobně nevzdelanýmu zoufalci jako jsem já sám. Jedná se teda o blog k tématu, o kterým nevím zhola nic, což mi samo o sobě přijde docela zajímavý. Předpokládám, že jak budu postupem času získávat víc a víc informací a zkušeností, budu jednotlivý příspěvky doplňovat, opravovat, zpřesňovat atd. Teda pokud mi vůle se do tohodle vůbec pouštět vydrží. Tak teda vzhůru do toho!
![]() |
| Arduino Uno |
Základ:
Základem všeho je základní deska jednoduchýho počítače - Arduino Uno. Prozatím vím jen tolik, že je to open source platforma, jejíž základem je Atmel AVR ATMega 328, což je údajně mikrokontroler. S tímhle slovem se setkávám poprvé a vysvětluju si to tak, že je to vlastně procesor, (8 bit RISC) kterej má v sobě EEPROM, 32KB flash paměti, desetibitovej A/D převodník, interní oscilátor (což je věc, která udává takt a kterou jsem se kdysi dávno pokoušel napájet na turbokartu pro Amigu, v naději, že dostanu pár MHz navíc) a mhoho dalších věcí, kterejm vůbec nerozumím a je to ten největší tmavej šváb s dvacetiosmi nožkama, co je na desce. Podle Wikipédie má mít až 20MHz, což je oprotí základu zmíněný Amigy úctyhodný ale zdá se mi, ze tady je oscilátor (ta věc co na sobě má napsáno T 16.000) na 16MHz.
Ten velkej stříbrnej box, pod tlačítkem reset v levým horním rohu fotky je USB připojení k počítači, kterým se to následně celý programuje a napájí. Ta menší černá věc vlevo dole, je externí napájení - 7-12V.
![]() |
| Digitalní I/O |
Deska má tři skupiny pinů , digitální, analogový a na napájení. Ty digitální jsou očíslovaný 0 - 13, a vypadá to, že jich není čtrnáct jen náhodou. Dávaj přístup k jedné straně pinů na procesoru - kontroleru a protože jsou digitální, předpokládám, že dávaj hodnotu 0 nebo 1. Ty s vlnovkou u čísla, teda piny 3,5,6,9,10 a11 používaj jakousi modulaci. Dočetl jsem se, že se to používá pro přenos analogovyho signálu digitálním kanálem. Představuju si to tak, že rozsah 0 - 5V, se kterám to pracuje je jakoby 0-100% signálu a podle hodnoty napětí se člověk dostane k vice, než jen dvěma stavům ano/ne. Ale zatím nevím. :-)
Pin 0 a 1 u sebe maj značku TX a RX. Jsou to zkratky pro Transmit a Receive, což naznačují i šipky.
TX a RX mají na desce i svý kontrolky.
![]() |
| kontrolky TX a RX |
Pak zbývá GND, což je zem (uzemnění) čemuž zatím nerozumím a beru to jenom jako nutnost, což možná stačí a nakonec AREF, což by měla být zkratka pro analogovou referenci a představuju si to podobně, jako je ta modulace u pinů s vlnovkou.
![]() |
| Analog a napájení |
Analogový vstup A0 - A5 dává přístuk k desetibitovému A/D převodníku, takže se tím dá analogovej signál s nekonečným množstvím hodnot převést do digitální podoby.Poslední část je napájení, kde je to vcelku jasný (IOREF a Vin zatím nechám bez povšimnutí).
To by bylo k základní desce zatím asi všechno. Další důležitou částí je breadboard (netuším, jak se to řekne česky), kde se navrhují obvody bez nutnosti pájet nebo "drátovat".
![]() |
| breadboard |
Aby se to všechno nepovalovalo jen tak po stole a nedošlo třeba k nějakýmu zkratování atp, dodává se k tomu všemu ještě kus prořezaný praktický překližky, kam se celá základni deska přišroubuje a vedle ni se přilepí breadboard. Pak už stačí jen nainstalovat software z http://arduino.cc/en/Main/Software propojit pomocí dodanýho USB kabelu všechno je připravený. Zbejvá jenom maličkost, porozumět tvorbě elektrickejch obvodů, elektronickejm součástkám a naučit se trošku programovat. :-)
![]() |
| základ |
Součástky:
Kapacitor:
V balení je několik druhů kapacitorů (kondenzátorů). Manuál říká, že je to součástka, která ukládá a uvolňuje el. energii v el. obvodu a že když je napětí v obvodu vyšší než co je uloženo v kapacitoru, pak se kapacitor nabíjí a naopak. Dává se k seznorům nebo motorům a pomáha zajistit stálou hladinu bez fluktuací v napětí. Hmm ...
![]() |
| Kapacitory |
Dioda:
Wikipedie říká, že jde o jakousi součástku "jednosměrku". Z jedné strany prochází proud prakticky bez odporu a z druhé strany je téměř nevodivá, což teda znamená, že záleží na její orientaci v obvodu. Anoda se prý většinou připojuje k "power", katoda k zemění a katoda bejvá označená (nejčastěji pruhem).
![]() |
| Diody |
Rezistor:
V balení je k nalezení sedm druhů odporů, který se používaj ke snížení napětí nebo proudu. Jsou pěkně počmáraný a podle toho se pozná, jakou mají hodnotu. K tomu účelu je vymyšlenej docela pěknej systém, kde si člověk u návrhu započítá.
![]() |
| Přibalený rezistory |
To mě vede k myšlence, že si asi barvoslepej člověk musí před návrhem obvodu svý odpory pečlivě popisovat nebo by si je jinak musel vyváženě fotit a pak zdlouhavě analyzovat v nějakým tom grafickým editoru. :-)
![]() |
| rezistory v reálu |
LEDky:
Dále tu jsou čtyři druhy LED diod - (btw, nemělo by se spíš říkat LE diod?), u kterejch je dobrý vědět, že anoda, která se připojuje k "power" má obvykle o něco málo menší nožku než katoda.
![]() |
| LEDky |
Potenciometr:
Tahle součástka je myslím něco jako dynamickej rezistor a narozdíl od předešlejch součástek má o jednu nožku víc. Pokud tomu dobře rozumím tak manuál říká, že dva piny, který jsou na jedný straně se připojují k napětí a k zemi a ten prostřední pin, na druhý straně součástky, pak dává napětí podle pozice jezdce potenciometru. Prostě podle toho, jak je potenciometr nastavenej.
![]() |
| Potenciometr |
Motory:
Pak tu máme dva motory. Jeden normální DC motorek, o kterým myslím nemá cenu nic psát protože ho zná každej, kdo měl někdy v dětství třeba autodráhu a jeden servo motor. Na servomotorku je zapojení popsaný a umí prý jen 180 stupňů. Kromě pár spínačů, hromady drátků a jinejch drobností je to z toho základu asi všechno.
![]() |
| motory |
Přituhuje!
H bridge:
Tohle by měl bejt nějakej integrovanej obvod, kterej řeší například polaritu napětí. Dokáže udělat ze spínače přepínač, obracet chod motoru a ostatní aplikace, který jsem viděl jsou na mě (doufám jen prozatím) příliš komplikovaný, takže se tím nemá smysl v tuto chvíli zabývat. Ale je fajn vědět, že to tu je a je to k dispozici.
![]() |
| H-bridge |
Optocoupler (optočlen):
Wikipedie říká, že je to součástka, která slouží ke galvanickému oddělení dvou obvodů. jak jsem se dočetl, galvanický oddělení znamená, že mezi obvody není vodč a přesto se sdílí nějakej signál což se udajně hodí, když maji tímhle způsobem propojené obvody rozdílný napětí. Opět, teď opravdu nemá smysl se tím víc zabejvat.
![]() |
| Optočlen |
LCD:
Alfanumerickej diplej, kterej dokáže zobrazit 2x 16 znaků.
Displej má piny 1- 16 a jsou to následující:
![]() |
| Piny LCD displeje |
Dál to nebudu prozatím zkoumat.
![]() |
| LCD |
Tranzistory:
Polovodič, kterej může fungovat jako elektronickej přepínač. Jeden pin se připojuje k zemi, druhej ke komponentu, který mám být tranzistorem kontrolován a třetí k Arduinu. Když je komponent pod napětím na pinu, připojeným k Arduinu, je obvod uzavřen. nemám zatím nejmenší tušení, o co jde i když vím, že jsou toho plný mikroprocesory. To je hanba!
![]() |
| Tranzistor |
Senzory a jiný komponenty:
Fotorezistor - (fotobuňka):
Tomuhle znova alespoň trošku rozumím. :-) Je to v podstatě odpor, jehož hodnota je zavislá na míře dopadajícího světla na jeho povrch.
![]() |
| Fotobuňka |
Piezo:
Tak tohle jsem ani nikdy neslyšel. Manuál píše, že je to komponent, kterej umí detekovat vibraci a vytvářet šum. Wikipedie říká, že je to krystal, kterej se pod elektrickým napětím deformuje a naopak, že za to může piezoelektrický jev a že se něco takovýho používá v gramofonový přenosce, což dává docela smysl.
![]() |
| Piezo |
Termo senzor:
Mění výstupní napětí v závisloti na teplotě senzoru. Krajní nožky se připojují na zem a "power" a prostřední je výstup napětí v s ohledem na teplotu.
![]() |
| Termo senzor |
Tilt senzor:
Tohle je spínač, kterej se zapíná nebo vypíná s ohledem na svoji orientaci.
![]() |
| Tilt senzor |
To je z harware asi všechno podstatný a zbejvá nainstalovat software, kterej se dá pořídit na adrese http://www.arduino.cc v sekci download a umožní nahrávat vlastní program.
Software:
Udajně je ovládací jazyk podobnej C++, což já rozhodně neposoudím, protože jediný co vím, že C++ existuje a je to asi nejpoužívanější dospělej jazyk rp větší projekty.. teda k mý škodě, žádný skriptování. Souborům, který to produkuje říkají sketch, a mají příponu *.ino.
![]() |
| Programovací prostředí |
Syntax, teda způsob zápisu programovacího jazyka, si představuju něco jako gramatiku u běžnýho jazyka. To zvládám v omezený míře jen u češtiny a předpokládám, že se ji naučím asi tak, jak znám gramatiku anglickou. Teda naprostý základy, který mi stačí k tomu se dorozumět na tý nejzákladnější úrovni a nevadí, že nikdy nebudu číst Shakespeara v originále. Neplánuju, že bych někdy skutečně něco programoval.
Nejlepší asi bude zkusit zkopírovat nějakej ten už existující a dobře popsanej přiklad. Předtím je ale taky dobrý znát úplnej základ. Jako dobrej způsob, než si to zapamatuju, mi přijde napsat si to přímo do sketche.
![]() |
| základy syntaxe |
Proměnné:
Aniž bych kdy napsal řádek kódu, vím co je proměnná a že se hojně používá. Viděl jsem skvělej příklad, jak si ji představit. Příklad říká:
Proměnná je nástroj, jak přenést nějaký data z jedné části programu do další části programu a lze si to představit jako nádobu, která může obsahovat různý množství jednoho typu věcí. To znamená, že proměná má nějakej parametr, kterej určuje o jakej typ dat jde, protože když bych se vrátil k příkladu s nádobou ve který by byla například mouka, nemůžu do ní lít vodu (to uz by nebyla voda ani mouka ale těsto), ale zase jen mouku, byť by byla tentokrát jiná. Jinejma slovama můžeme z nádoby mouku brát a nebo ji tam přidávat, ale vždycky jenom mouku.
Tady je přiklad. To první slovo na prvním řádku definuje typ proměnné. V tomhle případě je to celé číslo (integer), takže proměnná je tohodle typu a může obsahovat jen celá čísla a druhé slovo je její název. Je dobrým zvykem to pojmenovávat tak, aby to alespoň trošku dávalo smysl. Celý je to uzavřený středníkem a tím je hotový zavedení proměnný.
V druhým řádku se do už zavedený proměnný dává konkrétní hodnota, v tomhle případě 13. Proměnná mojeCislo teda obsahuje číslo 13. Tomu se říká inicializace. Zase to musí bejt ukončený středníkem.
Proměnná může mít téměř libovolný jméno ale i tak tu pár limitů je. Nemůže obsahovat mezeru v názvu, některý speciální znaky a taky se logicky nemůže jmenovat jako už existující příkaz.
Tohle se dá udělat i na jeden řádek (že se deklaruje typ, zavede jméno a rovnou inicializuje) a zápis by pak vypadal takhle:
int mojeCislo = 13;
Arduino má zdá se tyhle typy proměnných:
char
byte
int
unsigned int
long
unsigned long
float
double
Některý jsou na první pohled jasný (například se dá předpokládat že char bude od slova character/znak) a zbytek se dá dohledat.
OK, první program ever! :-)
Připravit desku, ledku, a jeden 220 Ω rezistor.
Program vychází z dodanejch příkladů a je jenom trošku upravenej, abych si vyzkoušel práci s proměnejma a jestli to vůbec funguje.
![]() |
| První program ever! |
Jsem si docela jistej, že to jde napsat optimálněji a že první a třetí část se může klidně opakovat. To ale ještě nevím jak udělat. Mno, není všem dnům konec.

























