V tomto článku jsem se rozhodl dát dohromady kompletního průvodce krok za krokem pro začátečníky s Arduino. Podíváme se na to, co je Arduino, co je potřeba se začít učit, kde stáhnout a jak nainstalovat a nakonfigurovat programovací prostředí, jak funguje a jak programovací jazyk používat a mnoho dalšího, co je nutné k vytvoření plnohodnotného komplexní zařízení založená na rodině těchto mikrokontrolérů.

Zde se pokusím uvést zhuštěné minimum, abyste pochopili principy práce s Arduinem. Pro úplnější ponor do světa programovatelných mikrokontrolérů věnujte pozornost dalším sekcím a článkům tohoto webu. Pro podrobnější studium některých aspektů ponechám odkazy na další materiály na tomto webu.

Co je Arduino a k čemu slouží?

Arduino je elektronická stavebnice, která umožňuje komukoli vytvářet nejrůznější elektromechanická zařízení. Arduino se skládá ze softwaru a hardwaru. Softwarová část obsahuje vývojové prostředí (program pro psaní a ladění firmwaru), mnoho hotových a pohodlných knihoven a zjednodušený programovací jazyk. Hardware zahrnuje velkou řadu mikrokontrolérů a pro ně připravené moduly. Díky tomu je práce s Arduinem velmi snadná!

S pomocí Arduina se můžete naučit programování, elektrotechniku ​​a mechaniku. Ale to není jen vzdělávací konstruktér. Na jeho základě můžete vyrábět opravdu užitečná zařízení.
Počínaje jednoduchými blikajícími světly, meteostanicemi, automatizačními systémy a konče systémy chytré domácnosti, CNC stroji a bezpilotními vzdušnými prostředky. Možnosti nejsou omezeny ani vaší fantazií, protože návodů a nápadů na realizaci je obrovské množství.

Projekty Arduino

Arduino Starter Kit

Abyste se mohli začít učit Arduino, musíte si pořídit samotnou desku mikrokontroléru a další díly. Nejlepší je pořídit si Arduino startovací sadu, ale vše potřebné si můžete vybrat sami. Doporučuji zvolit sadu, protože je to jednodušší a často i levnější. Zde jsou odkazy na nejlepší sestavy a jednotlivé díly, které si určitě budete muset prostudovat:

Základní sada Arduino pro začátečníky: Koupit
Velká sada pro školení a první projekty: Koupit
Sada přídavných senzorů a modulů: Koupit
Arduino Uno je nejzákladnější a nejpohodlnější model z řady: Koupit
Pájecí prkénko pro snadné učení a prototypování: Koupit
Sada vodičů s pohodlnými konektory: Koupit
LED sada: Koupit
Sada rezistorů: Koupit
Tlačítka: Koupit
potenciometry: Koupit

Vývojové prostředí Arduino IDE

Chcete-li psát, ladit a stahovat firmware, musíte si stáhnout a nainstalovat Arduino IDE. Jedná se o velmi jednoduchý a pohodlný program. Na svém webu jsem již popsal proces stahování, instalace a konfigurace vývojového prostředí. Proto zde jednoduše ponechám odkazy na nejnovější verzi programu a na článek s podrobnými pokyny.

READ
Jak se vyhnout hluku v bytě?

Programovací jazyk Arduino

Když máte v rukou desku mikrokontroléru a na počítači nainstalované vývojové prostředí, můžete začít psát své první skici (firmware). Chcete-li to provést, musíte se seznámit s programovacím jazykem.

Programování Arduino využívá zjednodušenou verzi jazyka C++ s předdefinovanými funkcemi. Stejně jako v jiných programovacích jazycích podobných C i zde existuje řada pravidel pro psaní kódu. Zde jsou ty nejzákladnější:

  • Za každou instrukcí musí následovat středník (;)
  • Před deklarací funkce musíte určit datový typ vrácený funkcí, nebo void, pokud funkce nevrací hodnotu.
  • Před deklarací proměnné je také nutné uvést datový typ.
  • Komentáře jsou označeny: // Inline a /* blok */

Více o datových typech, funkcích, proměnných, operátorech a jazykových konstrukcích se můžete dozvědět na stránce programování Arduina. Všechny tyto informace si nemusíte pamatovat a pamatovat si je. Vždy můžete přejít do referenční knihy a podívat se na syntaxi konkrétní funkce.

Veškerý firmware Arduino musí obsahovat alespoň 2 funkce. Jsou to setup() a loop().

funkce nastavení

Funkce setup() se provede na úplném začátku a pouze jednou ihned po zapnutí nebo restartu zařízení. Tato funkce obvykle deklaruje režimy pinů, otevírá potřebné komunikační protokoly, navazuje spojení s přídavnými moduly a konfiguruje připojené knihovny. Pokud váš firmware nepotřebuje nic takového dělat, pak by měla být funkce stále deklarována. Zde je standardní příklad funkce setup():

V tomto příkladu je sériový port jednoduše otevřen pro komunikaci s počítačem a piny 9 a 13 jsou přiřazeny jako vstup a výstup. Nic složitého. Pokud ale něčemu nerozumíte, vždy se můžete na něco zeptat v komentářích níže.

funkce smyčky

Funkce loop() se provede po funkci setup(). Loop v překladu z angličtiny znamená „smyčka“. To znamená, že funkce je zacyklená, to znamená, že se bude spouštět znovu a znovu. Například mikrokontrolér ATmega328, který se nachází ve většině desek Arduino, provede funkci smyčky asi 10 000krát za sekundu (pokud se nepoužívají zpoždění a složité výpočty). Díky tomu máme velké možnosti.

Breadbord vývojová deska

Můžete vytvářet jednoduchá i složitá zařízení. Pro pohodlí doporučuji zakoupit prkénko a propojovací vodiče. S jejich pomocí nemusíte pájet a přepájet dráty, moduly, tlačítka a senzory pro různé projekty a ladění. S nepájivým prkénkem je vývoj jednodušší, pohodlnější a rychlejší. V této lekci jsem vám řekl, jak pracovat s prkénkem. Zde je seznam nepájivých prkének na krájení:

800 bodová vývojová deska se 2 napájecími lištami, napájecí deskou a vodiči: Koupit
Velká 1600 bodová vývojová deska se 4 napájecími kolejnicemi: Koupit
Vývojová deska pro 800 bodů se 2 napájecími kolejnicemi: Koupit
Vývojová deska pro 400 bodů se 2 napájecími kolejnicemi: Koupit
Vývojová deska za 170 bodů: Koupit
Propojovací vodiče 120 kusů: Koupit
READ
Jak správně položit polykarbonátové desky na skleník?

První projekt na Arduinu

Pojďme postavit naše první zařízení založené na Arduinu. K Arduinu jednoduše připojíme tlačítko hodin a LED. Schéma projektu vypadá takto:

ovládání jasu LED

ovládání jasu LED

Všimněte si přídavných rezistorů v obvodu. Jeden z nich omezuje proud pro LED a druhý přitahuje kontakt tlačítka k zemi. V této lekci jsem vysvětlil, jak to funguje a proč je to potřeba.

Aby vše fungovalo, musíme napsat náčrt. Necháme, aby se LED po stisknutí tlačítka rozsvítila a po dalším stisknutí zhasla. Zde je naše první skica:

V tomto náčrtu jsem vytvořil další funkci odskoku pro potlačení odskoku kontaktu. Na mém webu je celá lekce o odskoku kontaktů. Tento materiál si určitě prohlédněte.

PWM Arduino

Pulzní šířková modulace (PWM) je proces řízení napětí pomocí pracovního cyklu signálu. To znamená, že pomocí PWM můžeme plynule ovládat zátěž. Například můžete plynule měnit jas LED, ale tato změna jasu se nedosáhne snížením napětí, ale zvýšením intervalů nízkého signálu. Princip činnosti PWM je znázorněn na tomto obrázku:

PWM Arduino

Když na LED přiložíme PWM, začne rychle svítit a zhasínat. Lidské oko to nevidí, protože frekvence je příliš vysoká. Při natáčení videa ale s největší pravděpodobností uvidíte okamžiky, kdy LED dioda nesvítí. K tomu dojde za předpokladu, že snímková frekvence kamery není násobkem frekvence PWM.

Arduino má vestavěný modulátor šířky pulzu. PWM můžete použít pouze na těch pinech, které jsou podporovány mikrokontrolérem. Například Arduino Uno a Nano mají 6 PWM pinů: jedná se o piny D3, D5, D6, D9, D10 a D11. Piny se mohou na jiných deskách lišit. Popis desky, o kterou máte zájem, najdete v této sekci.

Pro použití PWM má Arduino funkci analogWrite(). Jako argumenty se používá číslo PIN a hodnota PWM od 0 do 255. 0 je 0 % vysoká výplň a 255 je 100 %. Napíšeme si jednoduchý náčrt jako příklad. Necháme LED diodu plynule svítit, počkáme jednu sekundu a stejně plynule zhasne a tak dále do nekonečna. Zde je příklad použití této funkce:

Arduino analogové vstupy

Jak již víme, digitální piny mohou být jak vstupní, tak výstupní a přijímat/udávat pouze 2 hodnoty: HIGH a LOW. Analogové piny mohou pouze přijímat signál. A na rozdíl od digitálních vstupů měří analogové vstupy napětí příchozího signálu. Většina desek Arduino má 10bitový analogově-digitální převodník. To znamená, že 0 je čteno jako 0 a 5 V je čteno jako 1023. To znamená, že analogové vstupy měří napětí na ně přivedené s přesností 0,005 voltu. Díky tomu můžeme připojit různé senzory a rezistory (termorezistory, fotorezistory) a číst z nich analogový signál.

READ
Jak se starat o Begonia, aby kvetla?

Pro tyto účely má Arduino funkci analogRead(). Připojíme například fotorezistor k Arduinu a napíšeme jednoduchý náčrt, ve kterém načteme hodnoty a pošleme je na monitor portu. Takto vypadá naše zařízení:

Připojení fotorezistoru k Arduinu

Připojení fotorezistoru k Arduinu

Obvod obsahuje stahovací odpor 10 kOhm. Je potřeba zabránit rušení a rušení. Nyní se podívejme na skicu:

Takto jsme vyrobili světelný senzor ze dvou jednoduchých prvků a čtyř řádků kódu. Na základě tohoto zařízení můžeme vyrobit chytrou lampu nebo noční světlo. Velmi jednoduché a užitečné zařízení.

Podívali jsme se tedy na základy práce s Arduinem. Nyní můžete vytvářet jednoduché projekty. Chcete-li pokračovat v učení a zvládnout všechny jemnosti, doporučuji vám přečíst si knihy o Arduinu a absolvovat bezplatný školicí kurz. Poté budete schopni dělat ty nejsložitější projekty, na které si vzpomenete.

19 komentáře

Dobré odpoledne, dámy a pánové!
Velmi zajímavá stránka. Mnoho užitečných informací a prezentace materiálu je klidná.
Mám rád.
Mám otázku. Mám pocit, že jsem našel kompetentní specialisty.
Na Ali jsem si koupil techniku ​​čínského zázraku – laserový rytec-vypalovač (2 Watty).
Ovládací deska Arduino Nano, ovladače motoru na červených šátcích.
Popis je jako obvykle slabý, informativní. Ano, vše je v čínštině. Začal jsem to zjišťovat.
Sestavil jsem to, auto začalo fungovat a začalo se kouřit. Opravil jsem konfiguraci a udělal inverzi na jedné ose.
Nejhorší je software. Prostě zajíčky spalte. Rozhodl jsem se pro změnu.
Nahrál jsem GRBL v1.1, vzal program LaserGRBL (nejnovější verze).
Program viděl, že zařízení připojené ke COM ožilo, měli byste být šťastní, ale ne.
G-kód je připraven správně, ale příkazy pro zapnutí M3 a vypnutí M5 laseru, které jsou zapsány v kódu, se neprovedou.
Laser se zapne po zapnutí zařízení a zůstane zapnutý po celou dobu, i když je zastaven (G-kód se ještě nespustil, nedochází k žádnému pohybu). Když se laser rychle pohybuje po vzoru, nevypne se a neustále hoří a kreslí za ním vypálenou čáru.
Prosím, řekněte mi, jak vypnout laser podle G-kódu? Jak donutit zařízení, aby provedlo příkazy G-kódu M3 a M5? Zkoušel jsem v konfiguraci nastavit jak $32=1, tak $32=0 – vůbec to nereagovalo. Hoří nepřetržitě. Přeflashoval jsem v1.1 – je to k ničemu.
Už je mi 65 let. Na důkladné prostudování Arduina není čas. Říkají, že laserové příkazy nejsou přijímány.
Ano, tomu rozumí i ježek. Jak to lze opravit? V nastavení jsem odškrtl políčko PWM.
Prosím řekni mi.
S pozdravem Vladimír

READ
Jaké jsou technické způsoby ochrany před úrazem elektrickým proudem?

faktem je, že je snazší napsat nový firmware než porozumět firmwaru, a k tomu musíte pochopit, jak vaše zařízení funguje! těch. Programátor a uživatel musí spolupracovat!
není jiná cesta!
nebo 2. způsob – studujte programování a sami si napište, co potřebujete!
Věřte mi, není to tak těžké!

Pěkné stránky. Děkuji.

Děkuji autorovi za užitečnou práci.
Pomáhat lidem učit se je to nejlepší, co člověk může udělat.

Co je Arduino?

Mnozí již slyšeli o platformě Arduino, ale co to je a proč? Arduino je nejdynamičtěji se rozvíjející a přístupná platforma s nízkou bariérou vstupu, která je dostupná jak pro začátečníky a ty, kteří dělají první krůčky v programování, tak i pro profesionály. Pojďme zjistit, jak to funguje a proč je tak populární.

Možnosti

Platforma Arduino je kombinací Arduino IDE a prototypových modulů založených na mikrokontroléru. Ve skutečnosti je Arduino nejjednodušším elektronickým návrhářem pro vytváření hotových zařízení z jednotlivých modulů. Arduino je velmi populární po celém světě díky svým řadičům, modulům a štítům.

Arduino není jen univerzální mikrokontrolér, který lze v minimálním čase přizpůsobit jakémukoli projektu. Toto je nejjednodušší a nejsnáze se naučit Arduino IDE, které slouží k zapojení do programování a robotiky a také k rychlému vývoji projektů. Na základě Arduina si můžete postavit 3D tiskárnu nebo CNC stroj. To vše se děje díky tomu, že platforma Arduino má jednu z největších komunit a je k dispozici obrovské množství příkladů, návodů a hotových knihoven pro vývoj.

moduly Arduino

Základní moduly řadiče Arduino jsou široce používány díky své všestrannosti. Populární desky Arduino Uno a Leonardo mají dostatečnou sadu periferií, desky Mega a Due pak rozšířenou sadu. Dokonce i kompaktní moduly jako Pro, Micro a Nano jsou vhodné pro váš vlastní projekt. Nedávno se objevily moduly Mega s nainstalovaným SoC ESP8266 a bezdrátovým připojením Wi-Fi na palubě.

Moduly Arduino jsou desky s vestavěným procesorem, pamětí a periferiemi, které umožňují implementovat základní funkcionalitu pouze pomocí jedné desky. Pro rozšíření možností jsou zde další štítové moduly, které spolupracují s motory a senzory různých typů a jsou také schopny číst a zapisovat na paměťové karty a disky, podporují USB Host a umí pracovat s Ethernetem, Bluetooth a Wi-Fi. Rozšiřující moduly na průmyslové úrovni jsou galvanicky izolované a moduly pro chytrou domácnost jsou vhodné pro prototypování zařízení IoT (Internet of Things). Můžete si dokonce vytvořit svůj vlastní webový server založený na Arduinu.

READ
Jak používat lepidlo na sádrokarton?

Dnes existuje mnoho původních odrůd a oblíbených klonů a také obrovské množství kompatibilních modulů štítu. Věnujte pozornost zobrazenému Arduino Nano – jedná se o kompaktní modul s 8bitovým řadičem, na jehož desce je umístěna slušná sada periferií (analogově-digitální převodníky, generátory a časovače PWM, sériová rozhraní atd.).

Pro prototypování a školení je k dispozici obrovský arzenál periferií. Jedná se o různé senzory, většinu typů senzorů a akčních členů, různé displeje, moduly vyrovnávací paměti a zesilovače, ovladače motorů, moduly pro bezdrátovou komunikaci a ovládání. Moduly jsou kombinovány s hlavní řídicí deskou a poté konfigurovány v Arduino IDE.

K vytváření projektů nejsou vyžadovány žádné speciální dovednosti, protože speciální softwarový shell Arduino IDE, který komunita neustále aktualizuje, se používá k vytváření programů náčrtu (firmwaru) pro mikrokontroléry Arduino a také k připojení, načtení kódu a sledování dat. výměna. Dnes má Arduino IDE vysoce kvalitní doplňky a rozšíření, včetně těch, které umožňují programování 32bitových mikrokontrolérů. Pro práci s deskami Arduino nepotřebujete speciální bootloader-debugger nebo programátor, veškerá hlavní práce se provádí pomocí platformy Arduino.

Robotické stavebnice Arduino poskytují prvotní pochopení principů fungování a řízení, zpětné vazby a zpracování signálů ze senzorů – to je ideální možnost pro první krůčky v robotice a učení se programování jednoduchých algoritmů.

Základní mechanismus lze vytvořit pouze se dvěma servy a dvěma analogovými zdroji signálu pro ovládání. Prototyp ani nevyžaduje pájecí příslušenství – celý projekt je sestaven na nepájených deskách Arduino.

Arduino tak může být dostupnou platformou pro první kroky k výuce programování: existuje mnoho zajímavých sad modulů a základních projektů pro děti i dospělé.

Co může být lepšího a zajímavějšího než večer sestavit řízeného robota nebo auto? Možnosti prostředí Arduino zároveň umožňují profesionálům vyvíjet aplikační projekty pro průmyslovou automatizaci a chytré domácnosti. Arduino je otevřená platforma a i vy se můžete stát vývojářem, vytvořit si vlastní projekt a připojit se ke komunitě Arduino.