Možná mají vývojáři operačních systémů pravdu, považují uživatele za nejhoršího nepřítele a nejnebezpečnější virus. A možná se mýlí, své výtvory nevytvářejí pro sebe, ale pro uživatele. Jedním slovem nevím. Co ale vím jistě je, že chci vidět program S4A fungovat nejen na Windows, ale i na Linuxu a nejen na distribuci Debian.

Tento proces zahájím stažením verze Debianu z webu pro vývojáře: http://seaside.citilab.eu/scratch/arduino. Všechny stažené soubory jsou po dokončení stahování umístěny ve složce "Stahování" nebo "Stahování". Archivované soubory určené pro Linux rozbalí správce archivu. Soubor, který jsem stáhl z openSUSE, má příponu deb, ale pomocí Ark, stejného správce archivů, jej lze dekomprimovat. V openSUSE s grafickým manažerem KDE 4 stačí kliknout pravým tlačítkem na soubor a vybrat položku rozbalovací nabídky „Extrahovat do podsložky“. V důsledku toho se zobrazí složka s názvem S4A.

Pojďme se na to podívat.

Rýže. 5.1. Obsah stažené složky S4A

Dva soubory s příponou tar.gz podléhají dalšímu rozbalení.

Rýže. 5.2. Rozbalovací nabídka pro práci s archivovanými soubory

Výsledkem je, že se vedle archivů objeví řada souborů a složka s názvem „usr“. Z mé zkušenosti s Linuxem vím, že tato složka může obsahovat soubory, které jsou po instalaci umístěny v /usr v kořenovém systému souborů. Pokud otevřete tuto složku, pak

Kapitola 5. Arduino, vizuální programování

Ve skutečnosti v něm můžete vidět další tři složky.

Tyto tři složky odpovídají sekcím, které lze zobrazit, pokud otevřete soubor " Kořenová složka» v adresáři /usr.

Rýže. 5.4. Oddíly adresáře usr souborového systému

Obsah dříve stažených složek bin, lib a share by měl být podle mého názoru umístěn do složek uvedených výše. Ale samozřejmě pro jednoduchého uživatele, aby něco změnil souborový systém nikdo nedovolí. Proto v sekci hlavní nabídky "Systém" najdeme položku " Správce souborů“, čímž se otevře nová podnabídka, kde je „Správce souborů (s administrátorskými právy)“. Tento správce vám umožní přenést vše požadované soubory do operačního systému. Bez vymýšlení čehokoli, otevírání složek paralelně ve dvou průzkumnících, stačí postupně otevřít potřebné (všechny jsou pojmenované) složky, dokud se soubory nezobrazí, a zkopírovat soubory.

Kapitola 5. Arduino, vizuální programování

Rýže. 5.5. Portování souborů programu do openSUSE

Zvláštní pozornost by měla být věnována sdílené složce, protože má mnoho podsložek a odpovídající složky je třeba hledat v systému souborů.

Po zkopírování můžete zkusit najít program v hlavní nabídce. A skutečně, na záložce Aplikace v sekci Vývoj (mám jinou sekci nazvanou Jiné programy) se objeví program S4A. A můžete to dokonce spustit. Ale po několika pohybech myši začne viset ...

V terminál a openSUSE má kořenový terminál; jménem superuživatele, po předchozím připojení modulu Arduino, spustíme program. A ona pracuje. Nyní jej lze spustit běžným způsobem.

V jiné distribuce Linuxu, ovládání je podobné těm popsaným výše, rozdíly nejsou tak výrazné. Přestože jsem ve Fedoře 14 jednoduše změnil uživatele přihlášením jako root, což byste samozřejmě neměli dělat, usnadnilo to umístit vše na správná místa.

Po instalaci programu v Linuxu se podívejme, proč jsme jej nainstalovali?

Nejprve program pracuje s modulem a ukazuje, co se děje na analogových a digitálních vstupech modulu. Což už je dobré. Ale to není to hlavní. Hlavní věc, za druhé, program vám umožňuje sestavit program a ne kód v jazyce Arduino.

Když program začne pracovat, v levém okně je řada prvků, které lze přesunout zvednutím myši do prostředního okna - pracovní pole "montáž". Přesuneme prvek s názvem Start.

Kapitola 5. Arduino, vizuální programování

Rýže. 5.6. Přenos požadovaných programových prvků

Nyní, stisknutím klávesy označené „ovládání“ v rámečku těsně nad, získáme řadu nových prvků.

Rýže. 5.7. Seznam prvků ve skupině "Ovládání".

Mezi těmito prvky vybereme prvek „vždy“, který přeneseme do stávajícího prvku a přidáme jej tak, aby horní výřez zasahoval do římsy.

Kapitola 5. Arduino, vizuální programování

Rýže. 5.8. Přidávání prvků do programu

Vraťme se k množině prvků, se kterou jsme začali, stisknutím klávesy „přesunout“ a vybereme prvek „digitální 13 zapnutý“, který přesuneme a vložíme dovnitř předchozího.

Rýže. 5.9. Příkaz povolení digitálního výstupu

Ze sady prvků „ovládání“ si vezmeme prvek „čekej 1 sekundu“, který vložíme dovnitř prvku „vždy“ pod prvek „digitální 13 zapnuto“. Chcete-li tento proces urychlit, vložte znovu prvek čekání, vraťte se k prvkům pohybu a přidejte mezi dva prvky čekání prvek „digitální 13 off“.

Rýže. 5.10. Program Blink v grafické podobě

Připomíná vám tento design něco? Když jsme začali popisovat první program v běžném jazyce, zapsali jsme to tak.

Dvakrát klikněte levým tlačítkem myši na prvek „start“ a podívejte se na modul Arduino

Kontrolka na pinu 13, která byla dosud tichá, bliká pravidelně jednou za sekundu.

Program jsme zkompilovali, spustili a modul zprovoznili podle tohoto programu. A nenapsali jsme ani řádek kódu. Z tohoto důvodu raději rozlišuji mezi programováním a psaním programový kód.

Kapitola 5. Arduino, vizuální programování

Ale možná je to dříve stažený program, který funguje, a ne ten, který jsme sestavili?

Zastavte program opětovným dvojitým kliknutím na prvek „start“. Klikněte levým tlačítkem myši na prvek „čekejte 1 sekundu“.

Rýže. 5.11. Změna nastavení programových prvků

Napišme číslo 5 (jako na spodním prvku). Spusťte program... a ujistěte se, že jsme si nic nespletli, LEDka bliká každých 5 sekund!

Činnost digitálního vstupu v "živé" podobě jsme nezkoušeli. Není čas to udělat?

Pojďme sestavit program v S4A. První "cihly" jsou stejné jako v předchozí program. Dále ... musíme splnit podmínku: pokud je tlačítko stisknuto, rozsvítit LED, jinak zhasnout. Existuje takový prvek - je to "pokud ... nebo ...". V jeho horní části je "hnízdo", kam lze vložit podmínku, kterou potřebujeme "digitální vstup ...".

Rýže. 5.12. Přidání podmínky do prvku if větve programu

Zbývá přidat akce, abyste získali požadovaný typ programu.

Rýže. 5.13. Finální formace programu

Pokud to porovnáme s programem napsaným v jazyce Arduino, pak můžeme říci, že jediné rozdíly jsou ty, které byly vytvořeny vědomě: když je tlačítko uvolněno, LED se nerozsvítí, když je stisknuto, LED se rozsvítí .

Kapitola 5. Arduino, vizuální programování

Je čas přejít ke kontrole. Nejprve ale malé varování.

Na schématu uvedeném v příkladech je tlačítko připojeno na pin +5 V. Doporučil bych jej zapnout trochu jinak.

Zvláště pokud vše kontrolujete „na váhu“. V případě náhodné chyby to může dopadnout tak, jak jsem dopadl já, z modulu bude vycházet kouř, který velmi zkazí náladu. A nejsprávnějším způsobem je použít prkénko na krájení s adaptérovými konektory (např Arduino Nano, myslím, že pro mikroobvod je vhodná zásuvka).

Po kontrole správných připojení na prkénku, připojení modulu Arduino k němu jej můžete zapojit do konektoru Počítač USB a spusťte program S4A. Vezměte prosím na vědomí, že když připojíte odpor 10 kΩ mezi digitální vstup a zem, hodnoty (v pravém okně programu) se přestaly náhodně měnit mezi „false, false“ a „true, true“. Náš program spustíme dvojitým kliknutím na prvek „start“ a přechodem do části „Upravit“ v hlavní nabídce přidáme provádění krok za krokem.

Rýže. 5.14. Dodatek provedení krok za krokem do ladicí rutiny

Rychlost provádění můžete také vybrat v položce "nastavit jeden krok ...". A nyní, když tlačítko není stisknuto, vidíme, že LED nesvítí a program se provádí pouze v části, kde je nastaven.

Kapitola 5. Arduino, vizuální programování

Rýže. 5.15. Spuštění programu v režimu ladění

V pravém horním okně vidíte stav vstupu Digital1 - false. Vstup je na zemi, vstup je na nízké logické úrovni a to je z pohledu programu "falešný" stav. Zmáčkneme tlačítko.

Rýže. 5.16. Naprogramujte provoz při stisknutí tlačítka

Stav vstupu "true" se změnil, LED svítí a program vstoupí do části, kde je podmínka splněna.

Pokud budete věnovat pozornost oranžovým prvkům v sekci "ovládání", můžete vidět, že mnoho z nich

Kapitola 5. Arduino, vizuální programování

mají "hnízda" pro vkládání podmínek.

Podmínky se mohou lišit. Výše jsme jako podmínku použili změnu stavu digitálního vstupu. Ale mohou existovat i jiné podmínky.

Rýže. 5.17. Hnízda pro přidávání podmínek v ovládacích prvcích

A ještě něco - věnujte pozornost černým šipkám "dolů" u mnoha prvků.

Klikněte myší na tuto šipku...

Rýže. 5.18. Šipka, která otevře seznam možných senzorů

A dostaneme možnost změnit například jako v tomto případě použitý vstup. V jiných případech, řekněme, se změní výstupní pin nebo analogový vstup. My máme velký výběr příležitostí experimentovat s modulem Arduino. Proč však s modulem? Můžeme použít více modulů. Dost, aby se neřeklo, že je to jediná cesta, přejděte na záložku „obleky“, klikněte pravým tlačítkem myši na stávající „oblek“ a vyberte sekci „přepnout na nový objekt“.

Objeví se další modul Arduino. Pokud ji máte, pokud jste ji připojili USB port, pak s ním, myslím, můžeš pracovat taky.

Kapitola 5. Arduino, vizuální programování

Rýže. 5.19. Přidání druhého modulu Arduino

A poslední poznámka. Vše, co děláme v programu S4A, děláme pomocí programovacího jazyka Scratch. jak se ti to líbí?

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 užitečná funkce, například zaléval zahradu, uklízel pokoj, přenášel 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 provoz okenní systémy, 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 takhle to vypadá pracovní okno programy.

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.

Lze přidat další funkceknihovny,což je speciálně navržený kód. V podstatě je to v přístupu uzavřeném od vývojáře. Médium obvykle přichází s standardní sada které lze postupně 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ěr knihovny z nabídky přidá do zdrojřádky:

Arduino

#zahrnout

#zahrnout

Toto je směrnice - nějaký druh pokynu, hlavičkový soubor s popisem objektů, funkcí a knihovních konstant. Pro většinu typických úloh 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. Provádíme následující nastavení- vybereme desku Arduino a Com-port, ke kterému se připojíme.

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.Obvykle se dívám, jaké signály mi dávají různé senzory připojený k desce.

Připojení knihoven

Existovat různé způsoby 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. Okno se již zobrazí 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.

Vytvořit nový projekt. V horní okno 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. Ale doporučuji používat textový editor protože pak to pro tebe bude 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". Konferenci jsme uspořádali v módním a krásný hotel"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č. To je 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řihlaste se k odběru nebo se jen přijďte podívat. 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.

Desky kompatibilní s Arduino jsou naprogramovány v jazyce Wiring, který je syntaxí velmi podobný C. Nicméně můj osobní zkušenost tento jazyk je pro děti ve věku 11-13 let obtížně zvládnutelný, zvláště pokud předtím děti vytvářely programy v LabView přetahováním bloků na plochu. Mnoho dětí, které mají rády robotiku, dobře zná vizuální programovací jazyk Scratch, na jehož základě již existuje mnoho řešení pro vzdělávání. Mezi takovými řešeními pro Arduino byl vytvořen nástroj napsaný v Javě s názvem ArduBloсk.

Ano, někdo by mohl říci, že Scratch for Arduino (s4a) stále existuje a je to také velmi jednoduché grafické prostředí pro programování Arduina. Scratch ale Arduino neflashuje, ale pouze ovládá USB kabel. Arduino je závislé na počítači a nemůže pracovat autonomně. Při vytváření vlastních projektů je autonomie pro Arduino hlavní věcí, zejména při vytváření robotických zařízení.

Takže, co je ArduBlock?Jedná se o grafické programovací prostředí. Téměř kompletně přeloženo do ruštiny. Ale v ArduBloсku je vrcholem nejen toto, ale také skutečnost, že námi napsaný program ArduBloсk je převeden do kódu Arduino IDE. Tento program je zabudován do programovacího prostředí Arduino IDE, tj. je to plugin!

Níže je uveden příklad blikající LED a převedeného programu v Arduino IDE. Veškerá práce s programem je velmi jednoduchá a pochopí ji každý student.


Díky práci na programu můžete Arduino nejen programovat, ale také se naučit příkazy, které jsou pro nás v textový formát Arduino IDE, ale pokud jste příliš líní psát standardní příkazy, měli byste rychle načrtnout jednoduchý program v ArduBlok pomocí rychlých manipulací myší a odladit jej v Arduino IDE.

Chcete-li nainstalovat ArduBlok, musíte postupovat podle pokynů níže, ale přesto budete muset tančit s tamburínou, protože v nejnovější verze Arduino IDE tento plugin nefunguje. Pokud nechcete tančit s tamburínami, pak vám doporučuji stáhnout si archiv s již integrovaným nástrojem ArduBloсk pro Arduino IDE 1.6.11. Tato verze nevyžaduje instalaci. Stačí rozbalit složku na vhodné místo a spustit Arduino IDE. A NEZAPOMEŇ Nainstalujte virtuální stroj Java, je nezbytná pro normální fungování tohoto pluginu, Java si můžete stáhnout z oficiálních stránek, instalace trvá 1-2 minuty.

Stáhněte si Arduino IDE 1.6.11 s ArduBlock

Návod na tanec s tamburínou: Chcete-li začít, stáhněte si a nainstalujte Arduino IDE z oficiálních stránek. Arduino a vypořádat se s nastavením při práci s deskou Arduino UNO. Jak to udělat, je popsáno na stejném webu nebo na Amperke nebo se na to podívejte na YouTube. Když jsme na to všechno přišli, musíte si stáhnout ArduBlok z oficiálních stránek zde .

Poté stažený soubor přejmenujeme na ardublock-all a ve složce „documents“. Vytvořte následující složky: Arduino > tools > ArduBlockTool > tool a do té druhé hodíme stažený a přejmenovaný soubor. ArduBlok funguje pro každého operační systémy, i na Linuxu, osobně jsem to testoval na XP, Win7, Win8, všechny příklady jsou pro Win7. Instalace programu je pro všechny systémy stejná.

Tato lekce poskytuje minimální znalosti potřebné k programování systémů Arduino v C. Můžete si ji pouze prohlížet a poté ji používat jako informace o pozadí. Ti, kteří programovali v C na jiných systémech, mohou tento článek přeskočit.

Opět se jedná o naprosté minimum. Popis ukazatelů, tříd, řetězcových proměnných atd. budou uvedeny v pozdějších lekcích. Pokud něco nedává smysl, nezoufejte. V budoucích lekcích bude mnoho příkladů a vysvětlení.

Struktura programu Arduino.

Struktura programu Arduino je poměrně jednoduchá a ve své minimální podobě se skládá ze dvou částí setup() a loop().

void setup()(

void loop() (

Funkce setup() se provede jednou, když je ovladač zapnutý nebo resetován. Obvykle v něm probíhá prvotní nastavení proměnných a registrů. Funkce musí být v programu přítomna, i když v něm nic není.

Po dokončení setup() přejde řízení na funkci loop(). Provádí příkazy zapsané v jeho těle (mezi složenými závorkami) v nekonečné smyčce. Ve skutečnosti tyto příkazy provádějí všechny algoritmické akce ovladače.

Původní pravidla syntaxe jazyka C.

; středník Výrazy mohou obsahovat libovolně velký počet mezer, zalomení řádků. Znakem konce výrazu je symbol "středník".

z = x + y
z=x
+y;

( ) složené závorky definovat blok funkce nebo výrazu. Například ve funkcích setup() a loop().

/* … */ blok komentářů určitě zavřít.

/* toto je blok komentářů */

// jednořádkový komentář, není třeba zavírat, platí do konce řádku.

// toto je jeden řádek komentáře

Proměnné a datové typy.

Proměnná je buňka paměť s náhodným přístupem ve kterém jsou informace uloženy. Program používá proměnné k ukládání mezivýpočtových dat. Pro výpočty lze použít data různých formátů, různých bitových hloubek, takže proměnné v jazyce C mají následující typy.

Datový typ Bitová hloubka, bit Rozsah čísel
booleovský 8 pravda, nepravda
char 8 -128 … 127
nepodepsaný char 8 0 … 255
byte 8 0 … 255
int 16 -32768 … 32767
nepodepsaný int 16 0 … 65535
slovo 16 0 … 65535
dlouho 32 -2147483648 … 2147483647
nepodepsané dlouhé 32 0 … 4294967295
krátký 16 -32768 … 32767
plovák 32 -3.4028235+38 … 3.4028235+38
dvojnásobek 32 -3.4028235+38 … 3.4028235+38

Datové typy se vybírají na základě požadované přesnosti výpočtu, datových formátů a podobně. Například u počítadla, které čítá do 100, není nutné volit dlouhý typ. Bude to fungovat, ale operace zabere více dat a programové paměti, zabere více času.

Deklarování proměnných.

Je zadán datový typ a za ním název proměnné.

intx; // deklarace proměnné s názvem x typu int
float-widthBox; // deklarace proměnné s názvem widthBox typu float

Všechny proměnné musí být před použitím deklarovány.

Proměnná může být deklarována v jakékoli části programu, záleží však na tom, které bloky programu ji mohou používat. Tito. proměnné mají rozsahy.

  • Proměnné deklarované na začátku programu před funkcí void setup() jsou považovány za globální a jsou dostupné kdekoli v programu.
  • Lokální proměnné jsou deklarovány v rámci funkcí nebo bloků, jako je smyčka for, a lze je použít pouze v deklarovaných blocích. Je možných více proměnných se stejným názvem, ale s různými rozsahy.

intmode; // proměnná je dostupná všem funkcím

void setup()(
// prázdný blok, není potřeba žádné počáteční nastavení
}

void loop() (

dlouhé počítání; // proměnná počet je dostupná pouze ve funkci loop().

for (int i=0; i< 10;) // переменная i доступна только внутри цикла
{
i++;
}
}

Při deklaraci proměnné můžete nastavit její počáteční hodnotu (inicializovat).

int x = 0; // proměnná x je deklarována s počáteční hodnotou 0
char d = 'a'; // proměnná d je deklarována s počáteční hodnotou rovnou kódu znaku „a“

V aritmetické operace S odlišné typy data jsou automaticky převedeny datové typy. Ale je lepší vždy použít explicitní převod.

intx; // proměnná int
opatrný; // proměnná char
intz; // proměnná int

z = x + (int) y; // proměnná y explicitně převedena na int

Aritmetické operace.

vztahové operace.

logické operace.

Operace s ukazateli.

bitové operace.

& A
| NEBO
^ EXKLUZIVNÍ NEBO
~ INVERZE
<< POSUN DOLEVA
>> POSUN DOPRAVA

Smíšené operace přiřazení.

Výběr možností, správa programu.

prohlášení IF otestuje podmínku v závorkách a provede následný výraz nebo blok složené závorky pokud je podmínka pravdivá.

if (x == 5) // jestliže x=5, pak se provede z=0
z=0;

if (x > 5) // if x >
(z=0; y=8; )

POKUD…JINDE umožňuje vybrat ze dvou možností.

if (x > 5) // pokud x > 5, tak se provede blok z=0, y=8;
{
z=0;
y=8;
}

{
z=0;
y=0;
}

JINAK KDYŽ- umožňuje provádět více výběrů

if (x > 5) // pokud x > 5, tak se provede blok z=0, y=8;
{
z=0;
y=8;
}

else if (x > 20) // pokud x > 20, provede tento blok
{
}

else // jinak se tento blok provede
{
z=0;
y=0;
}

POUZDRO SPÍNAČE- výběr z více možností. Umožňuje porovnat proměnnou (v příkladu je to x) s několika konstantami (v příkladu 5 a 10) a provést blok, ve kterém je proměnná rovna konstantě.

přepínač(x)(

případ 5:
// kód se provede, pokud x = 5
přestávka;

případ 10:
// kód se provede, pokud x = 10
přestávka;

výchozí:
// kód se provede, pokud žádná z předchozích hodnot neodpovídá
přestávka;
}

smyčka FOR. Konstrukce umožňuje organizovat cykly s daným počtem iterací. Syntaxe vypadá takto:

for (akce před začátkem smyčky;
podmínka pro pokračování cyklu;
akce na konci každé iterace) (

// kód těla smyčky

Příklad smyčky 100 iterací.

pro (i=0; i< 100; i++) // начальное значение 0, конечное 99, шаг 1

{
součet = součet + I;
}

smyčka WHILE. Provozovatel umožňuje organizovat cykly se stavbou:

zatímco (výraz)
{
// kód těla smyčky
}

Cyklus se provádí, dokud je výraz v závorkách pravdivý. Příklad smyčky pro 10 iterací.

x = 0;
zatímco (x< 10)
{
// kód těla smyčky
x++;
}

DĚLAT, ZATÍMCO je smyčka s podmínkou na výstupu.

dělat
{
// kód těla smyčky
) while (výraz);

Cyklus se provede, když je výraz pravdivý.
PŘESTÁVKA- operátor výstupu smyčky. Používá se k přerušení provádění pro smyčky, zatímco, dělat chvíli.

x = 0;
zatímco (x< 10)
{
if (z > 20) break; // pokud z > 20, pak opustí smyčku
// kód těla smyčky
x++;
}

JÍT DO je operátor nepodmíněného skoku.

goto label1; // přepnout na metka1
………………
metka1:

POKRAČOVAT- Přeskočte příkazy na konec těla smyčky.

x = 0;
zatímco (x< 10)
{
// kód těla smyčky
if (z > 20) pokračovat; // pokud z > 20, vrátí se na začátek těla smyčky
// kód těla smyčky
x++;
}

Pole.

Pole je oblast paměti, kde je postupně uloženo více proměnných.

Pole je deklarováno takto.

int věky; // pole 10 typové proměnné int

plovoucí závaží; // pole 100 proměnných typu float

Při deklaraci lze pole inicializovat:

int věk = ( 23, 54, 34, 24, 45, 56, 23, 23, 27, 28);

K proměnným pole se přistupuje takto:

x = věk; // x je přiřazena hodnota prvku 5 pole.
věk = 32; // prvek pole 9 je nastaven na 32

Prvky pole jsou vždy číslovány od nuly.

Funkce.

Funkce umožňují provádět stejné akce s různými daty. Funkce má:

  • jméno, kterým se nazývá;
  • argumenty - data, která funkce používá pro výpočet;
  • datový typ vrácený funkcí.

Popisuje uživatelem definovanou funkci mimo funkce setup() a loop().

void setup()(
// kód se provede jednou při spuštění programu
}

void loop() (
// hlavní kód, běží ve smyčce
}

// deklarace vlastní funkce s názvem functionName
zadejte název funkce (zadejte argument1, zadejte argument1, …, zadejte argument)
{
// tělo funkce
vrátit se();
}

Příklad funkce, která vypočítá součet druhých mocnin dvou argumentů.

int sumQwadr (int x, int y)
{
return(x* x + y*y);
}

Volání funkce probíhá takto:

d=2; b=3;
z= sumQwadr(d, b); // z bude součet druhých mocnin proměnných d a b

Funkce mohou být vestavěné, vlastní, plug-in.

Velmi krátké, ale tato data by měla stačit k zahájení psaní programů v C pro systémy Arduino.

Poslední věcí, o které bych chtěl v této lekci mluvit, je to, jak je zvykem stylizovat programy C. Myslím, že pokud tuto lekci čtete poprvé, měli byste tuto část přeskočit a vrátit se k ní později, až budete mít co dělat styl.

hlavním cílem vnější design programů je zlepšit čitelnost programů, snížit počet formálních chyb. Proto k dosažení tohoto cíle můžete bezpečně porušit všechna doporučení.

Jména v jazyce C.

Názvy reprezentující datové typy musí být zapsány ve smíšených velikostech písmen. První písmeno jména musí být velké (velké).

Signál, TimeCount

Proměnné musí být psány ve jménech se smíšenou velikostí písmen, první písmeno je malé (malé).

Kategorie: . Můžete vytvořit záložku.

Článek začíná přehledem existujících softwarových vývojových nástrojů pro moduly mikrokontrolérů, které jsou široce používány v profesionálním i amatérském vývojiArduino, Autor podrobně popisuje jeden z nich -FLProg, určeno pro uživatele, kteří se specializují na elektrotechniku ​​a elektroniku, ale neovládají programovací jazyky. Všechny akce předepsané programu jsou v tomto systému znázorněny konvenčními grafickými symboly, které jsou pro tyto specialisty vizuální a známé.

oficiální vývojové prostředí pro moduly Arduino nabízeno uživatelům pod názvem Arduino IDE ( rýže. jeden).

Programování v něm probíhá v jazyce ProcesSing / Wiring - dialektu jazyka C (spíše C ++). Prostředí je ve skutečnosti běžný textový editor se schopností překládat text programu do strojových kódů a načítat je do mikrokontroléru modulu. Alternativou k Arduino IDE je integrované prostředí AVR Studio určené pro mikrokontroléry rodiny AVR ( rýže. 2). Slouží k vývoji a ladění programů v assembleru, ale lze k němu připojit i kompilátor C. V roce 2006 se přejmenoval na Atmel Studio.

S příchodem vizuálních programovacích jazyků na ně ochotně přešli nejen radioamatéři, ale i mnozí profesionálové. Existující vývojové nástroje tohoto typu lze podmíněně rozdělit do tří typů:

FBD (Function Block Diagram) je grafický programovací jazyk podle normy IEC 61131-3. Program je seznam okruhů, vyplněných postupně shora dolů. Řetězce jsou tvořeny knihovními bloky. Blok (prvek) je podprogram, funkce nebo funkční blok (AND, OR, NOT, spouštěč, časovač, čítač, blok zpracování analogového signálu, matematická operace atd).

Každý obvod se skládá ze samostatných bloků, které se na obrazovce počítače připojují k výstupu každého bloku vstupu dalšího. Uvnitř řetězce program provádí bloky přesně v pořadí, v jakém jsou spojeny. Výsledek získaný na výstupu posledního bloku řetězce program zapíše do vnitřní proměnné nebo jej odešle na výstup regulátoru. Příklad vizuální reprezentace programu v jazyce FBD je uveden v rýže. 7.

LAD (Ladder Diagram) je jazyk žebříkové logiky, známý také jako LD a RKS.

Syntaxe tohoto jazyka je vhodná pro popis logických uzlů vytvořených na reléové technologii. Jazyk je zaměřen na automatizační specialisty pracující v průmyslových podnicích. Poskytuje vizuální zobrazení logiky regulátoru, což usnadňuje nejen samotné programování a uvádění systému do provozu, ale také rychlé odstraňování závad v zařízení připojeném k regulátoru. Program v jazyce reléové logiky má vizuální a intuitivní podobu pro elektrotechnika, ve formuláři prezentuje logické operace elektrické obvody s uzavřenými a otevřenými kontakty. Průtok nebo nepřítomnost proudu v takovém obvodu odpovídá výsledku logické operace (proud teče - pravda, proud neteče - nepravda). Příklad schématu v jazyce LAD je uveden na rýže. osm.

Hlavními prvky jazyka LAD jsou kontakty, které lze přirovnat ke kontaktním párům relé nebo tlačítek. Kontaktní pár je identifikován logickou proměnnou a stav tohoto páru je identifikován s hodnotou proměnné. Existují normálně uzavřené a normálně otevřené kontaktní prvky. Lze je přirovnat k normálně zavřeným a normálně otevřeným tlačítkům v elektrických obvodech.

Tento přístup se ukázal jako velmi vhodný pro snadný vstup elektrotechniků do vývoje automatizačních systémů. Při vývoji projektů závodu mohou snadno propojit svůj provoz s algoritmy provozu regulátoru. Při servisu instalací na místě je velmi důležité, aby personál údržby mohl snadno zkontrolovat provoz systému, najít a opravit problém, aniž by kvůli každé maličkosti volal programátora z „centra“. Dnes s pomocí takových vývojových nástrojů vznikají téměř všechny systémy průmyslové automatizace.

Na základě těchto myšlenek systém vývoje programu FLProg pracuje s moduly mikrokontroléru Arduino. Tyto moduly jsou velmi vhodné pro rychlý vývoj a ladění zařízení, což je důležité nejen pro radioamatéry, ale velmi užitečné například ve školních kroužcích a ve výukových laboratořích. Jednou z výhod je, že není potřeba žádný programátor. Stačí k počítači připojit modul Arduino a stáhnout si připravený program přímo z vývojového prostředí.

V současné době existuje bohatý výběr obou různých možností pro moduly mikrokontroléru Arduino ( rýže. 9), a také moduly, které je doplňují, například senzory a akční členy. Kromě toho na internetu (např http://robocraft.ru/) můžete najít obrovské množství hotových projektů založených na těchto modulech a přizpůsobit je svým potřebám.

V současné době pracuje systém FLProg s další verze moduly: Arduino Diecimila, Arduino Duemila-nove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Micro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro, Arduino Pro (Arduino Pro168) (ATmega328), Arduino UNO. Nedávno se objevil na seznamu a deska intel Galileo gen2. V budoucnu se plánuje doplnění tohoto seznamu, případně přidání modulů založených na mikrokontrolérech STM.

K vytvoření FLProgu byly využity zkušenosti programátorů ze společností Siemens, ABB, Schneider Electric a vývoj v jejich programovacích prostředích. Klasická funkčnost jazyků pro práci s průmyslovými regulátory byla zároveň poněkud rozšířena přidáním funkčních bloků odpovědných za práci s externí zařízení. Program funguje na počítačích se systémem Windows a Linux.

Uživatelské rozhraní FLProg je uspořádáno tak, že projekt je sada virtuálních desek, z nichž každá obsahuje kompletní modul vyvíjeného systému. Každá deska má svůj název a komentáře. Aby se ušetřilo místo v pracovní oblasti, lze ji po dokončení práce sbalit a v případě potřeby ji znovu rozmístit a provést úpravy.

Svítí červený indikátor vedle názvu desky rýže. deset znamená, že v jeho schématu jsou chyby. Po opravě chyb se indikátor rozsvítí zeleně. Šipka vedle komentáře je určena ke sbalení obrázku.

Pravé okno pracovní plochy ( rýže. jedenáct) je vyhrazen pro knihovnu prvků. Komponentu můžete do projektu přidat jednoduchým přetažením a dvojklik zobrazí informace o prvku programu. Seznam bloků uvedených v programu, jejich popis a nápovědu při práci s programem naleznete na webu. Webová stránka obsahuje seznam periferních zařízení podporovaných programem. Tyto seznamy jsou neustále aktualizovány.

Jak se program vyvíjí, plánuje se organizovat výměnu informací přes Bluetooth, rádiový kanál a rozhraní RS-485, práci s tříosým gyroskopem, expozimetrem a dalšími senzory. Další plány zahrnují vývoj SCADA systému pro přístup k systémům vyvinutým pomocí prostředí FLProg z osobního počítače nebo mobilního zařízení.

Vyvinutý" Kruhový diagram» FLProg se překládá do jazyka Processing/Wiring. Po dokončení kompilace se automaticky otevře program Arduino IDE s načtenou skicou projektu. V Arduino IDE je potřeba zadat COM port počítače, ke kterému je modul mikrokontroléru připojen, vybrat typ modulu a nahrát program do jeho mikrokontroléru.

Programovací prostředí FLProg lze upravit na programovatelné logické ovladače, který se liší od modulů Arduino, což vám umožní používat ruský software pro práci s nimi.

LITERATURA

  1. Vytvoření nápovědy pro program FLProg. – URL http://flprogwiki.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5Nápověda -%DO%BO%D0%B4%D0%BB%D1%8F_%D0%8F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC% D1%8BFLProg (23,06 15).
  2. zařízení použité v projektu. - URL