Možno majú vývojári operačných systémov pravdu, považujúc používateľa za najhoršieho nepriateľa a najnebezpečnejší vírus. A možno sa mýlia, svoje výtvory nevytvárajú pre seba, ale pre používateľov. Jedným slovom neviem. Čo však viem určite je, že chcem vidieť program S4A fungovať nielen na Windowse, ale aj na Linuxe a nielen na distribúcii Debian.

Tento proces začínam stiahnutím verzie Debianu zo stránky pre vývojárov: http://seaside.citilab.eu/scratch/arduino. Všetky stiahnuté súbory sa po dokončení sťahovania nachádzajú v priečinku „Download“ alebo „Downloads“. Archivované súbory určené pre Linux rozbalí správca archívov. Súbor, ktorý som stiahol z openSUSE, má príponu deb, ale pomocou Ark, rovnakého správcu archívov, ho možno dekomprimovať. V openSUSE s grafickým manažérom KDE 4 stačí kliknúť pravým tlačidlom myši na súbor a vybrať položku rozbaľovacej ponuky „Extrahovať do podpriečinka“. V dôsledku toho sa zobrazí priečinok s názvom S4A.

Poďme sa na to pozrieť.

Ryža. 5.1. Obsah prevzatého priečinka S4A

Dva súbory s príponou tar.gz podliehajú ďalšiemu rozbaleniu.

Ryža. 5.2. Rozbaľovacia ponuka pre prácu s archivovanými súbormi

Výsledkom je, že vedľa archívov sa zobrazí séria súborov a priečinok s názvom „usr“. Z mojej skúsenosti s Linuxom viem, že tento priečinok môže obsahovať súbory, ktoré sa po nainštalovaní nachádzajú v /usr v koreňovom súborovom systéme. Ak otvoríte tento priečinok, potom

Kapitola 5. Arduino, vizuálne programovanie

V skutočnosti v ňom môžete vidieť ďalšie tri priečinky.

Tieto tri priečinky zodpovedajú sekciám, ktoré je možné vidieť, ak otvoríte súbor „ Koreňový priečinok» v adresári /usr.

Ryža. 5.4. Oddiely adresára usr súborového systému

Myslím si, že obsah predtým stiahnutých priečinkov bin, lib a share by mal byť umiestnený do vyššie uvedených priečinkov. Ale, samozrejme, pre jednoduchého používateľa niečo zmeniť systém súborov nikto nedovolí. Preto v časti hlavného menu „Systém“ nájdeme položku „ Správca súborov“, čím sa otvorí nové podmenu, kde sa nachádza „Správca súborov (s administrátorskými právami)“. Tento manažér vám umožní preniesť všetko potrebné súbory do operačného systému. Bez toho, aby ste čokoľvek vymýšľali, otvorte priečinky paralelne v dvoch prieskumníkoch, jednoducho postupne otvorte potrebné (všetky sú pomenované) priečinky, kým sa neobjavia súbory, a skopírujte súbory.

Kapitola 5. Arduino, vizuálne programovanie

Ryža. 5.5. Portovanie programových súborov do openSUSE

Osobitná pozornosť by sa mala venovať zdieľanému priečinku, pretože má veľa podpriečinkov a zodpovedajúce priečinky by sa mali hľadať v systéme súborov.

Po skopírovaní môžete skúsiť nájsť program v hlavnom menu. A skutočne, na karte Aplikácie v časti Vývoj (mám ďalšiu časť s názvom Ďalšie programy) sa zobrazí program S4A. A môžete to dokonca spustiť. Ale po niekoľkých pohyboch myši začne visieť ...

AT terminál a openSUSE má koreňový terminál; v mene superužívateľa po predchádzajúcom pripojení modulu Arduino spustíme program. A ona pracuje. Teraz ho možno spustiť bežným spôsobom.

AT iné distribúcie Linuxu, fungovanie je podobné tým, ktoré sú popísané vyššie, rozdiely nie sú také výrazné. Aj keď som vo Fedore 14 jednoducho zmenil používateľa prihlásením sa ako root, čo by ste, samozrejme, nemali robiť, uľahčilo to umiestnenie všetkého na správne miesta.

Po nainštalovaní programu v systéme Linux sa pozrime, prečo sme ho nainštalovali?

Najprv program pracuje s modulom a ukazuje, čo sa deje na analógových a digitálnych vstupoch modulu. Čo je už dobré. Ale to nie je to hlavné. Hlavná vec, po druhé, program vám umožňuje zostaviť program a nie kód v jazyku Arduino.

Keď program začne pracovať, v ľavom okne je množstvo prvkov, ktoré je možné presunúť zdvihnutím myši do stredného okna - pracovného poľa "montáž". Presuňme prvok s názvom Štart.

Kapitola 5. Arduino, vizuálne programovanie

Ryža. 5.6. Prenos požadovaných prvkov programu

Teraz, stlačením klávesu označeného ako „ovládanie“ v poli tesne nad, získame množstvo nových prvkov.

Ryža. 5.7. Zoznam prvkov v skupine "Ovládanie".

Medzi týmito prvkami vyberieme prvok „vždy“, ktorý prenesieme do existujúceho prvku a pridáme ho tak, aby horný výrez vchádzal do rímsy.

Kapitola 5. Arduino, vizuálne programovanie

Ryža. 5.8. Pridávanie prvkov do programu

Vráťme sa k množine prvkov, s ktorými sme začali, stlačením klávesu "presunúť" a vyberieme prvok "digital 13 on", ktorý presunieme a vložíme do predchádzajúceho.

Ryža. 5.9. Príkaz aktivácie digitálneho výstupu

Zo sady prvkov „ovládanie“ si vezmeme prvok „čakaj 1 sekundu“, ktorý vložíme do prvku „vždy“ pod prvok „digitálne 13 zapnuté“. Ak chcete tento proces urýchliť, znova vložte prvok čakania, vráťte sa k prvkom pohybu a medzi dva prvky čakania pridajte prvok „digital 13 off“.

Ryža. 5.10. Program Blink v grafickej podobe

Pripomína vám tento dizajn niečo? Keď sme začali popisovať prvý program v bežnom jazyku, tak sme si ho zapísali.

Dvakrát kliknite na prvok „štart“ ľavým tlačidlom myši a pozrite sa na modul Arduino

LED na kolíku 13, ktorý bol doteraz tichý, pravidelne bliká raz za sekundu.

Program sme skompilovali, spustili a modul spustil podľa tohto programu. A nenapísali sme ani jeden riadok kódu. Z tohto dôvodu radšej rozlišujem medzi programovaním a písaním programový kód.

Kapitola 5. Arduino, vizuálne programovanie

Ale možno je to skôr stiahnutý program, ktorý funguje, a nie ten, ktorý sme zostavili?

Zastavte program opätovným dvojitým kliknutím na prvok „štart“. Klikneme ľavým tlačidlom myši na jednotku prvku „čakaj 1 sekundu“.

Ryža. 5.11. Zmena nastavení programových prvkov

Zadajte číslo 5 (ako na spodnom prvku). Spustite program... a uistite sa, že sme si nič nepoplietli, LED dióda bliká každých 5 sekúnd!

Činnosť digitálneho vstupu v „živej“ podobe sme neskúšali. Nie je čas to urobiť?

Poďme zostaviť program v S4A. Prvé "tehly" sú rovnaké ako v predchádzajúci program. Ďalej ... musíme splniť podmienku: ak je tlačidlo stlačené, rozsvietiť LED, inak zhasnúť. Existuje taký prvok - je to "ak ... alebo ...". V jeho hornej časti sa nachádza „hniezdo“, kde môžete vložiť podmienku, ktorú potrebujeme „digitálny vstup ...“.

Ryža. 5.12. Pridanie podmienky do prvku if vetvy programu

Zostáva pridať akcie, aby ste získali požadovaný typ programu.

Ryža. 5.13. Záverečná zostava programu

Ak to porovnáme s programom napísaným v jazyku Arduino, potom môžeme povedať, že jediné rozdiely sú tie, ktoré boli urobené vedome: po uvoľnení tlačidla sa LED nerozsvieti, po stlačení sa rozsvieti LED .

Kapitola 5. Arduino, vizuálne programovanie

Je čas prejsť na kontrolu. Najprv však malé varovanie.

Na schéme zobrazenej v príkladoch je tlačidlo pripojené na kolík +5 V. Odporúčam zapnúť ho trochu inak.

Najmä ak všetko kontrolujete „na váhu“. V prípade náhodnej chyby to môže dopadnúť tak, ako som dopadol ja, z modulu bude vychádzať dym, ktorý veľmi pokazí náladu. A najsprávnejším spôsobom je použiť dosku na krájanie s adaptérovými konektormi (napr Arduino Nano, myslím, že pre mikroobvod je vhodná zásuvka).

Po skontrolovaní správnych pripojení na kontaktnej doske, pripojení modulu Arduino k nej ho môžete zapojiť do konektora Počítačové USB a spustite program S4A. Upozorňujeme, že keď ste medzi digitálny vstup a zem pripojili odpor 10 kΩ, hodnoty (v pravom okne programu) sa prestali náhodne meniť medzi „false, false“ a „true, true“. Náš program spustíme dvojitým kliknutím na prvok „štart“ a prejdením do časti „Upraviť“ v hlavnej ponuke pridáme postupné vykonávanie.

Ryža. 5.14. Dodatok vykonanie krok za krokom do rutiny ladenia

Môžete tiež zvoliť rýchlosť vykonávania v položke "nastaviť jeden krok ...". A teraz, keď tlačidlo nie je stlačené, vidíme, že LED nesvieti a program sa vykonáva iba v časti, kde je nastavený.

Kapitola 5. Arduino, vizuálne programovanie

Ryža. 5.15. Spustenie programu v režime ladenia

V pravom hornom okne vidíte stav vstupu Digital1 - nepravda. Vstup je na zemi, vstup je na nízkej logickej úrovni a to je z pohľadu programu „falošný“ stav. Stlačíme tlačidlo.

Ryža. 5.16. Programovanie prevádzky po stlačení tlačidla

Stav vstupu "true" sa zmenil, LED svieti a program vstúpi do časti, kde je podmienka splnená.

Ak venujete pozornosť oranžovým prvkom v časti „ovládanie“, môžete vidieť, že mnohé z nich

Kapitola 5. Arduino, vizuálne programovanie

majú "hniezda" na vkladanie podmienok.

Podmienky sa môžu líšiť. Vyššie sme ako podmienku použili zmenu stavu digitálneho vstupu. Ale môžu existovať aj iné podmienky.

Ryža. 5.17. Hniezda na pridávanie podmienok v ovládacích prvkoch

A ešte jedna vec - dávajte pozor na čierne šípky "dole" vedľa mnohých prvkov.

Kliknite na túto šípku myšou...

Ryža. 5.18. Šípka, ktorá otvára zoznam možných senzorov

A dostaneme možnosť zmeniť, napríklad ako v tomto prípade použitý vstup. V iných prípadoch, povedzme, sa zmení výstupný kolík alebo analógový vstup. Máme veľký výber možnosti experimentovať s modulom Arduino. Prečo však s modulom? Môžeme použiť viacero modulov. Dosť, aby sa nepovedalo, že toto je jediný spôsob, prejdite na kartu „obleky“, kliknite pravým tlačidlom myši na existujúci „oblek“ a vyberte časť „prepnúť na nový objekt“.

Objaví sa ďalší modul Arduino. Ak ho máte, ak ste ho pripojili k USB vstup, potom sa s ním dá, myslím, pracovať.

Kapitola 5. Arduino, vizuálne programovanie

Ryža. 5.19. Pridanie druhého modulu Arduino

A posledná poznámka. Všetko, čo robíme v programe S4A, robíme pomocou programovacieho jazyka Scratch. ako sa ti to páči?

28 09.2016

Rozmýšľali ste nad tým, ako si uľahčiť život? Aby boli veci, ktoré by za vás vyriešili každodenné, rutinné úlohy. Inteligentné zariadenie, ktoré by užitočná funkcia, napríklad polievala záhradu, upratovala izbu, nosila náklad. Tieto úlohy sa dajú vyriešiť. Iba jeho kúpa však nebude stačiť. Akýkoľvek priemyselný logický regulátor alebo mikroobvod potrebuje „mozog“ na vykonanie určitej postupnosti akcií. V našom prípade je na vykonávanie operácií vhodný programovací jazyk Arduino.

Z tohto článku sa dozviete:

Zdravím vás priatelia! Pre tých, ktorí ma nepoznajú, volám sa Semyon Gridin. Môžete si o mne prečítať. Dnešný článok bude venovaný dvom hlavným programom, bez ktorých nebudeme mať ďalší pokrok a vzájomné porozumenie.

Všeobecný popis programovacích jazykov

Ako som napísal vyššie, zvážime dve populárne vývojové prostredia. Analogicky s, možno rozdeliť na grafický editor a inteligentný poznámkový blok. Ide o programy Arduino IDE a FLprog.

Základom vývojového prostredia je Processing / Wiring - to je obvyklé C ++, doplnené o funkcie a rôzne knižnice. Existuje niekoľko verzií prevádzky okenné systémy, Mac OS a Linux.

Aký je ich zásadný rozdiel? Arduino IDE je vývojové prostredie, ktoré popisuje programový kód. A FLprog je podobný CFC CoDeSyS, ktorý vám umožňuje kresliť diagramy. Ktoré prostredie je najlepšie? Oba sú dobré a pohodlné svojím vlastným spôsobom, ale ak to chcete s ovládačmi myslieť vážne, najlepšie je naučiť sa jazyky ako C. Ich hlavnou výhodou je flexibilita a neobmedzenosť algoritmu. Veľmi sa mi páči Arduino IDE.

Popis Arduino IDE

Distribúciu je možné stiahnuť z oficiálna web stránka. Stiahnite si archív, zaberie to o niečo viac ako 100 MB. Inštalácia je štandardná, ako všetky aplikácie pre Windows. V balení musia byť nainštalované ovládače pre všetky typy dosiek. A takto to vyzerá pracovné okno programy.

Vývojové prostredie Arduino pozostáva z:

  • editor kódu;
  • oblasti správ;
  • textové výstupné okná;
  • panely nástrojov s tlačidlami pre často používané príkazy;
  • viaceré menu

Nastavenia Arduino IDE

Program napísaný vo vývojovom prostredí Arduino je tzvskica. Náčrt je napísaný v textovom editore, ktorý má farebné zvýraznenie vygenerovaného programového kódu. Príklad jednoduchého programu na obrázku nižšie.

Je možné pridať ďalšie funkcieknižnice,čo je špeciálne navrhnutý kód. V podstate je to v prístupe uzavretom od vývojára. Médium sa zvyčajne dodáva s štandardná sada ktoré je možné postupne dopĺňať. Sú v podadresáriknižnice Arduino adresár.

Mnohé knižnice sú dodávané s príkladmi umiestnenými v priečinkupríklad.Výber knižnice z ponuky pridá do zdroj linky:

Arduino

#include

#include

Toto je smernica - nejaký druh pokynu, hlavičkový súbor s popisom objektov, funkcií a knižničných konštánt. Pre väčšinu typických úloh už bolo vyvinutých veľa funkcií. Verte mi, že to uľahčuje život programátorovi.

Potom, čo sme pripojili elektronickú dosku k počítaču. Vykonávame nasledujúce nastavenia- vyberieme dosku Arduino a Com-port, na ktorý sa pripojíme.

Arduino

void setup() ( // inicializácia digitálneho pinu 13 ako výstupu. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000 );

void setup()(

// inicializuje digitálny pin 13 ako výstup.

pinMode(13, OUTPUT) ;

void loop()(

digitalWrite (13, HIGH);

oneskorenie(1000) ;

digitalWrite (13, LOW);

oneskorenie(1000) ;

Takže, mimochodom, je vhodné skontrolovať výkon dosky, ktorá prišla z obchodu. Rýchle a jednoduché.

Je tu ešte jedna šikovná vec. Volá saSériový monitor (Sériový monitor). Zobrazuje údaje odoslané na platformuArduino.Väčšinou sa pozerám, aké signály mi dávajú rôzne senzory pripojený k doske.

Prepojenie knižníc

Existovať rôzne cesty na pridanie vlastných funkcií. Existujú tri spôsoby, ako zahrnúť knižnice:

  1. Používanie správcu knižnice
  2. Importovaním ako súbor .zip
  3. Inštalácia manuálne.

1. Používanie správcu knižnice.V pracovnom okne programu vyberte kartu Náčrt. Potom kliknite na tlačidlo Pridať knižnicu. Pred nami otvorí vedúci knižnice. Okno sa už zobrazí nainštalované súbory s podpisomnainštalovaný,a tie, ktoré sa dajú nainštalovať.

2. Importovaním ako súbor .zip.Na internete často nájdete súbory knižnice zabalené do archívov s príponou zip. Obsahuje hlavičkový súbor .h a súbor s kódom .cpp. Počas inštalácie nie je potrebné rozbaľovať archív. Stačí v menu Sketch - Connect Library - Add .ZIP library

3.Manuálna inštalácia.Najprv zatvorte program Arduino IDE. Najprv rozbalíme náš archív. A súbory s príponou .h a .cpp prenášame do priečinka s rovnakým názvom ako archív. Priečinok umiestnime do koreňového adresára.

Moje dokumenty\Arduino\knižnice

Popis FLPprog

FLprog je bezplatný projekt tretej strany, ktorý vám umožňuje pracovať s funkčnými blokmi alebo rebríkovými diagramami. Toto prostredie je vhodné pre ľudí – nie pre programátorov. Umožňuje vám vizuálne a vizuálne vidieť algoritmus pomocou diagramov a funkčných blokov. Distribúciu je možné stiahnuť z oficiálna web stránka.

Projekt sledujem už dlhšie. Chalani sa vyvíjajú, neustále pridávajú nové funkcie a menia tú starú. V tomto prostredí vidím perspektívy. Pretože plní dve dôležité funkcie:jednoduchosť a jednoduchosť použitia.

Skúsme s vami vytvoriť jednoduchý projekt. Výstup 13 prepneme na LED.

Vytvorte nový projekt. AT horné okno pridajte požadovaný počet vstupov a výstupov, nastavte názov a priraďte fyzický vstup alebo výstup dosky.

Vytiahneme prvky, ktoré potrebujeme zo stromu objektov, prvky, ktoré potrebujeme na editačnom plátne. V našom prípade môžeme na zapnutie a vypnutie použiť jednoduchú RS žabku.

Po vytvorení algoritmu kliknite na tlačidlo kompilácie, program poskytne hotovú skicu na IDE.

Zvážili sme možnosti a pohodlie programov na vývoj algoritmov na ovládači série Arduino. Existujú aj programy, ktoré vám umožňujú vytvárať štrukturálne diagramy a vizuálne obrázky. Ale odporúčam použiť textový editor lebo potom ti to pôjde ľahšie. Povedz mi, aké prostredie preferuješ a prečo?

22. septembra som sa zúčastnil seminára v Krasnodare "Dotykové ovládače ARIES SPK". Konferenciu sme uskutočnili v módnom a krásny hotel"Bristol". Bolo to veľmi zaujímavé a cool.

V prvej časti seminára nám boli povedané o možnostiach a výhodách produktov OWEN. Potom bola prestávka na kávu so šiškami. Dostal som kopu všetkého a šišky, sušienky a sladkosti, pretože som bol veľmi hladný. =)

V druhej časti seminára po obede sme boli prezentovaní. Veľa vecí bolo povedané o webe - vizualizácii. Tento trend začína naberať na obrátkach. No, samozrejme, ovládanie zariadenia cez akýkoľvek internetový prehliadač. Je to fakt super. Mimochodom, samotné vybavenie je v kufri.

V blízkej budúcnosti zverejním sériu článkov o CoDeSyS 3.5. Takže ak má niekto záujem, prihláste sa na odber alebo príďte. Vždy budem šťastný!

Mimochodom, skoro by som zabudol, ďalší článok bude o elektronickej doske Arduino. Bude to zaujímavé, nenechajte si to ujsť.

Uvidíme sa v ďalších článkoch.

S pozdravom Gridin Semyon.

Dosky kompatibilné s Arduino sú naprogramované v jazyku Wiring, ktorý je syntaxou veľmi podobný jazyku C. Avšak môj osobná skúsenosť tento jazyk je pre deti vo veku 11-13 rokov ťažké zvládnuť, najmä ak predtým deti vytvárali programy v LabView preťahovaním blokov na plochu. Mnoho detí, ktoré majú radi robotiku, dobre pozná vizuálny programovací jazyk Scratch, na základe ktorého už existuje veľa riešení pre vzdelávanie. Medzi takéto riešenia pre Arduino bol vytvorený nástroj napísaný v jazyku Java s názvom ArduBloсk.

Áno, niekto by mohol povedať, že Scratch for Arduino (s4a) stále existuje a je to tiež veľmi jednoduché grafické prostredie pre programovanie Arduina. Scratch ale Arduino nebliká, ale iba ho cez neho ovláda USB kábel. Arduino je závislé od počítača a nemôže fungovať autonómne. Pri vytváraní vlastných projektov je autonómia pre Arduino hlavnou vecou, ​​najmä pri vytváraní robotických zariadení.

Takže, čo je ArduBlock?Je to grafické programovacie prostredie. Takmer kompletne preložené do ruštiny. Ale v ArduBloсk je vrcholom nielen toto, ale aj skutočnosť, že nami napísaný program ArduBloсk je prevedený na kód Arduino IDE. Tento program je zabudovaný do programovacieho prostredia Arduino IDE, t.j. je to plugin!

Nižšie je uvedený príklad blikajúcej LED a konvertovaného programu v Arduino IDE. Celá práca s programom je veľmi jednoduchá a pochopí ju každý študent.


Vďaka práci na programe môžete Arduino nielen programovať, ale aj učiť sa pre nás nezrozumiteľné príkazy v textový formát Arduino IDE, ale ak ste príliš leniví na písanie štandardných príkazov, mali by ste rýchlo načrtnúť jednoduchý program v ArduBloku pomocou rýchlych manipulácií myšou a odladiť ho v Arduino IDE.

Ak chcete nainštalovať ArduBlok, musíte postupovať podľa pokynov nižšie, ale stále budete musieť tancovať s tamburínou, pretože v r. najnovšie verzie Arduino IDE tento plugin nefunguje. Ak nechcete tancovať s tamburínami, potom vám navrhujem stiahnuť archív s už integrovaným nástrojom ArduBloсk pre Arduino IDE 1.6.11. Táto verzia nevyžaduje inštaláciu. Potrebujete iba rozbaliť priečinok na vhodné miesto a spustiť Arduino IDE. A NEZABUDNI Inštalácia virtuálny prístroj Java, je potrebná pre normálnu prevádzku tohto pluginu, Java si môžete stiahnuť z oficiálnej stránky, inštalácia trvá 1-2 minúty.

Stiahnite si Arduino IDE 1.6.11 s ArduBlock

Návod na tanec s tamburínou: Ak chcete začať, stiahnite si a nainštalujte Arduino IDE z oficiálnej webovej stránky. Arduino a vysporiadať sa s nastaveniami pri práci s doskou Arduino UNO. Ako to urobiť, je popísané na tej istej stránke alebo na Amperke alebo si to pozrite na YouTube. Keď sme na to všetko prišli, musíte si stiahnuť ArduBlok z oficiálnej webovej stránky tu .

Potom stiahnutý súbor premenujeme na ardublock-all a v priečinku „documents“. Vytvorte si tieto priečinky: Arduino > tools > ArduBlockTool > tool a do toho druhého hodíme stiahnutý a premenovaný súbor. ArduBlok funguje pre každého operačné systémy, aj na Linuxe, osobne som to testoval na XP, Win7, Win8, vsetky priklady su pre Win7. Inštalácia programu je rovnaká pre všetky systémy.

Táto lekcia poskytuje minimálne znalosti potrebné na programovanie systémov Arduino v jazyku C. Môžete si ju len prezerať a potom ju používať ako informácie o pozadí. Tí, ktorí programovali v C na iných systémoch, môžu tento článok preskočiť.

Opäť je to nevyhnutné minimum. Popis ukazovateľov, tried, reťazcových premenných atď. budú uvedené v neskorších lekciách. Ak niečo nedáva zmysel, netrápte sa. V budúcich lekciách bude veľa príkladov a vysvetlení.

Štruktúra programu Arduino.

Štruktúra programu Arduino je pomerne jednoduchá a vo svojej minimálnej podobe pozostáva z dvoch častí setup() a loop().

void setup()(

void loop() (

Funkcia setup() sa vykoná raz, keď je ovládač zapnutý alebo resetovaný. Väčšinou v ňom prebieha prvotné nastavenie premenných a registrov. Funkcia musí byť v programe prítomná, aj keď v ňom nič nie je.

Po dokončení setup() prejde riadenie na funkciu loop(). Vykonáva príkazy napísané v jeho tele (medzi zloženými zátvorkami) v nekonečnej slučke. V skutočnosti tieto príkazy vykonávajú všetky algoritmické akcie ovládača.

Pôvodné pravidlá syntaxe jazyka C.

; bodkočiarka Výrazy môžu obsahovať ľubovoľne veľký počet medzier, zalomení riadkov. Znakom konca výrazu je symbol "bodkočiarka".

z = x + y
z = x
+y;

( ) kučeravé zátvorky definovať funkciu alebo blok výrazu. Napríklad vo funkciách setup() a loop().

/* … */ blok komentárov určite zatvorte.

/* toto je blok komentárov */

// jednoriadkový komentár, netreba zatvárať, platí do konca riadku.

// toto je jeden riadok komentára

Premenné a dátové typy.

Premenná je bunka Náhodný vstup do pamäťe v ktorom sú informácie uložené. Program používa premenné na ukladanie medzivýpočtových údajov. Na výpočty možno použiť údaje rôznych formátov, rôznych bitových hĺbok, takže premenné v jazyku C majú nasledujúce typy.

Dátový typ Bitová hĺbka, bit Rozsah čísel
boolovská hodnota 8 pravda lož
char 8 -128 … 127
nepodpísaný char 8 0 … 255
byte 8 0 … 255
int 16 -32768 … 32767
nepodpísaný int 16 0 … 65535
slovo 16 0 … 65535
dlhý 32 -2147483648 … 2147483647
nepodpísané dlhé 32 0 … 4294967295
krátky 16 -32768 … 32767
plavák 32 -3.4028235+38 … 3.4028235+38
dvojitý 32 -3.4028235+38 … 3.4028235+38

Typy údajov sa vyberajú na základe požadovanej presnosti výpočtu, formátov údajov atď. Napríklad pri počítadle, ktoré počíta do 100, nie je potrebné voliť dlhý typ. Bude to fungovať, ale operácia zaberie viac dát a programovej pamäte, zaberie viac času.

Deklarovanie premenných.

Je špecifikovaný typ údajov, za ktorým nasleduje názov premennej.

intx; // deklarácia premennej s názvom x typu int
float-widthBox; // deklarácia premennej s názvom widthBox typu float

Všetky premenné musia byť pred použitím deklarované.

Premenná môže byť deklarovaná v ktorejkoľvek časti programu, záleží však na tom, ktoré bloky programu ju môžu použiť. Tie. premenné majú rozsahy.

  • Premenné deklarované na začiatku programu pred funkciou void setup() sa považujú za globálne a sú dostupné kdekoľvek v programe.
  • Lokálne premenné sú deklarované v rámci funkcií alebo blokov, ako je napríklad cyklus for, a možno ich použiť iba v rámci deklarovaných blokov. Je možné použiť viacero premenných s rovnakým názvom, ale s rôznymi rozsahmi.

intmode; // premenná je dostupná pre všetky funkcie

void setup()(
// prázdny blok, nie sú potrebné žiadne počiatočné nastavenia
}

void loop() (

dlhý počet; // premenná count je dostupná len vo funkcii loop().

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

Pri deklarovaní premennej môžete nastaviť jej počiatočnú hodnotu (inicializovať).

int x = 0; // premenná x je deklarovaná s počiatočnou hodnotou 0
char d = 'a'; // premenná d je deklarovaná s počiatočnou hodnotou rovnou kódu znaku „a“

O aritmetické operácie s odlišné typy dáta sú automaticky konvertované dátové typy. Ale je lepšie vždy použiť explicitnú konverziu.

intx; // premenná int
chary; // premenná char
intz; // premenná int

z = x + (int) y; // premenná y explicitne prevedená na int

Aritmetické operácie.

vzťahové operácie.

logické operácie.

Operácie na ukazovateľoch.

bitové operácie.

& A
| ALEBO
^ EXKLUZÍVNE ALEBO
~ INVERZIA
<< POSUN DOĽAVA
>> POSUN DOPRAVA

Zmiešané priraďovacie operácie.

Výber možností, správa programu.

vyhlásenie IF otestuje podmienku v zátvorkách a vykoná nasledujúci výraz alebo blokovanie kučeravé zátvorky ak je podmienka pravdivá.

if (x == 5) // ak x=5, potom sa vykoná z=0
z = 0;

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

AK...INAK vám umožňuje vybrať si z dvoch možností.

if (x > 5) // ak x > 5, tak sa vykoná blok z=0, y=8;
{
z = 0;
y=8;
}

{
z = 0;
y=0;
}

INÁČ AK- umožňuje vykonať viacero výberov

if (x > 5) // ak x > 5, tak sa vykoná blok z=0, y=8;
{
z = 0;
y=8;
}

else if (x > 20) // ak x > 20, vykonajte tento blok
{
}

else // inak sa tento blok vykoná
{
z = 0;
y=0;
}

POUZDRO SPÍNAČA- viacero možností. Umožňuje porovnať premennú (v príklade je to x) s niekoľkými konštantami (v príklade 5 a 10) a vykonať blok, v ktorom sa premenná rovná konštante.

prepínač(x)(

prípad 5:
// kód sa vykoná, ak x = 5
prestávka;

prípad 10:
// kód sa vykoná, ak x = 10
prestávka;

predvolene:
// kód sa vykoná, ak sa nezhoduje žiadna z predchádzajúcich hodnôt
prestávka;
}

slučka FOR. Konštrukcia umožňuje organizovať cykly s daným počtom iterácií. Syntax vyzerá takto:

for (akcia pred začiatkom cyklu;
podmienka pre pokračovanie cyklu;
akcia na konci každej iterácie) (

// kód tela slučky

Príklad cyklu 100 iterácií.

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

{
súčet = súčet + I;
}

slučka WHILE. Prevádzkovateľ vám umožňuje organizovať cykly so stavbou:

kým (výraz)
{
// kód tela slučky
}

Cyklus sa vykonáva, pokiaľ je výraz v zátvorkách pravdivý. Príklad cyklu pre 10 iterácií.

x = 0;
zatiaľ čo (x< 10)
{
// kód tela slučky
x++;
}

ROBIŤ CHVÍĽU je slučka s podmienkou na výstupe.

robiť
{
// kód tela slučky
) while (výraz);

Cyklus sa vykoná, kým je výraz pravdivý.
PRESTÁVKA- operátor výstupu slučky. Používa sa na prerušenie vykonávania pre slučky, zatiaľ čo, robiť kým.

x = 0;
zatiaľ čo (x< 10)
{
if (z > 20) break; // ak z > 20, ukončite cyklus
// kód tela slučky
x++;
}

ÍSŤ DO je operátor bezpodmienečného skoku.

goto label1; // prepnite na metka1
………………
metka1:

ĎALEJ- Preskočiť príkazy na koniec tela cyklu.

x = 0;
zatiaľ čo (x< 10)
{
// kód tela slučky
ak (z > 20) pokračovať; // ak z > 20, potom sa vráťte na začiatok tela cyklu
// kód tela slučky
x++;
}

Polia.

Pole je oblasť pamäte, kde sú postupne uložené viaceré premenné.

Pole je deklarované takto.

int vek; // pole 10 premenné typu int

plávajúca váha; // pole 100 float premenných

Pri deklarácii je možné polia inicializovať:

int vek = (23, 54, 34, 24, 45, 56, 23, 23, 27, 28);

K premenným poľa sa pristupuje takto:

x = vek; // x je priradená hodnota prvku 5 poľa.
vek=32; // prvok poľa 9 je nastavený na 32

Prvky poľa sú vždy číslované od nuly.

Funkcie.

Funkcie vám umožňujú vykonávať rovnaké akcie s rôznymi údajmi. Funkcia má:

  • meno, ktorým sa volá;
  • argumenty - údaje, ktoré funkcia používa na výpočet;
  • dátový typ vrátený funkciou.

Opisuje používateľom definovanú funkciu mimo funkcií setup() a loop().

void setup()(
// kód sa vykoná raz pri spustení programu
}

void loop() (
// hlavný kód, beží v slučke
}

// deklarácia vlastnej funkcie s názvom functionName
zadajte názov funkcie (napíšte argument1, zadajte argument1, ..., zadajte argument)
{
// telo funkcie
return();
}

Príklad funkcie, ktorá vypočítava súčet druhých mocnín dvoch argumentov.

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

Volanie funkcie prebieha takto:

d = 2; b = 3;
z= sumQwadr(d, b); // z bude súčet druhých mocnín premenných d a b

Funkcie môžu byť vstavané, vlastné, zásuvné.

Veľmi krátke, ale tieto údaje by mali stačiť na začatie písania programov v jazyku C pre systémy Arduino.

Posledná vec, o ktorej by som chcel v tejto lekcii hovoriť, je to, ako je zvykom upravovať programy v jazyku C. Myslím si, že ak čítate túto lekciu prvýkrát, mali by ste túto časť preskočiť a vrátiť sa k nej neskôr, keď budete mať čo robiť štýl.

hlavným cieľom vonkajší dizajn programov je zlepšiť čitateľnosť programov, znížiť počet formálnych chýb. Preto na dosiahnutie tohto cieľa môžete bezpečne porušiť všetky odporúčania.

Názvy v jazyku C.

Názvy reprezentujúce dátové typy musia byť napísané zmiešaným písmom. Prvé písmeno mena musí byť veľké (veľké).

Signál, TimeCount

Premenné je potrebné písať v názvoch so zmiešanými veľkými písmenami, prvé písmeno je malé (malé).

Kategória: . Môžete si uložiť záložku.

Článok začína prehľadom existujúcich nástrojov na vývoj softvéru pre moduly mikrokontrolérov, ktoré sú široko používané v profesionálnom a amatérskom vývojiArduino, Autor podrobne opisuje jeden z nich -FLProg, určené pre používateľov, ktorí sa špecializujú na elektrotechniku ​​a elektroniku, ale neovládajú programovacie jazyky. Všetky akcie predpísané pre program sú v tomto systéme znázornené konvenčnými grafickými symbolmi, ktoré sú týmto odborníkom známe a známe.

oficiálne vývojové prostredie pre moduly Arduino ponúkané používateľom pod názvom Arduino IDE ( ryža. jeden).

Programovanie v ňom prebieha v jazyku ProcesSing / Wiring – dialekte jazyka C (skôr C ++). Prostredie je v skutočnosti bežný textový editor s možnosťou preložiť text programu do strojových kódov a načítať ich do mikrokontroléra modulu. Alternatívou k Arduino IDE je integrované prostredie AVR Studio určené pre mikrokontroléry rodiny AVR ( ryža. 2). Slúži na vývoj a ladenie programov v assembleri, no možno k nemu pripojiť aj kompilátor C. V roku 2006 zmenil názov na Atmel Studio.

S príchodom vizuálnych programovacích jazykov na ne ochotne prešli nielen rádioamatéri, ale aj mnohí profesionáli. Existujúce vývojové nástroje tohto typu možno podmienečne rozdeliť do troch typov:

FBD (Function Block Diagram) je grafický programovací jazyk podľa normy IEC 61131-3. Program je zoznam okruhov, vyplnených postupne zhora nadol. Reťazce sú tvorené z knižničných blokov. Blok (prvok) je podprogram, funkcia alebo funkčný blok (AND, OR, NOT, spúšťač, časovač, čítač, blok spracovania analógového signálu, matematická operácia atď).

Každý obvod sa skladá zo samostatných blokov, ktoré sa na obrazovke počítača pripájajú k výstupu každého bloku a vstupu ďalšieho. Vo vnútri reťazca program vykonáva bloky presne v poradí, v akom sú spojené. Program zapíše výsledok získaný na výstupe posledného bloku reťazca do internej premennej alebo ho pošle na výstup regulátora. Príklad vizuálnej reprezentácie programu v jazyku FBD je uvedený v ryža. 7.

LAD (Ladder Diagram) je jazyk rebríkovej logiky, známy aj ako LD a RKS.

Syntax tohto jazyka je vhodná na popis logických uzlov vytvorených na reléovej technológii. Jazyk je určený pre špecialistov na automatizáciu pracujúcich v priemyselných podnikoch. Poskytuje vizuálne zobrazenie logiky regulátora, čo uľahčuje nielen samotné programovanie a uvedenie systému do prevádzky, ale aj rýchle odstraňovanie porúch v zariadeniach pripojených k regulátoru. Program v jazyku reléovej logiky má pre elektrotechnika vizuálnu a intuitívnu formu, ktorá vo formulári prezentuje logické operácie elektrické obvody s uzavretými a otvorenými kontaktmi. Prietok alebo neprítomnosť prúdu v takomto obvode zodpovedá výsledku logickej operácie (tečie prúd - pravda, prúd netečie - nepravda). Príklad schémy v jazyku LAD je uvedený na ryža. osem.

Hlavnými prvkami jazyka LAD sú kontakty, ktoré možno prirovnať ku kontaktným párom relé alebo tlačidiel. Kontaktný pár je identifikovaný logickou premennou a stav tohto páru je identifikovaný s hodnotou premennej. Existujú normálne uzavreté a normálne otvorené kontaktné prvky. Možno ich prirovnať k normálne zatvoreným a normálne otvoreným tlačidlám v elektrických obvodoch.

Tento prístup sa ukázal ako veľmi vhodný pre ľahký vstup elektrotechnikov do vývoja automatizačných systémov. Pri vývoji projektov závodu môžu jednoducho prepojiť svoju prevádzku s algoritmami prevádzky regulátora. Pri servise inštalácií na mieste je veľmi dôležité, aby personál údržby mohol jednoducho skontrolovať fungovanie systému, nájsť a opraviť problém bez toho, aby pri každej maličkosti volal programátora z „centra“. Dnes sa pomocou takýchto vývojových nástrojov vytvárajú takmer všetky systémy priemyselnej automatizácie.

Na základe týchto konceptov systém vývoja programu FLProg pracuje s modulmi mikrokontroléra Arduino. Tieto moduly sú veľmi vhodné pre rýchly vývoj a ladenie zariadení, čo je dôležité nielen pre rádioamatérov, ale veľmi užitočné napríklad aj v školských krúžkoch a vo vzdelávacích laboratóriách. Jednou z výhod je, že nie je potrebný žiadny programátor. K počítaču stačí pripojiť modul Arduino a stiahnuť si pripravený program priamo z vývojového prostredia.

V súčasnosti existuje bohatý výber oboch rôznych možností pre moduly mikrokontrolérov Arduino ( ryža. 9), ako aj moduly, ktoré ich dopĺňajú, napríklad snímače a akčné členy. Okrem toho na internete (napríklad na webovej stránke http://robocraft.ru/) môžete nájsť obrovské množstvo hotových projektov založených na týchto moduloch a prispôsobiť si ich svojim potrebám.

V súčasnosti pracuje systém FLProg s ďalšie verzie 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 (ATmega168), Arduino Pro168 (ATmega328), Arduino UNO. Nedávno sa objavil na zozname a doska Intel Galileo gen2. V budúcnosti sa plánuje doplniť tento zoznam a prípadne pridať moduly založené na mikrokontroléroch STM.

Na vytvorenie FLProgu boli využité skúsenosti programátorov zo spoločností Siemens, ABB, Schneider Electric a vývoj v ich programovacích prostrediach. Klasická funkcionalita jazykov pre prácu s priemyselnými ovládačmi bola zároveň trochu rozšírená pridaním funkčných blokov zodpovedných za prácu s externých zariadení. Program funguje na počítačoch so systémom Windows a Linux.

Používateľské rozhranie FLProg je usporiadané tak, že projekt je súborom virtuálnych dosiek, z ktorých každá obsahuje kompletný modul vyvíjaného systému. Každá tabuľa má názov a komentár. Aby sa ušetrilo miesto v pracovnej oblasti, môže sa po dokončení práce na nej zložiť a v prípade potreby ju znova nasadiť a upraviť.

Zapnutý červený indikátor vedľa názvu dosky ryža. desať naznačuje, že v jeho schéme sú chyby. Po oprave chýb sa indikátor rozsvieti na zeleno. Šípka vedľa komentára je určená na zbalenie obrázka.

Pravé okno pracovného priestoru ( ryža. jedenásť) je rezervovaný pre knižnicu prvkov. Komponent môžete do projektu pridať jednoduchým pretiahnutím myšou a dvojité kliknutie zobrazí informácie o prvku programu. Zoznam blokov uvedených v programe, ich popis a pomoc pri práci s programom nájdete na webovej stránke. Webová stránka obsahuje zoznam periférnych zariadení podporovaných programom. Tieto zoznamy sú neustále aktualizované.

Ako sa program vyvíja, plánuje sa organizovať výmenu informácií cez Bluetooth, rádiový kanál a rozhranie RS-485, pracovať s trojosovým gyroskopom, meračom svetla a ďalšími senzormi. Ďalšie plány zahŕňajú vývoj SCADA systému pre prístup k systémom vyvinutým pomocou prostredia FLProg z osobného počítača alebo mobilného zariadenia.

Vyvinuté" schému zapojenia» FLProg sa prekladá do jazyka spracovania/zapojenia. Po dokončení kompilácie sa automaticky otvorí program Arduino IDE s načítanou skicou projektu. V Arduino IDE je potrebné špecifikovať COM port počítača, ku ktorému je pripojený modul mikrokontroléra, vybrať typ modulu a nahrať program do jeho mikrokontroléra.

Programovacie prostredie FLProg je možné prispôsobiť programovateľnému logické ovládače, ktorý sa líši od modulov Arduino, čo vám umožní používať ruský softvér na prácu s nimi.

LITERATÚRA

  1. Vytvorenie nápovedy pre 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%B5Pomocník -%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. zariadenia použité v projekte. - URL