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.

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.

READ
Co koupel z těla odstraní?

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

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:

READ
Jak skrýt postel v ateliéru?

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.

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í:

READ
K čemu je taburet?

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

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.

READ
Co je dvojité zasklení?

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.

Arduino je kombinací hardwaru a softwaru pro snadný vývoj elektroniky. Hardwarová výbava zahrnuje velké množství typů desek Arduino s vestavěnými programovatelnými mikrokontroléry a také přídavné moduly. Softwarová část se skládá z vývojového prostředí (programy pro psaní skic a flashování mikrokontrolérů Arduino), zjednodušeného programovacího jazyka a obrovského množství hotových funkcí a knihoven.

Arduino vytvořili učitelé, aby studenty více zapojili do elektrotechniky. Nápad měl obrovský úspěch a Arduino šlo mnohem dál. Díky otevřené architektuře může tyto mikrokontroléry vyrábět, rozšiřovat modelovou řadu a psát programy kdokoli. Všechna schémata a zdrojové kódy programů jsou veřejně dostupné.

Poté, co se Arduino rozšířilo, mnoho výrobců elektroniky začalo vyrábět vlastní desky založené na mikrokontrolérech Arduino. Když se do výroby zapojili čínští výrobci, Arduino se stalo mnohem dostupnější a získalo ještě větší publikum. Desky mikrokontroléru Arduino v čínských internetových obchodech stojí od 70 rublů.

Oficiální stránky Arduina

Zpočátku tým učitelů, kteří vyvinuli Arduino, otevřel webovou stránku arduino.cc. Ale kvůli neshodám došlo v roce 2008 k rozkolu v týmu. Část, která se odtrhla, vytvořila další webovou stránku arduino.org. To vedlo ke zmatku kvůli stejným názvům pro různé Arduino, programy a firmware.

Teprve v roce 2017 byl konflikt zcela vyřešen. Zbývá tedy pouze jeden oficiální web: arduino.cc.

Oficiální webové stránky Arduino v ruštině

Arduino je zcela otevřená platforma. Vývojářem a výrobcem se může stát naprosto každý. To znamená, že existuje poměrně málo oficiálních webových stránek.

K čemu je Arduino?

Arduino bylo vytvořeno, aby učilo studenty a školáky elektrotechniku, programování, radioelektroniku a automatizační systémy. Pomocí mikrokontrolérů můžete dělat nejen vzdělávací projekty, ale také opravdu užitečná zařízení. Pomocí Arduina vznikají projekty automatizace, zařízení pro chytrou domácnost, přenosné meteostanice, robotické manipulátory a mnoho dalších užitečných zařízení.

Původním účelem Arduina je učení. Děti mají mnohem větší zájem o učení, pokud mohou nové poznatky okamžitě aplikovat v praxi a dokonce vidět a dotýkat se plodů své práce. Je mnohem zajímavější učit se experimentováním, než poslouchat suchou teorii.

Co umí Arduino?

Z technického hlediska může Arduino přijímat a odesílat signály podle pokynů ve firmwaru. Zní to velmi skromně, ale v praxi to umožňuje přijímat a zpracovávat informace ze senzorů a předávat příkazy akčním členům nebo jiným zařízením. Například: mikrokontrolér může přijímat data ze snímačů teploty, tlaku, vlhkosti a zobrazovat na displeji souhrnné informace.

Tyto schopnosti stačí k implementaci složitých zařízení, jako jsou bezpilotní letadla, 3D tiskárny, robotické manipulátory, rádiem řízená auta, čluny, terénní vozy atd. Možnosti Arduina jsou omezeny pouze představivostí. Pokud vám chybí možnosti Arduina, pak jsou tu výkonnější mikrokontroléry jako Arduino Mega, NodeMCU, STM32, Wemos, Raspberry Pi, Orange Pi.

READ
Jak může zásuvka prasknout?

Začínáme s Arduinem

Abyste mohli začít používat Arduino, musíte si zakoupit Arduino desku nebo Arduino startovací sadu. Doporučuji zvolit Arduino starter kit, jelikož obsahuje nejen Arduino mikrokontrolér, ale také nepájivé prkénko, propojovací vodiče, tlačítka, LED a další díly. S touto sadou budete moci dokončit příklady z lekcí Arduina pro začátečníky. To vám umožní rychle pochopit principy práce s Arduinem.

Po absolvování lekcí budete vědět, jak programovat Arduino, jak si vyměňovat signály s jinými moduly a zařízeními. Budete si moci navrhovat a vytvářet svá vlastní zařízení.

Arduino ide

Chcete-li začít s Arduinem, budete potřebovat speciální software. Toto je prostředí pro vývoj firmwaru Arduino IDE. Tento program usnadňuje a usnadňuje psaní náčrtů a jejich nahrávání do mikrokontroléru Arduino. Vývojové prostředí je již předinstalované s velkým množstvím příkladů a dalších knihoven.

Odkazy ke stažení, pokyny k instalaci a nastavení vývojového prostředí jsou na stránce Arduino IDE.

Mikrokontroléry, moduly a senzory

Existuje několik možností pro mikrokontroléry Arduino. Na této stránce jsme shromáždili většinu desek Arduino. Jsou zde všechny potřebné informace o konkrétních modelech desek Arduino. Najdete zde také požadavky na napájení, charakteristiky a přiřazení pinů konkrétní desky Arduino. Nejběžnějším Arduinem je mikrokontrolér Arduino Uno.

Arduino Uno

Podrobný popis vlastností tohoto mikrokontroléru naleznete zde. Tato deska je skvělá pro většinu aplikací, včetně vzdělávání. Právě pro tuto desku je vytvořena většina rozšiřujících desek (Shield). Pomáhají snadno rozšířit funkčnost desky mikrokontroléru Arduino. Samotné vlastnosti Arduino Uno jsou dostatečné pro většinu projektů. Pro vytváření kompletních zařízení se lépe hodí menší členové rodiny Arduino. Jedná se o desky jako Arduino Nano nebo Arduino Pro Mini.

Projekty Arduino

Arduino projektů je spousta. Lze je rozdělit do kategorií:

  • Zařízení chytré domácnosti
  • CNC stroje
  • Spotřebiče
  • Zabezpečovací systémy
  • Hračky
  • Informační zařízení
  • Dekorativní projekty
  • Gadgety a nositelná zařízení

Pro Arduino existuje obrovské množství návodů a hotových skic. Jakýkoli projekt můžete snadno zopakovat, upravit nebo přizpůsobit svým potřebám. Vše, co potřebujete, je veřejně dostupné. Pomocí Arduina můžete vytvářet vlastní analogy zařízení a ukládat na nich. Inteligentní domácí systémy stojí spoustu peněz, ale s pomocí Arduina můžete snadno vyrobit stejný systém několikanásobně levněji.

Železo

Startovací sada s Arduino Mega a RFID

Jedná se o rozšířenou startovací sadu. Stavebnice obsahuje Arduino Mega R3, vývojové desky, mnoho senzorů, řízené mechanismy a potřebné elektronické součástky. Úplný seznam.

Deska Arduino Uno R3

Arduino Uno je deska založená na mikrokontroléru ATmega328P s frekvencí 16 MHz. Deska má vše, co potřebujete pro pohodlnou a rychlou práci.