• Příklady Arduina. Programovací jazyk Arduino

    Po seznámení se základními prvky Arduina a napsání programu „Hello World!“ je čas seznámit se s programovacím jazykem.

    Struktura jazyka je založena především na C/C++, takže ti, kteří dříve programovali v tomto jazyce, nebudou mít žádné potíže se zvládnutím programování Arduino. Zbytek by se měl naučit základní informace o ovládacích příkazech, datových typech a funkcích.

    Mnoho zde obsažených informací bude kompatibilní s jakýmkoliv kurzem C/C++, s výhradou rozdílů v datových typech, stejně jako s několika konkrétními pokyny týkajícími se programování I/O portů.

    Základy základů

    Pár formálních věcí, tedy těch, o kterých každý ví, ale občas zapomene...

    V Arduino IDE, stejně jako v C/C++, si musíte být vědomi velikosti písmen. Klíčová slova jako if, for jsou vždy psána malými písmeny. Každá instrukce končí ";". Středník říká kompilátoru, kterou část má interpretovat jako příkaz.

    Závorky (..) se používají k označení programových bloků. Používáme je k vymezení těla funkce (viz níže), cyklů a podmíněných příkazů.

    Je dobrým zvykem přidávat komentáře k obsahu programu, díky tomu je kód snadno srozumitelný. Jednořádkové komentáře začínají na // (dvojité lomítko). Víceřádkové komentáře začínají na /* a skončit s */

    Pokud chceme do našeho programu zahrnout jakoukoli knihovnu, použijeme příkaz include. Zde jsou příklady připojení knihoven:

    #zahrnout // standardní knihovna #include "svoya_biblioteka.h" // knihovna v adresáři projektu

    Funkce v Arduinu

    Funkce (podprogram) je samostatná část programu, která provádí nějakou operaci. Funkce se používají ke zjednodušení hlavního programu a zlepšení čitelnosti kódu. Je užitečné používat funkce, protože je můžeme snadno použít v mnoha našich projektech.

    Standardní kurz programování obsahuje informace o funkcích, které si představíme v následujících článcích. V případě Arduina budou funkce probrány na začátku, protože i ten nejjednodušší program musí mít dvě speciální funkce. To již bylo zmíněno v předchozích článcích, ale zde tyto informace systematizujeme.

    Deklarace funkce

    Schéma deklarace funkce vypadá takto:

    Zadejte název_funkce(parametr) ( // instrukce k provedení (tělo funkce) return (/* návratová hodnota*/); )

    typ je název libovolného dostupného datového typu v daném programovacím jazyce. Seznam typů dostupných při programování Arduina bude uveden v samostatném článku.

    Po provedení funkce vrátí hodnotu deklarovaného typu. Pokud funkce nepřijme žádnou návratovou hodnotu, pak bude datový typ "neplatný".

    název_funkce umožňuje jeho jednoznačnou identifikaci. Abychom mohli funkci zavolat (spustit), pojmenujeme ji.

    parametr— parametr volání funkce. Parametry jsou volitelné, ale často užitečné. Pokud píšeme funkci, která nemá žádné argumenty, necháme závorky prázdné.

    Uvnitř závorek "(...)" obsahuje skutečné tělo funkce nebo instrukce, kterou chceme provést. Popis konkrétních pokynů bude uveden v samostatném článku.

    Všechny funkce, které vracejí hodnotu, končí příkazem return následovaným návratovou hodnotou. Pouze funkce deklarované s nulovým ukazatelem ("void") neobsahují příkaz return. Musíte vědět, že příkaz return ukončuje provádění funkce bez ohledu na umístění.

    Následuje několik příkladů deklarací funkcí.

    Void f1() ( //tělo funkce ) —————————————— int minus() ( //návrat těla funkce (0); ) ———————————— ——— int plus(int a, int b) ( return (a+b); )

    Jak můžete vidět z příkladů, deklarace funkce může mít mnoho podob v závislosti na vašich potřebách.

    Důrazně doporučujeme, abyste se naučili a používali funkce při psaní vlastních programů. Postupem času má každý programátor vlastní knihovnu funkcí „pro všechny příležitosti“, což usnadňuje a zrychluje psaní nových programů.

    Nyní, když víme, jak napsat vlastní funkci, musíme se ji naučit používat.

    Volání funkce

    Všechny funkce zapisujeme do jednoho souboru/programu. Existuje samozřejmě i elegantnější řešení, ale to se pokusíme popsat příště.

    Deklarováním funkce ji můžeme použít v dalších funkcích s příslušným názvem a libovolnými požadovanými parametry. Následují příklady volání funkcí, které jsme uvedli výše:

    Fl(); plus(2,2); y=plus(1,5);

    Jak můžete vidět na příkladech, volání funkce se provádí zadáním jejího názvu a požadovaného počtu parametrů. Důležité je volat funkci vždy podle její deklarace.

    Pokud je funkce f1() deklarována bez parametrů, pak nelze při jejím volání specifikovat žádné parametry, tzn. volání funkce f1(0) bude nesprávné.

    Funkce plus(int a, int b) vyžaduje právě dva parametry, takže volání s jedním nebo třemi parametry není možné.

    Volání y=plus(1,5) provede funkci "plus" s parametry "1" a "5" a uloží návratovou hodnotu do proměnné "y".

    funkce setup() a loop().

    Se znalostmi o deklarování a volání funkcí můžeme přejít k funkcím systému Arduino: založit() A smyčka(). Pro deklaraci těchto dvou funkcí je vyžadováno Arduino IDE.

    setup() je funkce, která se volá automaticky po zapnutí napájení nebo po stisknutí tlačítka RESET.

    Jak jeho název napovídá, slouží k nastavení počátečních hodnot proměnných, deklarací vstupů a výstupů systému, které jsou obvykle uvedeny v počátečních parametrech. Tato funkce vzhledem ke své specifičnosti nevrací hodnotu a není volána s parametry. Správná deklarace funkce setup() je uvedena níže:

    Void setup () ( // tělo funkce - inicializace systému )

    loop() je funkce, která se volá v nekonečné smyčce. Tato funkce také nevrací hodnotu a není volána s parametry. Následuje správná deklarace funkce loop():

    Prázdná smyčka () ( // tělo funkce - kód programu )

    Jak vidíte, deklarace funkce loop() je totožná s deklarací funkce setup(). Rozdíl spočívá ve výkonu těchto funkcí mikrokontrolérem.

    Nyní budeme analyzovat následující pseudokód:

    void setup () ( on_led1 (); // zapnutí led1 off_led1 (); // vypnutí led1 ) void loop () ( on_led2 (); // zapnutí led2 off_led2 (); // vypnutí led2 )

    Ve funkci setup() jsou dvě instrukce, první zapíná LED1 připojenou k desce (například pin 13) a druhá vypíná LED1.

    Funkce loop() má shodné instrukce pro zapnutí a vypnutí led2 připojené k desce (např. pin 12).

    V důsledku spuštění programu LED1 jednou blikne, zatímco LED2 se rozsvítí a zhasne, dokud je Arduino zapnuté.

    Stisknutí tlačítka RESET způsobí, že LED1 znovu zabliká a LED2 začne znovu blikat.

    Shrnout:

    • Funkce setup() a loop() jsou systémové funkce, které musí být definovány v každém projektu. I v situaci, kdy do jedné z nich nenapíšeme žádný kód, musíme tyto dvě funkce stále deklarovat;
    • Funkce setup() běží jednou, loop() běží nepřetržitě;
    • Vytváříme vlastní funkce v jednom souboru;
    • Naše funkce můžeme volat jak z setup () a loop (), tak z jiných funkcí;
    • Naše vlastní funkce lze volat s parametry a vrátit hodnotu;
    • Volání funkce musí být provedeno v souladu s její deklarací.

    V životě arduinisty dříve nebo později přijde okamžik, kdy se to v běžném vývojovém prostředí hemží. Pokud vašim náčrtům dojde paměť, potřebujete tvrdý realtime a práci s přerušeními nebo se jen chcete přiblížit hardwaru, pak je čas přejít na C. Zkušení elektrotechnici se při zmínce o Arduinu opovržlivě zamračí a pošlou nováček v rádiu pro páječku. Možná to není nejhorší rada, ale zatím se jí řídit nebudeme. Pokud zahodíme Arduino IDE a kabeláž / procesorový jazyk, budeme mít v rukou vynikající ladicí desku, již vybavenou vším potřebným pro provoz mikrokontroléru. A co je důležité, bootloader je již všitý do paměti řadiče, což vám umožňuje stahovat firmware bez použití programátoru.

    Pro programování v C potřebujeme AVR GCC Toolchain.

    Potřebujeme také nainstalovat Arduino IDE, protože. obsahuje utilitu avrdude, která je potřebná pro stažení firmwaru do ovladače. CrossPack také obsahuje avrdude, ale verze, která je s ním dodávána, nefunguje s Arduinem.

    Poté, co je vše nainstalováno, pojďme vytvořit náš první projekt. Pro začátek si napišme Makefile. Umožní nám to vyhnout se ručnímu zadávání dlouhých příkazů pokaždé, když kompilujeme a stahujeme firmware.

    #Ovladač nainstalovaný na desce. Mohou být různé, například atmega328 DEVICE = atmega168 #Frekvence hodin 16MHz HODINY = 16000000 #Start příkaz avrdude. Je třeba jej zkopírovat z Arduino IDE. AVRDUDE=/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -carduino -P/dev/tty.usbserial-A600dAAQ -b19200 -D -p atmega168 OBJECTS = main.o KOMPILOVAT = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) all: main .hex .c.o: $(KOMPILOVAT) -c $< -o [e-mail chráněný].S.o: $(KOMPILOVAT) -x assembler-s-cpp -c $< -o [e-mail chráněný].c.s: $(KOMPILOVAT) -S $< -o [e-mail chráněný] flash: all $(AVRDUDE) -U flash:w:main.hex:i clean: rm -f main.hex main.elf $(OBJECTS) main.elf: $(OBJECTS) $(COMPILE) -o main.elf $(OBJECTS) main.hex: main.elf rm -f main.hex avr-objcopy -j .text -j .data -O ihex main.elf main.hex avr-size --format=avr --mcu=$ (ZAŘÍZENÍ) hlavní.elf

    V tomto souboru musíme zadat náš příkaz ke spuštění avrdude. Na různých systémech to bude vypadat jinak. Chcete-li zjistit svou možnost, spusťte Arduino IDE a v nastavení zaškrtněte políčko „Zobrazit podrobný výstup během nahrávání“.

    Nyní načteme libovolný náčrt do Arduina a podíváme se na zprávy zobrazené ve spodní části okna. Najdeme tam volání avrdude, zkopírujeme vše kromě parametru -Uflash a vložíme do Makefile za "AVRDUDE =".


    Malá poznámka: veškeré odsazení v Makefile se provádí pomocí tabulátorů (klávesa Tab). Pokud váš textový editor nahradí tyto znaky mezerami, příkaz make odmítne sestavit projekt.

    Nyní vytvoříme soubor hlavní.c- aktuální text našeho programu, ve kterém tradičně blikáme LED.

    #zahrnout #zahrnout #define LED_PIN 5 int main() ( DDRB |= 1<< LED_PIN; while(1) { PORTB |= 1 << LED_PIN; _delay_ms(1000); PORTB &= ~(1 << LED_PIN); _delay_ms(1000); } return 0; }

    Náš projekt je připraven. Otevřete konzolu v adresáři našeho projektu a zadejte příkaz "make":


    Jak vidíte, velikost výsledného firmwaru je pouze 180 bajtů. Podobná skica Arduina zabírá 1116 bajtů v paměti řadiče.

    Nyní se vraťte do konzole a zadejte „make flash“ pro načtení kompilovaného souboru do ovladače:


    Pokud stahování proběhlo bez chyb, tak LEDka připojená na 13. pin desky bude vesele blikat. Někdy avrdude nemůže najít desku nebo vyprší časový limit - v tomto případě může pomoci kroucení kabelu USB. Abyste se vyhnuli konfliktům v přístupu k desce, nezapomeňte před příkazem „make flash“ zavřít Arduino IDE.

    Možná se mnoho z věcí popsaných v tomto článku bude zdát ostříleným vývojářům samozřejmých. Snažil jsem se proces popsat co nejsrozumitelnějším jazykem pro začínajícího arduinistu a shromáždit na jednom místě informace, které se mi podařilo získat z různých zdrojů a ověřené zkušenostmi. Možná tento článek někomu ušetří pár hodin času.

    Hodně štěstí při ovládání mikrokontrolérů!

    28 09.2016

    Přemýšleli jste o tom, jak si usnadnit život? Aby tu byly věci, které by za vás vyřešily každodenní rutinní úkoly. Chytré zařízení, které by plnilo užitečnou funkci, například zalévalo zahradu, uklízelo pokoj, převáželo náklad. Tyto úkoly lze vyřešit. Pouhý nákup ale stačit nebude. Jakýkoli průmyslový logický regulátor nebo mikroobvod potřebuje „mozek“, aby mohl provádět určitou sekvenci akcí. V našem případě je pro provádění operací vhodný programovací jazyk Arduino.

    Z tohoto článku se dozvíte:

    Zdravím vás, přátelé! Pro ty, kteří mě neznají, jmenuji se Semyon Gridin. Můžete si o mně přečíst. Dnešní článek bude věnován dvěma hlavním programům, bez kterých nebudeme mít další pokrok a vzájemné porozumění.

    Obecný popis programovacích jazyků

    Jak jsem psal výše, budeme zvažovat dvě populární vývojová prostředí. Analogicky s, lze rozdělit na grafický editor a „chytrý poznámkový blok“. Jedná se o programy Arduino IDE a FLprog.

    Základem vývojového prostředí je Processing / Wiring - to je obvyklé C++, doplněné o funkce a různé knihovny. Existuje několik verzí pro operační systémy Windows, Mac OS a Linux.

    Jaký je jejich zásadní rozdíl? Arduino IDE je vývojové prostředí, které popisuje programový kód. A FLprog je podobný CFC CoDeSyS, který umožňuje kreslit diagramy. Které prostředí je nejlepší? Oba jsou svým způsobem dobré a pohodlné, ale pokud to s ovladači chcete brát vážně, je nejlepší se naučit jazyky jako C. Jejich hlavní výhodou je flexibilita a neomezenost algoritmu. Velmi se mi líbí Arduino IDE.

    Popis Arduino IDE

    Distribuci lze stáhnout z oficiální webové stránky. Stáhněte si archiv, zabere to něco málo přes 100 MB. Instalace je standardní, jako všechny aplikace pro Windows. V balení musí být nainstalovány ovladače pro všechny typy desek. A takto vypadá pracovní okno programu.

    Vývojové prostředí Arduino se skládá z:

    • editor kódu;
    • oblasti zpráv;
    • okna pro výstup textu;
    • panely nástrojů s tlačítky pro často používané příkazy;
    • více menu

    Nastavení Arduino IDE

    Nazývá se program napsaný ve vývojovém prostředí Arduinoskica. Skica je napsána v textovém editoru, který má barevné zvýraznění vygenerovaného programového kódu. Ukázka jednoduchého programu na obrázku níže.

    Další funkce lze přidat sknihovny,což je speciálně navržený kód. V podstatě je to v přístupu uzavřeném od vývojáře. Prostředí se obvykle dodává se standardní sadou, kterou lze časem doplňovat. Jsou v podadresářiknihovny Arduino adresář.

    Mnoho knihoven je dodáváno s příklady umístěnými ve složcepříklad.Výběrem knihovny z nabídky přidáte do zdrojového kódu řádek:

    Arduino

    #zahrnout

    #zahrnout

    Tato směrnice je určitá instrukce, hlavičkový soubor s popisem objektů, funkcí a konstant knihovny. Pro většinu typických úkolů již bylo vyvinuto mnoho funkcí. Věřte mi, že to programátorovi usnadňuje život.

    Poté, co jsme připojili elektronickou desku k počítači. Provedeme následující nastavení - vybereme desku Arduino a port Com, přes který se budeme připojovat.

    Arduino

    void setup() ( // inicializuje digitální pin 13 jako výstup. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000 );

    void setup()(

    // inicializuje digitální pin 13 jako výstup.

    pinMode(13, OUTPUT) ;

    void loop()(

    digitalWrite (13, HIGH);

    zpoždění(1000) ;

    digitalWrite (13, LOW);

    zpoždění(1000) ;

    Mimochodem, je vhodné zkontrolovat výkon desky, která přišla z obchodu. Rychlé a snadné.

    Je tu ještě jedna šikovná věc. Jmenuje se toSériový monitor (Sériový monitor). Zobrazuje data odeslaná na platformuArduino.Většinou se dívám, jaké signály mi dávají různá čidla připojená k desce.

    Připojení knihoven

    Existují různé způsoby, jak přidat vlastní funkce. Existují tři způsoby, jak zahrnout knihovny:

    1. Použití Správce knihoven
    2. Importem jako soubor .zip
    3. Instalace ručně.

    1. Pomocí Správce knihoven.V pracovním okně programu vyberte záložku Sketch. Poté klikněte na tlačítko Přidat knihovnu. Před námi otevře vedoucí knihovny. V okně se zobrazí již nainstalované soubory s podpisemnainstalováno,a ty, které lze nainstalovat.

    2. Importem jako soubor .zip.Na internetu často najdete soubory knihovny zabalené do archivů s příponou zip. Obsahuje hlavičkový soubor .h a soubor s kódem .cpp. Během instalace není nutné archiv rozbalovat. Stačí v menu Sketch - Connect Library - Add .ZIP library

    3. Ruční instalace.Nejprve zavřete program Arduino IDE. Nejprve rozbalíme náš archiv. A soubory s příponou .h a .cpp přeneseme do složky se stejným názvem jako archiv. Složku pustíme do kořenového adresáře.

    Moje dokumenty\Arduino\knihovny

    Popis FLPprog

    FLprog je bezplatný projekt třetí strany, který vám umožňuje pracovat s funkčními bloky nebo žebříčkovými diagramy. Toto prostředí je vhodné pro lidi – ne pro programátory. Umožňuje vám vizuálně a vizuálně vidět algoritmus pomocí diagramů a funkčních bloků. Distribuci lze stáhnout z oficiální webové stránky.

    Projekt sleduji již delší dobu. Kluci vyvíjejí, neustále přidávají nové funkce a mění tu starou. V tomto prostředí vidím perspektivy. Protože plní dvě důležité funkce:jednoduchost a snadné použití.

    Zkusme s vámi vytvořit jednoduchý projekt. Výstup 13 přepneme na LED.

    Vytváříme nový projekt. V horním okně přidejte požadovaný počet vstupů a výstupů, nastavte název a přiřaďte fyzický vstup nebo výstup desky.

    Vytáhneme prvky, které potřebujeme ze stromu objektů, prvky, které potřebujeme na editačním plátně. V našem případě můžeme k zapnutí a vypnutí použít jednoduchý RS klopný obvod.

    Po vytvoření algoritmu klikněte na tlačítko kompilace, program poskytne hotový náčrt na IDE.

    Zvažovali jsme možnosti a pohodlí programů pro vývoj algoritmů na řadiči řady Arduino. Existují také programy, které umožňují vytvářet strukturální schémata a vizuální obrázky. Doporučuji ale použít textový editor, protože to pro vás bude později jednodušší. Řekněte mi, jaké prostředí preferujete a proč?

    22. září jsem se zúčastnil semináře v Krasnodaru "Ovladače s dotykovým panelem ARIES SPK". Uspořádali jsme konferenci v módním a krásném hotelu Bristol. Bylo to velmi zajímavé a cool.

    V první části semináře jsme byli seznámeni s možnostmi a výhodami produktů OWEN. Poté byla přestávka na kávu s koblihami. Dostal jsem spoustu všeho, koblihy, sušenky a sladkosti, protože jsem měl velký hlad. =)

    V druhé části semináře po obědě jsme byli prezentováni. Hodně věcí bylo řečeno o webu – vizualizaci. Tento trend začíná nabírat na síle. No, samozřejmě, ovládat zařízení přes jakýkoli internetový prohlížeč. Je to vážně super. Mimochodem, samotné vybavení je v kufru.

    V blízké budoucnosti zveřejním sérii článků o CoDeSyS 3.5. Takže pokud má někdo zájem, přihlašte se k odběru nebo jen přijďte. Vždy budu šťastný!

    Mimochodem, málem bych zapomněl, další článek bude o elektronické desce Arduino. Bude to zajímavé, nenechte si to ujít.

    Uvidíme se v dalších článcích.

    S pozdravem Gridin Semyon.

    Arduino je malá deska, která slouží k vytváření různých zařízení, zajímavých gadgetů a dokonce i výpočetních platforem. Tato deska se nazývá mikrokontrolér, který je open source a se kterým lze použít mnoho aplikací.

    Toto je nejjednodušší a nejlevnější možnost pro začátečníky, amatéry i profesionály. Proces programování probíhá v jazyce Processing / Wiring, který je rychle a snadno zvládnutelný a vychází z jazyka C++ a díky tomu je velmi snadno proveditelný. Podívejme se, co je Arduino, co je užitečné pro začátečníky, jeho možnosti a vlastnosti.

    Arduino je výpočetní platforma nebo deska, která bude fungovat jako mozek pro vaše nová zařízení nebo gadgety. Na jeho základě můžete vytvářet zařízení s jednoduchými obvody i složité pracně náročné projekty, jako jsou roboti nebo drony.

    Základem návrháře je vstupně-výstupní deska (hardwarová část), stejně jako softwarová část. Software konstruktoru založený na Arduinu je reprezentován integrovaným vývojovým prostředím.

    Navenek samotné prostředí vypadá takto:

    Softwarová část Arduina je navržena tak, aby ji zvládl i začínající uživatel, který nemá o programování ani ponětí. Dalším faktorem úspěchu při použití mikrokontroléru byla schopnost pracovat s prádlem, když jsou potřebné části (rezistory, diody, tranzistory atd.) připojeny k ovladači bez nutnosti pájení.

    Většina desek Arduino je připojena přes USB kabel. Takové zapojení umožňuje poskytovat napájení desce a stahovat skici, tzn. mini programy. Proces programování je také velmi jednoduchý. Nejprve si uživatel pomocí editoru kódu IDE vytvoří potřebný program, poté se načte jedním kliknutím v Arduinu.

    Jak koupit Arduino?

    Deska a mnoho částí Arduina jsou vyrobeny v Itálie, takže originální komponenty jsou dost drahé. Existují ale samostatné konstrukční díly nebo stavebnice, tzv. kit-sety, které jsou vyráběny podle italské obdoby, ale za přijatelnější ceny.

    Analog si můžete koupit na domácím trhu nebo například objednat z Číny. Mnoho lidí ví například o webu Aliexpress. Ale pro ty, kteří se začínají seznamovat s Arduinem, je lepší objednat si první desku v ruském internetovém obchodě. Postupem času můžete přejít na nákup desek a dílů v Číně. Dodací lhůta z této země bude od dvou týdnů do měsíce a například cena velké sady nebude vyšší než 60-70 dolarů.

    Standardní sady obvykle obsahují následující díly:

    • prkénko na chleba;
    • LED diody;
    • rezistory;
    • baterie 9V;
    • regulátory napětí;
    • tlačítka;
    • propojky;
    • maticová klávesnice;
    • rozšiřovací desky;
    • kondenzátory.

    Potřebuji umět programovat?

    První kroky při práci s deskou Arduino začínají naprogramováním desky. Program, který je již připraven pro práci s deskou, se nazývá skica. Nemusíte se bát, že byste neznali programování. Proces vytváření programů je poměrně jednoduchý a na internetu je spousta příkladů skic, protože komunita Arduino je velmi velká.

    Poté, co je program zkompilován, je nahrán (flashován) na desku. Arduino má v tomto případě nepopiratelnou výhodu – ve většině případů se k programování používá USB kabel. Ihned po načtení je program připraven provádět různé příkazy.

    Začátečníci s Arduinem potřebují znát dvě klíčové funkce:

    • založit()– používá se jednou při zapnutí desky, používá se k inicializaci nastavení;
    • smyčka()- používá se neustále, je posledním krokem v nastavení.

    Příklad funkce nahrávání založit():

    Void setup() ( Serial.begin(9600); // Otevřít sériové připojení pinMode(9, INPUT); // Přiřadit pin 9 jako vstupní pinMode(13, OUTPUT); // Přiřadit pin 13 jako výstup )

    Funkce založit() se provede na samém začátku a pouze jednou ihned po zapnutí nebo restartu zařízení.

    Funkce smyčka() provedené po funkci setup(). Smyčka se překládá jako smyčka nebo cyklus. Funkce se bude provádět znovu a znovu. Takže mikrokontrolér ATmega328 (obsahuje jej většina Arduino desek), provede funkci smyčky asi 10 000krát za sekundu.

    Setkáte se také s dalšími funkcemi:

    • pinMode– způsob vstupu a výstupu informací;
    • analogPřečíst- umožňuje číst vznikající analogové napětí na výstupu;
    • analogWrite– zápis analogového napětí na výstupní pin;
    • digitální čtení– umožňuje číst hodnotu digitálního výstupu;
    • digitalWrite– umožňuje nastavit hodnotu digitálního výstupu na nízkou nebo vysokou úroveň;
    • Sériový tisk– převádí data o projektu do pohodlně čitelného textu.

    Kromě toho se začátečníkům na Arduinu bude líbit, že existuje mnoho knihoven pro desky, což jsou kolekce funkcí, které umožňují ovládat desku nebo přídavné moduly. Mezi nejoblíbenější patří:

    • čtení a zápis do úložiště,
    • Připojení k internetu,
    • čtení SD karet,
    • ovládání krokového motoru
    • vykreslování textu
    • atd.

    Jak nastavit Arduino?

    Jednou z hlavních výhod konstruktoru je jeho bezpečnost ohledně uživatelského nastavení. Klíčová nastavení, která jsou potenciálně škodlivá pro Arduino, jsou chráněna a nebudou dostupná.

    Proto i nezkušený programátor může bezpečně experimentovat a měnit různé možnosti a dosáhnout požadovaného výsledku. Ale pro každý případ vřele doporučujeme přečíst si tři důležité materiály o tom, jak desku nezničit:

    Algoritmus pro klasické nastavení programu Arduino vypadá takto:

    • instalace IDE, kterou lze stáhnout níže nebo z webu výrobce;
    • instalace softwaru na použitém PC;
    • spuštění souboru Arduino;
    • zadání vyvinutého programu do okna kódu a jeho přenos na desku (pomocí USB kabelu);
    • v sekci IDE musíte vybrat typ konstruktoru, který se má použít. Můžete to udělat v okně "nástroje" - "tabule";
    • zkontrolujte kód a klikněte na „Další“, poté začne nahrávání do Arduina.
    Verze Okna Operační Systém Mac linux
    1.6.5 zip
    instalátor
    instalátor 32 bitů
    64 bitů
    1.8.2 zip
    instalátor
    instalátor 32 bitů
    64 bitů
    PAŽE
    1.8.5 zip
    instalátor
    Aplikace
    instalátor 32 bitů
    64 bitů
    PAŽE

    Vycpávání ruky

    Aby mohli začátečníci s jistotou implementovat složité nápady, používat softwarové prostředí a Arduino, musí to „chytit“. K tomu se doporučuje začít s jednoduššími úkoly a projekty.

    Nejjednodušší projekt, který můžete udělat, je nechat každou sekundu blikat LED dioda umístěná na desce Arduino naproti portu.

    K tomu potřebujete:

    • připojit designéra k PC,
    • otevřete program, v sekci "služba" vyhledejte blok "sériový port".
    • zvolte požadovaný interval
    • poté musíte přidat kód, který je v Arduino IDE v sekci "Příklady".

    První projekty v Arduinu pro začátečníky mohou být:

    • blikající LED;
    • připojení a ovládání teplotního čidla;
    • připojení a ovládání snímače pohybu;
    • připojení fotorezistoru;
    • ovládání serva.

    První projekt

    Zde se dostáváme k našemu prvnímu projektu. Pojďme připojit Arduino, LED a tlačítko. Tento projekt je skvělý pro začátečníky.

    Naše schéma bude vypadat takto:

    LED se po stisknutí tlačítka rozsvítí a po dalším stisknutí zhasne. Samotný náčrt nebo program pro Arduino bude vypadat takto:

    // piny připojených zařízení int switchPin = 8; int ledPin = 11; // proměnné pro uložení stavu tlačítka a LED boolean lastButton = LOW; boolean currentButton = NÍZKÁ; boolean ledOn = false; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // funkce debounce boolean debounse(boolean last) ( boolean current = digitalRead(switchPin); if(last != current) ( delay (5 ); current = digitalRead(switchPin); ) návratový proud; ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ;digitalWrite (ledPin, ledOn); )

    Možná jste si všimli funkce debounce, o které jsme ještě nepsali. Je potřeba pro .

    Poté, co pochopíte počáteční dovednosti práce s deskou, můžete začít realizovat složitější a mnohostranné úkoly. Konstruktor umožňuje vytvořit RC auto, řízenou helikoptéru, vytvořit si vlastní telefon, vytvořit systém atd.

    Pro urychlení vývoje práce s deskou Arduino doporučujeme začít vyrábět zařízení z naší sekce, která popisuje kroky k vytvoření nejzajímavějších zařízení a gadgetů.

    V tomto článku jsem se rozhodl dát dohromady kompletního průvodce krok za krokem pro začátečníky s Arduino. Rozebereme si, 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 používat programovací jazyk 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 struč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), spoustu hotových a pohodlných knihoven a zjednodušený programovací jazyk. Hardwarová část obsahuje 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. Nejedná se však pouze o tréninkový 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í.

    Arduino Starter Kit

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

    Základní arduino sada 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 nahrávat firmware, musíte si stáhnout a nainstalovat Arduino IDE. Jedná se o velmi jednoduchý a pohodlný program. Na svých stránkách 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

    Verze Okna MacOS X linux
    1.8.2

    Programovací jazyk Arduino

    Když máte po ruce desku mikrokontroléru a na počítači je nainstalováno 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ždým příkazem 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é specifikovat 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 Všechny tyto informace si nemusíte pamatovat a pamatovat. Vždy můžete přejít na odkaz a zobrazit syntaxi konkrétní funkce.

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

    funkce nastavení

    Aby vše fungovalo, musíme napsat náčrt. Udělejme to tak, že se LED po stisknutí tlačítka rozsvítí a po dalším stisknutí zhasne. Zde je naše první skica:

    // proměnné s piny připojených zařízení int switchPin = 8; int ledPin = 11; // proměnné pro uložení stavu tlačítka a LED boolean lastButton = LOW; boolean currentButton = NÍZKÁ; boolean ledOn = false; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // funkce debounce boolean debounse(boolean last) ( boolean current = digitalRead(switchPin); if(last != current) ( delay (5 ); current = digitalRead(switchPin); ) návratový proud; ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ;digitalWrite (ledPin, ledOn); )

    // proměnné s piny připojených zařízení

    int switchPin = 8 ;

    int ledPin = 11 ;

    // proměnné pro uložení stavu tlačítka a LED

    boolean lastButton = NÍZKÁ ;

    boolean currentButton = NÍZKÁ ;

    boolean ledOn = false ;

    void setup()(

    pinMode (switchPin , INPUT ) ;

    pinMode (ledPin, OUTPUT) ;

    // funkce debounce

    booleovský odskok (booleovský poslední) (

    booleovský proud = digitalRead(switchPin) ;

    if (poslední != aktuální ) (

    zpoždění(5) ;

    proud = digitalRead(switchPin) ;

    zpětný proud ;

    void loop()(

    currentButton = debounce(lastButton) ;

    if (poslední Tlačítko == NÍZKÁ && aktuální Tlačítko == VYSOKÉ ) (

    ledOn = ! ledOn;

    lastButton = currentButton ;

    digitalWrite(ledPin, ledOn) ;

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

    PWM Arduino

    Pulse Width Modulation (PWM) je proces řízení napětí pomocí pracovního cyklu signálu. To znamená, že pomocí PWM můžeme plynule ovládat zátěž. Můžete například 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 fungování PWM je znázorněn na tomto diagramu:

    Když aplikujeme PWM na LED, začne se rychle zapínat a vypí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ý pulzně šířkový modulátor. 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 výstupů: jedná se o piny D3, D5, D6, D9, D10 a D11. Piny se mohou na jiných deskách lišit. Najdete zde popis desky, o kterou máte zájem

    Pro použití PWM má Arduino funkci, která bere jako argumenty číslo pinu a hodnotu PWM od 0 do 255. 0 je 0 % vysoké vyplnění signálu 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:

    // LED připojená na pin 11 int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); delay(5); ) )

    // LED připojená k pinu 11

    int ledPin = 11 ;

    void setup()(

    pinMode (ledPin, OUTPUT) ;

    void loop()(

    for (int i = 0; i< 255 ; i ++ ) {

    analogWrite (ledPin, i) ;

    zpoždění(5) ;

    zpoždění(1000) ;

    for (int i = 255 ; i > 0 ; i -- ) (