Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Greșeli
  • Programare Arduino pentru începători în limba rusă. Arduino - Bazele programarii

Programare Arduino pentru începători în limba rusă. Arduino - Bazele programarii

Vei avea nevoie

  • Placa Arduino UNO;
  • cablu USB (USB A - USB B);
  • Calculator personal;
  • Dioda electro luminiscenta;
  • o pereche de fire de legătură de 5-10 cm lungime;
  • dacă este disponibilă, o placă de breadboard.
Arduino IDE

Descărcați mediul de dezvoltare Arduino (Arduino IDE) de pe site-ul oficial al sistemului dvs. de operare (sunt acceptate Windows, Mac OS X, Linux). Puteți alege un instalator ( instalator), puteți arhiva ( Fișier ZIP pentru instalare non-admin). În al doilea caz, programul este pur și simplu lansat din folder, fără instalare. Fișierul descărcat conține, pe lângă mediul de dezvoltare, drivere pentru plăcile din familia Arduino.

Descărcați Arduino IDE de pe site-ul oficial

2 Conexiune Arduino la calculator

Conectați placa Arduino cu un cablu USB (de tip USB-A la USB-B) la computer. LED-ul verde ON de pe placă ar trebui să se aprindă.


Cablu "USB-A - USB-B" pentru conectarea Arduino la un computer

3 Instalarea driverului pentru Arduino

Instalați driverul Arduino. Luați în considerare opțiunea de instalare pe sistemul de operare Windows. Pentru a face acest lucru, așteptați până când sistemul de operare vă solicită să instalați driverul. Refuza. Apăsați tastele câștig+pauză, alerga Manager de dispozitiv. Găsiți o secțiune „Porturi (COM și LPT)”. Veți vedea un port acolo cu numele Arduino UNO (COMxx). Faceți clic dreapta pe el și selectați Actualizați driver-ul. Spuneți sistemului de operare locația driverului. Este în subdirector şoferiiîn folderul pe care tocmai l-am descărcat.

Luați notă de portul la care este conectată placa Arduino. Pentru a afla numărul portului, deschideți managerul de dispozitive și găsiți secțiunea „Porturi (COM și LPT)”. Numărul portului va fi afișat între paranteze după numele plăcii. Dacă placa nu este listată, încercați să o deconectați de la computer și, după ce așteptați câteva secunde, reconectați-o.

Arduino în Windows Device Manager

4 Setare Arduino IDE

Specificați placa pentru mediul de dezvoltare. Pentru a face acest lucru, meniul Table de instrumente Selectați Arduino UNO.


Selectați placa Arduino UNO din setări

Specificați numărul portului COM la care este conectată placa Arduino: Port pentru instrumente.


Setați portul serial la care este conectată placa Arduino

5 Deschiderea exemplului programe

Mediul de dezvoltare conține deja multe exemple de programe pentru studierea funcționării plăcii. Deschideți exemplul „Blink”: Exemple de fișiere 01. Elemente de bază Blink.Apropo, programele pentru Arduino se numesc „schițe”.


Deschiderea exemplului de schiță pentru Arduino

6 Ansamblu de circuit cu LED

Deconectați Arduino de la computer. Asamblați circuitul așa cum se arată în figură. Vă rugăm să rețineți că piciorul scurt al LED-ului trebuie să fie conectat la pinul GND, piciorul lung la pinul digital „13” al plăcii Arduino. Este convenabil să folosiți o placă, dar dacă nu este disponibilă, conectați firele cu o răsucire.

Pinul digital „13” are o rezistență încorporată pe placă. Prin urmare, atunci când conectați LED-ul la placă, nu este necesar să utilizați un rezistor extern de limitare a curentului. La conectarea LED-ului la orice alți pini Arduino este obligatorie folosirea unui rezistor, altfel vei arde LED-ul, iar în cel mai rău caz, portul Arduino la care este conectat LED-ul!


Schemă pentru conectarea unui LED la Arduino în memoria Arduino

Acum puteți descărca programul în memoria plăcii. Conectați placa la computer, așteptați câteva secunde în timp ce placa se inițializează. Faceți clic pe butonul Descarca, iar schița dvs. va fi scrisă pe placa Arduino. LED-ul ar trebui să înceapă să clipească vesel la fiecare 2 secunde (1 secundă aprins, 1 stins). Mai jos este codul pentru primul nostru program Arduino.

void setup()(// bloc de inițializare pinMode(13, OUTPUT); // setați pinul 13 ca ieșire. } void loop() (// buclă care se repetă la infinit în timp ce placa este pornită: digitalWrite(13, HIGH); // aplicăm un nivel înalt pinului 13 - aprindem LED-ul delay(1000); // la 1000 ms = 1 sec. digitalWrite(13, LOW); // aplicăm un nivel scăzut pinului 13 - stingem LED-ul de întârziere (1000); // timp de 1 sec. } // apoi ciclul se repetă

Citiți comentariile din textul programului - sunt suficiente pentru a face față primului nostru experiment. Mai întâi, descriem blocul de inițializare înființat(), în care setăm valorile inițiale ale variabilelor și funcțiile pinilor Arduino. Urmează o buclă nesfârșită buclă(), care se repetă iar și iar atâta timp cât se aplică puterea tablei. În acest ciclu, efectuăm toate acțiunile necesare. În acest caz, pornim și oprim LED-ul. Operator întârziere() setează durata de execuție (în milisecunde) a instrucțiunii precedente. Operator digitalWrite() spune Arduino la ce pin să aplice tensiune și la ce nivel de tensiune. Prima ta schiță este gata!

Există multe site-uri în rețea dedicate lucrului cu plăci din familia Arduino. Citiți, învățați, nu vă fie frică să experimentați și să învățați lucruri noi! Aceasta este o activitate interesantă și utilă, care vă va aduce multă plăcere.

Notă

Aveți grijă când lucrați cu placa Arduino - este un produs electronic care necesită o manipulare atentă. Există conductori expuși pe partea de jos a plăcii, iar dacă așezați placa pe o suprafață conductoare, există șansa de a arde placa. De asemenea, nu atingeți placa cu mâinile umede sau ude și evitați mediile umede atunci când lucrați.

Buna! Sunt Alikin Alexander Sergeevich, profesor de educație suplimentară, conduc cercurile „Robotică” și „Inginerie radio” din Teatrul Central pentru Copii și Tineret din Labinsk. Aș dori să vorbesc puțin despre un mod simplificat de a programa Arduino folosind programul ArduBloсk.

Am introdus acest program în procesul educațional și sunt încântat de rezultat, este deosebit de solicitat în rândul copiilor, mai ales la scrierea unor programe simple sau pentru realizarea unei etape inițiale a unor programe complexe. ArduBloсk este un mediu de programare grafic, adică toate acțiunile sunt efectuate cu imagini desenate cu acțiuni semnate în limba rusă, ceea ce simplifică foarte mult învățarea platformei Arduino. Copiii din clasa a II-a pot stăpâni cu ușurință lucrul cu Arduino datorită acestui program.

Da, unii ar putea spune că Scratch încă există și este, de asemenea, un mediu grafic foarte simplu pentru programarea Arduino. Dar Scratch nu flashează Arduino, ci îl controlează doar folosind un cablu USB. Arduino depinde de computer și nu poate funcționa autonom. Atunci când creați propriile proiecte, autonomia pentru Arduino este principalul lucru, mai ales atunci când creați dispozitive robotizate.

Chiar și cunoscuții roboți LEGO, precum NXT sau EV3, nu mai sunt atât de interesanți pentru studenții noștri odată cu apariția programului ArduBloсk în programarea Arduino. De asemenea, Arduino este mult mai ieftin decât orice designer LEGO și multe componente pot fi pur și simplu luate din electronice de larg consum. Programul ArduBloсk va ajuta nu numai începătorii, ci și utilizatorii activi ai platformei Arduino în munca lor.

Deci, ce este ArduBlock? După cum am spus, acesta este un mediu de programare grafică. Aproape complet tradus în rusă. Dar în ArduBloсk, punctul culminant nu este doar acesta, ci și faptul că programul ArduBloсk scris de noi este convertit în cod IDE Arduino. Acest program este integrat în mediul de programare Arduino IDE, adică este un plugin.

Mai jos este un exemplu de LED care clipește și un program convertit în Arduino IDE. Toate lucrările cu programul sunt foarte simple și orice student o poate înțelege.

Ca urmare a lucrului la program, nu puteți doar să programați Arduino, ci și să studiați comenzi care ne sunt de neînțeles în formatul text al IDE-ului Arduino, dar dacă vă este prea lene să scrieți comenzi standard, ar trebui să schițați rapid. scoateți un program simplu în ArduBlok cu o manipulare rapidă a mouse-ului și depanați-l în Arduino IDE.

Pentru a instala ArduBlok, trebuie mai întâi să descărcați și să instalați Arduino IDE de pe site-ul oficial Arduino și să înțelegeți setările atunci când lucrați cu placa Arduino UNO. Cum să faceți acest lucru este descris pe același site sau pe Amperk, sau uitați-vă pe YouTube. Ei bine, când v-ați dat seama de toate acestea, trebuie să descărcați ArduBlok de pe site-ul oficial, aici. Nu recomand să descărcați cele mai recente versiuni, sunt foarte dificile pentru începători, dar versiunea din 2013-07-12 este cea mai importantă, acest fișier este cel mai popular acolo.

Apoi, redenumim fișierul descărcat în ardublock-all și în folderul „documente”. Creați următoarele foldere: Arduino > instrumente > ArduBlockTool > instrument și în acesta din urmă aruncăm fișierul descărcat și redenumit. ArduBlok funcționează pe toate sistemele de operare, chiar și pe Linux, eu personal l-am testat pe XP, Win7, Win8, toate exemplele sunt pentru Win7. Instalarea programului este aceeași pentru toate sistemele.

Ei bine, dacă e mai ușor, am pregătit o arhivă pe Mail-disk 7z, despachetând pe care o vei găsi 2 foldere. Într-unul, programul Arduino IDE funcționează deja, iar în celălalt folder, conținutul trebuie trimis în folderul documente.

Pentru a funcționa în ArduBlok, trebuie să rulați IDE-ul Arduino. Apoi mergem la fila Instrumente și acolo găsim elementul ArduBlok, facem clic pe el - și iată-l, scopul nostru.

Acum să ne ocupăm de interfața programului. După cum ați înțeles deja, nu există setări în el, dar există o mulțime de pictograme pentru programare și fiecare dintre ele poartă o comandă în formatul de text Arduino IDE. Există și mai multe pictograme în versiuni noi, așa că este dificil să se ocupe de cea mai recentă versiune a ArduBlok și unele dintre pictograme nu sunt traduse în rusă.

În secțiunea „Management” vom găsi o varietate de cicluri.

În secțiunea „Porturi”, putem gestiona valorile porturilor, precum și emițătoarele de sunet, servomotoarele sau senzorii de proximitate ultrasonici conectați la acestea.

În secțiunea „Numere/Constante”, putem alege valori digitale sau crea o variabilă, dar este puțin probabil să o folosiți pe cea de mai jos.

În secțiunea „Operatori”, vom găsi toți operatorii de comparare și calcul necesari.

Secțiunea Utilități folosește mai ales pictograme de-a lungul timpului.

„TinkerKit Bloks” este secțiunea pentru senzorii TinkerKit achiziționați. Desigur, nu avem un astfel de set, dar asta nu înseamnă că pictogramele nu vor funcționa pentru alte seturi, dimpotrivă, este foarte convenabil pentru băieți să folosească pictograme precum aprinderea unui LED sau a unui buton . Aceste semne sunt folosite în aproape toate programele. Dar au o particularitate - atunci când sunt selectate, există pictograme incorecte care indică porturi, așa că trebuie eliminate, iar pictograma din secțiunea „numere / constante” ar trebui înlocuită în partea de sus a listei.

„DF Robot” - această secțiune este folosită dacă există senzori specificați în ea, uneori se găsesc. Iar exemplul nostru de astăzi nu face excepție, avem „Comutator IR reglabil” și „Senzor de linie”. „Senzorul de linie” este diferit de cel din imagine, așa cum este de la Amperka. Acțiunile lor sunt identice, dar senzorul de la Amperka este mult mai bun, deoarece are un regulator de sensibilitate.

Seeedstudio Grove - Nu am folosit niciodată senzorii acestei secțiuni, deși există doar joystick-uri. Această secțiune a fost extinsă în versiuni noi.

Și ultima secțiune este „Kit Linker”. Senzorii prezentați în ea nu mi-au parut.

Aș dori să arăt un exemplu de program pe un robot care se mișcă de-a lungul benzii. Robotul este foarte simplu, atât la asamblare, cât și la achiziție, dar pe primul loc. Să începem cu achiziția și asamblarea acestuia.

Iată setul de piese în sine, totul a fost achiziționat pe site-ul Amperka.

  1. AMP-B001 Scut motor (2 canale, 2 A) 1 890 ruble
  2. AMP-B017 Troyka Shield 1.690 RUB
  3. AMP-X053 Compartiment baterie 3×2 AA 1 60 RUB
  4. AMP-B018 Senzor de linie digital 2 580 RUB
  5. ROB0049 Platformă cu două roți miniQ 1 1890 RUB
  6. SEN0019 Senzor obstacol cu ​​infraroșu 1 390 RUB
  7. FIT0032 Suport pentru senzor infraroșu obstacol 1 90 RUB
  8. A000066 Arduino Uno 1 1150 RUB

Pentru început, vom asambla platforma pe roți și vom lipi firele la motoare.

Apoi vom instala rack-uri pentru a monta placa Arduino UNO, care au fost preluate de pe placa de baza veche sau alte suporturi similare.

Apoi atașăm placa Arduino UNO la aceste rafturi, dar nu putem fixa un șurub - conectorii stau în cale. Puteți, desigur, să le lipiți, dar depinde de dvs.

Apoi, atașăm senzorul de obstacol în infraroșu la suportul său special. Vă rugăm să rețineți că controlul sensibilității este în partea de sus, acesta este pentru ușurință de reglare.

Acum instalăm senzori digitali de linie, aici trebuie să căutăm câteva șuruburi și 4 piulițe pentru ei. Instalăm două piulițe între platformă în sine și senzorul de linie și fixăm senzorii cu restul.

Următoarea instalare Motor Shield sau într-un alt mod puteți apela șoferul motorului. În cazul nostru, acordați atenție jumperului. Nu vom folosi o sursă de alimentare separată pentru motoare, așa că este instalată în această poziție. Partea inferioară este sigilată cu bandă electrică, astfel încât să nu existe scurtcircuite accidentale de la conectorul USB al Arduino UNO, pentru orice eventualitate.

Instalați Troyka Shield deasupra motor Shield. Este necesar pentru confortul conectării senzorilor. Toți senzorii pe care îi folosim sunt digitali, astfel încât senzorii de linie sunt conectați la porturile 8 și 9, deoarece sunt numiți și pini, iar senzorul de obstacol în infraroșu este conectat la portul 12. Asigurați-vă că rețineți că nu puteți utiliza porturile 4, 5, 6, 7 deoarece sunt folosite de Motor Shield pentru a controla motoarele. Chiar am pictat special peste aceste porturi cu un marker roșu, astfel încât studenții să-și poată da seama.

Dacă ați observat deja, am adăugat un manșon negru, pentru orice eventualitate, pentru ca compartimentul bateriei pe care l-am instalat să nu zboare afară. Și, în sfârșit, fixăm întreaga structură cu o bandă de cauciuc obișnuită.

Conexiunile compartimentului bateriei pot fi de 2 tipuri. Prima conexiune prin cablu la Troyka Shield. De asemenea, este posibil să lipiți ștecherul de alimentare și să îl conectați la placa Arduino UNO în sine.

Iată robotul nostru gata. Înainte de a începe programarea, va trebui să învățați cum funcționează totul, și anume:
- Motoare:
Porturile 4 și 5 sunt folosite pentru a controla un motor, iar 6 și 7 pe celălalt;
Reglam viteza de rotatie a motoarelor cu PWM pe porturile 5 si 6;
Înainte sau înapoi prin porturile de semnalizare 4 și 7.
- Senzori:
Toți suntem digitali, așa că dau semnale logice sub formă de 1 sau 0;
Iar pentru a le regla, au regulatoare speciale si cu ajutorul unei surubelnite potrivite pot fi calibrate.

Detalii pot fi găsite la Amperka. De ce aici? Pentru că există o mulțime de informații despre lucrul cu Arduino.

Ei bine, noi, poate, am privit totul superficial, am studiat și, bineînțeles, am asamblat robotul. Acum trebuie programat, iată-l - programul mult așteptat!

Și programul a fost convertit în Arduino IDE:

Void setup() (pinMode(8, INPUT); pinMode(12, INPUT); pinMode(9, INPUT); pinMode(4, OUTPUT); pinMode(7, OUTPUT); pinMode(5, OUTPUT); pinMode(6) , OUTPUT); ) void loop() ( if (digitalRead(12)) ( if (digitalRead(8)) ( if (digitalRead(9)) ( digitalWrite(4 , HIGH); analogWrite(5, 255); analogWrite( 6, 255); digitalWrite(7, HIGH); ) else ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite(6, 50); digitalWrite(7, LOW); ) ) else ( if (digitalRead) (9)) ( digitalWrite(4, LOW); analogWrite(5, 50); analogWrite(6, 255); digitalWrite(7, HIGH); ) else ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite(6, 255); digitalWrite(7 , HIGH); ) ) ) else ( digitalWrite(4 , HIGH); analogWrite(5, 0); analogWrite(6, 0); digitalWrite(7 , HIGH); ) )

În concluzie, vreau să spun că acest program este doar o mană cerească pentru educație, chiar și pentru auto-studiu, vă va ajuta să învățați comenzile Arduino IDE. Cel mai important aspect este că, cu peste 50 de pictograme de instalare, începe să „eșueze”. Da, într-adevăr, acesta este un punct culminant, deoarece programarea constantă numai pe ArduBlok nu vă va învăța cum să programați în Arduino IDE. Așa-numitul „glitch” face posibilă gândirea și încercarea de a aminti comenzi pentru depanarea precisă a programelor.

Iti doresc noroc.

Publicul țintă al lui Arduino sunt utilizatorii neprofesioniști din domeniul roboticii și sistemelor simple de automatizare. Produsul principal este un set de plăci, prin combinarea cărora se pot crea diverse dispozitive capabile să îndeplinească o gamă largă de sarcini.

De exemplu, dintr-un set de scânduri fabricat de această companie, puteți asambla un alimentator automat pentru animalele dvs. de companie. Și acesta este doar unul dintre cele mai simple exemple. Sfera de aplicare posibilă a acestora este limitată doar de imaginația utilizatorilor.

Pe lângă plăcile de circuite imprimate fabricate sub marca Arduino, acestea au propriul limbaj de programare Arduino, care se bazează pe limbajul larg cunoscut în cercul programatorilor. C/C++. Să aruncăm o privire mai atentă la ce este.

Limbajul de programare Arduino este destul de ușor de învățat, deoarece publicul țintă principal pentru utilizarea sa sunt amatorii. Cu toate acestea, este considerat unul dintre cele mai bune limbaje pentru programarea microcontrolerelor.

Arduino IDE este un program gratuit pe care oricine îl poate descărca. Pe site-ul nostru, puteți alege orice versiune a mediului care vi se potrivește. De asemenea, accesul la descărcarea IDE-ului este oferit pe site-ul oficial al companiei, iar dacă se dorește, dezvoltatorii pot fi mulțumiți făcând un transfer de bani.

Un program scris în limbajul de programare Arduino se numește schiță. Schițele finite sunt scrise pe tablă pentru execuția lor.

IDE-ul este suportat de sisteme de operare precum Windows, MacOs și Linux. Pe site-ul oficial al companiei, se indică faptul că acest limbaj de programare este scris în Wiring, dar de fapt nu există și C ++ este folosit pentru scrierea cu modificări minore.

De ce aveți nevoie pentru a începe cu Arduino IDE?

Pentru a începe, avem nevoie de următoarele lucruri:

  • Placi Arduino;
  • Cablu USB;
  • computer cu Arduino IDE instalat pe el.

Cu acest set, puteți începe să experimentați cu plăcile pe care le aveți, înregistrând primele schițe pe ele.

Cum se configurează Arduino pe un computer?

Acest lucru se face simplu. Trebuie să faceți următoarele:

  • trebuie să conectați produsul pe care l-ați asamblat la computer folosind un cablu USB;
  • în managerul de dispozitive, trebuie să verificați la ce port este conectat microcontrolerul. Dacă nu este afișat sau scrie că dispozitivul nu este recunoscut, înseamnă că nu ai instalat corect driverul sau placa ta trebuie diagnosticată;
  • următorul pas este lansarea limbajului nostru de programare Arduino IDE. Selectați fila Instrumente din meniu. Când faceți clic pe el, se va deschide o listă în care trebuie să selectați elementul - portul. Acolo trebuie să selectați portul specificat în managerul de dispozitive;
  • pasul final este să selectăm tabla pe care o vom folosi pentru a încărca schițele.

Important! Dacă vă conectați placa la un alt port USB, toate setările vor trebui făcute din nou.

Cunoașterea interfeței Arduino

Unul dintre elementele principale ale arduino este meniul principal al programului, care vă permite să accesați toate funcțiile disponibile ale programului nostru.

Mai jos este un panou cu pictograme care afișează cele mai utilizate funcții ale IDE-ului Arduino:

  • verificarea erorilor;
  • crearea unei noi schițe;
  • deschiderea ferestrei portului microcontrolerului;
  • Următorul element cel mai important este fila fișiere de proiect. Dacă aceasta este o schiță simplă, atunci va exista un singur fișier. Cu toate acestea, schițele complexe pot consta din mai multe fișiere. În acest caz, în bara de file, puteți comuta rapid vizualizarea de la un fișier la altul. Este foarte convenabil.

    Cel mai mare dintre blocuri este caseta editorului nostru de schițe. Aici putem vizualiza și, dacă este necesar, edita codul programului de care avem nevoie. Un câmp pentru afișarea mesajelor de sistem a fost implementat separat. Cu acesta, puteți verifica dacă salvarea schiței sau încărcarea acesteia a avut succes și puteți trece la pașii următori. Există, de asemenea, o fereastră în program care afișează prezența schiței dvs. în timpul compilării.

    Compilare– conversia codului sursă a limbajului de nivel înalt în cod mașină sau în limbaj de asamblare.

    Funcțiile de bază ale unui limbaj de programare

    Să trecem în sfârșit la cea mai de bază funcție a limbajului de programare Arduino.

    Să spunem imediat că puteți găsi toate funcțiile în comoditatea noastră.

    Punct şi virgulă;

    Un punct și virgulă trebuie să urmeze fiecare expresie scrisă în limbajul de programare Arduino. De exemplu:

    int LEDpin = 9;

    În această expresie, atribuim o valoare unei variabile și notăm punctul și virgulă la sfârșit. Acest lucru îi spune compilatorului că ați terminat o bucată de cod și că treceți la următoarea bucată. Punctul și virgulă din codul Arduino separă o expresie completă de alta.

    Bară oblică inversă dublă pentru comentarii pe un singur rând //

    // Orice lucru după bara oblică va fi gri și nu va fi citit de program

    Comentariile sunt ceea ce utilizați pentru a vă comenta codul. Codul bun este bine comentat. Comentariile sunt acolo pentru a spune ție și oricui ar putea da peste codul tău ce ai crezut când l-ai scris. Un comentariu bun ar fi cam asa:

    // Conectați LED-ul la acest pin Arduino int LEDpin = 9;

    Acum, chiar și după 3 luni când mă uit la acest program, știu unde a fost conectat LED-ul.

    Compilatorul va ignora comentariile, astfel încât să puteți scrie orice doriți. Dacă aveți nevoie de mult text pentru un comentariu, puteți utiliza comentariul pe mai multe rânduri prezentat mai jos:

    /* Un comentariu pe mai multe rânduri este deschis cu o singură bară oblică inversă urmată de un asterisc. Orice după aceea va fi inactiv și ignorat de compilator până când închideți comentariul folosind mai întâi un asterisc și apoi o bară oblică inversă */

    Comentariile sunt similare cu notele de subsol de cod, dar sunt mai frecvente decât cele găsite în partea de jos a paginilor din cărți.

    Acolade ( )

    Acoladele sunt folosite pentru a adăuga instrucțiuni pe care le execută o funcție (vom discuta despre funcții în continuare). Există întotdeauna o acoladă deschisă și una care se închide. Dacă uitați să închideți acolada, compilatorul va imprima un cod de eroare.

    Void loop() ( //această acoladă se deschide //program rece aici )//această acoladă se închide

    Amintiți-vă - nicio paranteză nu poate fi închisă!

    Funcții ()

    Acum este timpul să vorbim despre funcții. Funcțiile sunt bucăți de cod care sunt folosite atât de des încât sunt încapsulate în anumite cuvinte cheie, astfel încât să le puteți utiliza mai ușor. De exemplu, o funcție ar putea fi următorul set de instrucțiuni în cazul în care trebuie să spălați un câine:

    1. Ia o găleată
    2. Umpleți-l cu apă
    3. Adăugați săpun
    4. Găsiți un câine
    5. Spumă câinele
    6. spală câinele
    7. Clătiți câinele
    8. Câine uscat
    9. pune deoparte găleata

    Acest set de instrucțiuni simple poate fi încapsulat într-o funcție pe care o putem numi WashDog. De fiecare dată când dorim să executăm toate aceste instrucțiuni, scriem WashDog și voilà - toate instrucțiunile sunt executate.

    Arduino are anumite caracteristici care sunt adesea folosite în . Când le introduceți, numele funcției va fi portocaliu. De exemplu, funcția pinMode() este o funcție generică folosită pentru a indica modul pin al Arduino.

    Dar parantezele după funcția pinMode? Multe funcții necesită argumente. Argumentul este informația pe care o folosește funcția când rulează. Pentru funcția noastră WashDog, argumentele pot fi numele câinelui și tipul de săpun, precum și temperatura și dimensiunea găleții.

    PinMode(13, IEȘIRE); //Setează modul pin Arduino

    Argumentul 13 se referă la pinul 13, iar OUTPUT este modul în care doriți să funcționeze pinul. Când introduceți aceste argumente, în terminologie aceasta se numește transmitere de date, transmiteți informațiile necesare funcțiilor. Nu toate funcțiile necesită argumente, dar parantezele de deschidere și de închidere rămân, deși goale.

    milis(); //Obțineți timpul în milisecunde pentru ca Arduino să pornească

    Rețineți că cuvântul OUTPUT este de obicei albastru. Există anumite cuvinte cheie în limbajul de programare Arduino care sunt folosite frecvent, iar culoarea albastră ajută la identificarea lor. Arduino IDE le transformă automat în albastru.

    void setup()

    Funcția setup(), după cum sugerează și numele, este utilizată pentru a configura placa Arduino. Arduino execută tot codul dintre bretele după setup() o singură dată. Lucrurile tipice care se întâmplă în setup() sunt, de exemplu, setarea modului de contact:

    Void setup() ( // codul dintre acolade este executat o singură dată)

    S-ar putea să vă întrebați ce înseamnă void înainte de funcția setup(). Void înseamnă că funcția nu returnează nicio informație.

    Unele funcții returnează valori - funcția noastră DogWash poate returna numărul de găleți necesare pentru curățarea câinelui. Funcția analogRead() returnează o valoare întreagă între 0 și 1023. Dacă acest lucru pare puțin ciudat în acest moment, nu vă faceți griji, deoarece vom acoperi fiecare funcție comună Arduino pe măsură ce cursul continuă.

    Să ne uităm la câteva lucruri pe care ar trebui să le știi despre setup():

    1. setup() rulează o singură dată;
    2. setup() trebuie să fie prima funcție din schița Arduino;
    3. setup() trebuie să aibă acolade de deschidere și de închidere.

    buclă goală ()

    Trebuie să-i iubești pe dezvoltatorii Arduino, deoarece au făcut ca numele funcțiilor să vorbească de la sine. După cum sugerează și numele, tot codul dintre acoladele din bucla() este repetat din nou și din nou, iar cuvântul buclă este tradus exact ca „buclă”. Funcția loop() este locul unde va fi corpul programului dumneavoastră.

    Ca și în cazul setup(), funcția loop() nu returnează nicio valoare, deci este precedată de cuvântul void.

    Void loop() (//orice cod pe care îl puneți aici este executat din nou și din nou)

    Ți se pare ciudat că codul rulează într-o buclă mare? Această aparentă lipsă de variație este o iluzie. Majoritatea codului dvs. va avea anumite condiții de așteptare care vor declanșa noi acțiuni.

    Există și alte programe care funcționează cu Arduino?

    Pe lângă IDE-ul oficial Arduino, există programe terțe care își oferă produsele pentru lucrul cu microcontrolere bazate pe Arduino.

    Un set similar de funcții ne poate fi furnizat de un program numit Procesare. Este foarte asemănător cu Arduino IDE, deoarece ambele sunt realizate pe același motor. Procesarea are un set extins de caracteristici care nu este inferior programului original. Cu ajutorul bibliotecii Serial care poate fi descărcată, utilizatorul poate crea o comunicare între datele pe care placa și Procesarea le transmit unul altuia, făcând astfel ca placa să execute programe direct de pe PC-ul nostru.

    Există o altă versiune interesantă a programului original. Se numește B4R, iar principala sa diferență este că folosește ca bază nu limbajul C, ci un alt limbaj de programare - Basic. Acest produs software este gratuit. Pentru a lucra cu el, există tutoriale bune, inclusiv cele scrise de creatorii acestui produs.

    Există, de asemenea, versiuni plătite ale Arduino IDE. Unul dintre acestea este programul PROGROMINO. Principalul său avantaj este posibilitatea de completare a codului. Când compilați un program, nu va mai trebui să căutați informații în cărțile de referință. Programul în sine vă va oferi opțiuni posibile pentru utilizarea unei anumite proceduri. Setul său include multe mai multe caracteristici interesante care nu sunt în programul original și vă pot face mai ușor să lucrați cu plăci.

    Concurenții Arduino

    Această piață pentru producția de microcontrolere pentru crearea diverselor circuite electronice și robotică are mulți fani pe tot globul. Această situație contribuie la apariția pe piață nu numai a concurenților care oferă produse similare. Pe lângă acestea, sunt produse un număr semnificativ de falsuri de diferite calități. Unele sunt foarte greu de distins de originale, deoarece sunt de calitate identică, altele au performanțe foarte slabe și este posibil să nu funcționeze deloc cu produsele originale.

    Există chiar și plăci Arduino care acceptă microprocesoare cu interpreți JavaScript. Ele sunt relevante, în primul rând, pentru cei care doresc să folosească limbajul Java în loc de C. La urma urmei, este mai simplu și vă permite să obțineți rezultate cu o viteză crescută. Cu toate acestea, aceste plăci sunt mai scumpe decât arduino, ceea ce reprezintă un dezavantaj semnificativ.

    Dacă sunteți în căutarea unui hobby și sunteți interesat de o astfel de direcție precum ingineria electrică, puteți alege în siguranță Arduino pentru asta. Există multe beneficii pentru acest hobby. Te vei dezvolta intelectual, deoarece această activitate va cere să ai cunoștințe în diferite domenii.

    Pe lângă divertisment, hobby-ul tău te va ajuta să creezi o mulțime de articole utile pe care le poți folosi pentru a-ți ușura viața de zi cu zi. De fiecare dată vei găsi din ce în ce mai multe modalități noi de a-ți folosi hobby-ul.

    Nu va fi atât de dificil să stăpânești această lecție, datorită prezenței unui număr mare de manuale și tutoriale. În viitor, veți găsi mulți oameni cu gânduri asemănătoare din întreaga lume care vă vor împărtăși cunoștințele și vă vor oferi un stimulent pentru a face noi experimente!

    prezintă tutorialul Arduino pentru începători. Seria este reprezentată de 10 lecții, precum și de material suplimentar. Lecțiile includ instrucțiuni text, fotografii și videoclipuri cu instrucțiuni. În fiecare lecție veți găsi o listă de componente necesare, o listă de programe și o diagramă de cablare. După ce ați învățat aceste 10 lecții de bază, veți putea începe modelarea și construirea de roboți mai interesanți bazați pe Arduino. Cursul se adresează începătorilor, pentru a-l începe, nu aveți nevoie de cunoștințe suplimentare din inginerie electrică sau robotică.

    Informații rapide despre Arduino

    Ce este Arduino?

    Arduino (Arduino) este o platformă de calcul hardware, ale cărei componente principale sunt o placă de intrare-ieșire și un mediu de dezvoltare. Arduino poate fi folosit pentru a crea obiecte interactive de sine stătătoare sau poate fi conectat la software care rulează pe un computer. Arduino așa cum se aplică computerelor cu o singură placă.

    Cum sunt legate Arduino și roboții?

    Răspunsul este foarte simplu - Arduino este adesea folosit ca creierul robotului.

    Avantajul plăcilor Arduino față de platforme similare este prețul relativ scăzut și distribuția aproape în masă printre amatori și profesioniști din robotică și inginerie electrică. Când intrați în Arduino, veți găsi asistență în orice limbă și persoane care au păreri asemănătoare cu care să răspundă la întrebări și să discutați despre design-ul dvs.

    Lecția 1. LED intermitent pe Arduino

    În prima lecție, veți învăța cum să conectați un LED la un Arduino și să îl controlați să clipească. Acesta este cel mai simplu și de bază model.

    Dioda electro luminiscenta- un dispozitiv semiconductor care creează radiații optice atunci când un curent electric este trecut prin el în direcția înainte.

    Lectia 2

    În acest tutorial, veți învăța cum să conectați un buton și un LED la Arduino.

    Când butonul este apăsat, LED-ul va fi aprins, când butonul este apăsat, nu se va aprinde. Acesta este și modelul de bază.

    Lecția 3

    În acest tutorial, veți învăța cum să conectați un potențiometru la un Arduino.

    Potențiometru- aceasta este rezistor reglabil.Potențiometrele sunt folosite ca regulatori ai diferiților parametri - volumul sunetului, puterea, tensiunea etc.Este, de asemenea, una dintre schemele de bază. În modelul nostru prin rotirea butonului potențiometruluiva depinde de luminozitatea LED-ului.

    Lecția 4

    În acest tutorial, veți învăța cum să conectați un servo la Arduino.

    Servo- acesta este un motor a cărui poziție a arborelui poate fi controlată prin setarea unghiului de rotație.

    Servo drive-urile sunt folosite pentru a simula diverse mișcări mecanice ale roboților.

    Lecția 5

    În acest tutorial, veți învăța cum să conectați un LED tricolor la un Arduino.

    LED tricolor(led rgb) - acestea sunt trei LED-uri de culori diferite într-un singur caz. Ele vin cu o placă mică de circuit imprimat pe care sunt amplasate rezistențele și fără rezistențe încorporate. Ambele opțiuni sunt discutate în această lecție.

    Lecția 6

    În acest tutorial, veți învăța cum să conectați un element piezo la un Arduino.

    Element piezo- un convertor electromecanic care se traduce tensiune electrică în vibraţia membranei. Aceste vibrații creează sunet.

    În modelul nostru, frecvența sunetului poate fi reglată prin setarea parametrilor corespunzători în program.

    Lecția 7

    În această lecție a cursului nostru, veți învăța cum să conectați un fotorezistor la Arduino.

    fotorezistor- un rezistor a cărui rezistență depinde de luminozitatea luminii care cade pe el.

    În modelul nostru, LED-ul se aprinde numai dacă luminozitatea luminii de deasupra fotorezistorului este mai mică decât o anumită luminozitate, această luminozitate poate fi reglată în program.

    Lecția 8 Trimitere automată de e-mail

    În această lecție a cursului nostru, veți învăța cum să conectați un senzor de mișcare (PIR) la Arduino, precum și să organizați trimiterea automată de e-mail.

    Senzor de mișcare (PIR)- un senzor infrarosu pentru a detecta miscarea sau prezenta oamenilor sau animalelor.

    În modelul nostru, la primirea unui semnal de la senzorul PIR despre mișcarea unei persoane, Arduino trimite o comandă către computer pentru a trimite un E-mail și scrisoarea este trimisă automat.

    Lecția 9

    În această lecție a noastră, veți învăța cum să conectați un senzor de temperatură și umiditate DHT11 sau DHT22 la un Arduino, precum și să vă familiarizați cu diferențele dintre caracteristicile acestora.

    Senzor de temperatură și umiditate este un senzor digital compozit format dintr-un senzor capacitiv de umiditate și un termistor pentru măsurarea temperaturii.

    În modelul nostru, Arduino citește citirile senzorului și afișează citirile pe ecranul computerului.

    Lecția 10

    În această lecție a cursului nostru, veți învăța cum să conectați o tastatură matriceală la placa Arduino, precum și să vă familiarizați cu diverse circuite interesante.

    Tastatura Matrix conceput pentru a simplifica conectarea unui număr mare de butoane. Astfel de dispozitive se găsesc peste tot - în tastaturile computerelor, calculatoare și așa mai departe.

    Lecția 11: Conectarea modulului de ceas în timp real DS3231

    În ultima lecție a cursului nostru, veți învăța cum să conectați un modul de ceas în timp real din familie
    DS la placa Arduino, precum și să vă familiarizați cu diverse circuite interesante.

    Modul ceas în timp real- acesta este un circuit electronic destinat inregistrarii datelor cronometrice (ora curenta, data, ziua saptamanii etc.), este un sistem de la o sursa de alimentare autonoma si un dispozitiv de contabilitate.

    Apendice. Cadre gata făcute și roboți Arduino


    Puteți începe să învățați Arduino nu numai de la placa în sine, ci și de la cumpărarea unui robot complet gata făcut pe baza acestei plăci - un robot păianjen, un robot auto, un robot țestoasă etc. Astfel de cale potrivit pentru cei care nu sunt deosebit de atrași de circuitele electrice.

    Prin achiziționarea unui model de robot funcțional, de ex. Terminat de fapt jucărie high-tech, puteți trezi interesul pentru auto-design și robotică. Deschiderea platformei Arduino vă permite să faceți jucării noi din aceleași componente.

    O altă opțiune este să cumpărați un cadru sau un corp al unui robot: o platformă pe roți sau o omidă, un umanoid, un păianjen etc. În acest caz, umplerea robotului va trebui să se facă independent.

    Apendice. Directorul mobil


    - un asistent pentru dezvoltatorii de algoritmi pentru platforma Arduino, al cărui scop este acela de a oferi utilizatorului final posibilitatea de a transporta un set mobil de comenzi (carte de referință).

    Aplicația constă din 3 secțiuni principale:

    • Operatori;
    • Date;
    • Funcții.

    De unde să cumpărați Arduino


    truse Arduino

    Cursul va fi completat cu lecții suplimentare. Abonați-vă la noi

    Din punct de vedere istoric, software-ul Arduino constă dintr-un mediu software integrat (IDE) care vă permite să scrieți, să compilați și să încărcați codul scris pe hardware. Mediul ArduinoIDE și limbajul Wiring în sine se bazează în primul rând pe Procesare, indirect pe C/C++. De fapt, Arduino IDE este un mare amestec, nu pentru distracție, ci pentru comoditate.

    Chiar și în exterior șiArduinoIDE șiProcesarea sunt similare


    În ce constă programul (schița)?
    Fiecare program, oricât de complex ar părea, constă din seturi separate blocuri cod, care este indicat prin acolade () . Programul minim necesită doar 2 blocuri: setare și buclă. Prezența lor este obligatorie în orice program C++ pentru Arduino, altfel puteți obține o eroare în etapa de compilare.
    void setup() ( ) void loop() ( )
    În funcția setup() au loc setările inițiale ale variabilelor și ale registrelor. După finalizarea setup() , controlul trece la funcția loop(), care este o buclă infinită scrisă în corp (între ( ) ). Aceste comenzi sunt cele care efectuează toate acțiunile algoritmice ale controlerului.

    Hardware «Buna ziua, lume!" - LED intermitent.
    Ceea ce începe prima cunoaștere cu Arduino la intersecția dintre software și hardware este clipirea LED-ului.


    Mai întâi trebuie să finalizați programul minim. Pentru Arduino (de exemplu, UNO), conectăm un LED la pinul 12 și GND (culoarea LED-ului în sine este aleasă din preferințele personale).

    void setup() ( pinMode(12, OUTPUT); ) void loop() ( digitalWrite(12, HIGH); delay(100); digitalWrite(12, LOW); delay(900); )
    Faceți Ctrl+C -> Ctrl+V, compilați, încărcați, reglați. Vedem un spectacol de lumini care nu durează mai mult de o secundă. Să ne dăm seama de ce se întâmplă asta.

    În blocurile goale anterior, am adăugat câteva expresii . Au fost plasate între bretele ale funcțiilor de configurare și buclă.
    Fiecare expresie este o instrucțiune pentru procesor. Expresiile dintr-un bloc sunt executate una după alta, strict în ordine, fără pauze și comutatoare. Adică, dacă vorbim despre un anumit bloc de cod, acesta poate fi citit de sus în jos pentru a înțelege ce se face.

    Ce se întâmplă între{ } ?
    După cum știți, pinii Arduino pot funcționa atât ca intrare, cât și ca ieșire. Când vrem să controlăm ceva, trebuie să transferăm pinul de control în starea de ieșire. Acest lucru se realizează printr-o expresie din funcțieînființat :
    pinMode(12, OUTPUT); În această situație, expresia apel de funcție . În pinMode, pinul specificat de număr este setat la modul specificat (INPUT sau OUTPUT). Ce pin și ce mod este în discuție sunt indicate în paranteze, separate prin virgulă. În cazul nostru, dorim ca al 12-lea pin să funcționeze ca ieșire. OUTPUT înseamnă ieșire, INPUT înseamnă intrare. Sunt apelate valori de calificare, cum ar fi 12 și OUTPUT argumente ale funcției . Câte argumente are o funcție depinde de esența funcției și de voința creatorului ei. Funcțiile pot fi deloc fără argumente, așa cum este cazul setup și loop.

    Apoi, mergeți la blocul buclei, în ordinea:
    -apelați funcția încorporată digitalWrite. Este proiectat să furnizeze un zero logic (LOW, 0 volți) sau unul logic (HIGH, 5 volți) unui pin dat. 2 argumente sunt transmise funcției digitalWrite: numărul de pin și o valoare logică.
    -apelați funcția de întârziere. Aceasta, din nou, este o funcție încorporată care face ca procesorul să „adormiți” pentru o anumită perioadă de timp. Este nevoie de un singur argument: timpul în milisecunde pentru a dormi. În cazul nostru, aceasta este 100 ms. Imediat ce expiră 100 ms, procesorul se trezește și trece imediat la următoarea expresie.
    - apelarea funcției încorporate digitalWrite. Doar că de această dată al doilea argument este LOW. Adică setăm un zero logic pe al 12-lea pin -> aplicăm 0 volți -> stingem LED-ul.
    - apelarea funcției de întârziere. De data aceasta „dormim” puțin mai mult – 900 ms.

    De îndată ce ultima funcție este executată, blocul buclei se termină și totul se întâmplă din nou și din nou. De fapt, condițiile prezentate în exemplu sunt destul de variabile și poți să te joci cu valorile de întârziere, să conectezi mai multe LED-uri și să-l faci să arate ca un semafor sau un fulger de poliție (totul depinde de imaginația și voința creatorului). ).

    În loc de o concluzie, puțin despre curățenie.
    De fapt, toate spațiile, întreruperile de rând, caracterele tabulatoare nu contează prea mult pentru compilator. Acolo unde există un spațiu, poate exista o întrerupere de linie și invers. De fapt, 10 spații la rând, 2 întreruperi de rând și încă 5 spații este echivalentul unui spațiu.


    Cu ajutorul spațiului gol, puteți face programul ușor de înțeles și vizual sau, dimpotrivă, îl puteți mutila dincolo de recunoaștere. De exemplu, programul dat ca exemplu poate fi modificat după cum urmează:

    void setup() ( pinMode(12, OUTPUT); ) void loop () ( digitalWrite(12,HIGH); delay(100) ; digitalWrite(12,LOW); delay(900); )

    Pentru a preveni pe cineva să sângereze din ochi în timpul citirii, puteți urma câteva reguli simple:


    1. Întotdeauna, la începutul unui nou bloc între( și ) măriți indentarea. De obicei sunt folosite 2 sau 4 spații. Alegeți una dintre valori și respectați-o pe tot parcursul.

    Void loop() (digitalWrite(12, HIGH); întârziere(100); digitalWrite(12, LOW); întârziere(900); )
    2. Ca în limbajul normal: puneți un spațiu după virgule.

    digitalWrite(12, HIGH);
    3. Plasați caracterul de început al blocului (pe o nouă linie la nivelul de indentare curent sau la sfârșitul celui precedent. Și caracterul de sfârșit al blocului) pe o linie separată la nivelul de indentare curent:

    void setup() ( pinMode(12, OUTPUT); ) void setup() ( pinMode(12, OUTPUT); )
    4. Utilizați linii goale pentru a separa blocurile semantice:

    void loop() (digitalWrite(12, HIGH); delay(100); digitalWrite(12, LOW); delay(900); digitalWrite(12, HIGH); delay(100); digitalWrite(12, LOW); delay( 900); )
    5. Pentru ca ideea ta să fie plăcută de citit, există așa-zise comentarii. Acestea sunt constructe din codul programului care sunt complet ignorate de compilator și contează doar pentru persoana care le citește. Comentariile pot fi pe mai multe rânduri sau pe o singură linie:

    /* acesta este un comentariu pe mai multe linii */ // acesta este o singură linie

    Top articole similare