Primul program Arduino. Limbajul de programare Arduino: concepte de bază

18.02.2022 Efecte foto

28 09.2016

Te-ai gândit vreodată să-ți faci viața mai ușoară acasă? Pentru a avea lucruri care ar rezolva sarcinile de zi cu zi, de rutină pentru tine. Un dispozitiv inteligent care ar îndeplini o funcție utilă, de exemplu, uda grădina, curăța o cameră sau transporta o încărcătură. Aceste probleme pot fi rezolvate. Dar doar cumpărarea lui nu va fi suficient. Orice controler logic industrial sau cip are nevoie de un „creier” pentru a efectua o anumită secvență de acțiuni. Pentru a efectua operații în cazul nostru, limbajul de programare Arduino este potrivit.

Din acest articol veți învăța:

Salutări, prieteni! Pentru cei care nu mă cunosc, numele meu este Gridin Semyon. Puteți citi despre mine. Articolul de astăzi va fi dedicat două programe principale, fără de care nu vom mai avea mișcare și înțelegere reciprocă.

Descrierea generală a limbajelor de programare

După cum am scris mai sus, vom lua în considerare două medii de dezvoltare populare. Prin analogie cu, poate fi împărțit într-un editor grafic și un „notepad inteligent”. Acestea sunt programele Arduino IDE și FLprog.

Baza mediului de dezvoltare este Procesarea/Wiring - acesta este C++ obișnuit, completat cu funcții și diferite biblioteci. Există mai multe versiuni pentru sistemele de operare Windows, Mac OS și Linux.

Care este diferenta lor fundamentala?? Arduino IDE este un mediu de dezvoltare care descrie codul programului. Și FLprog este similar cu CFC CoDeSyS, care vă permite să desenați diagrame. Care mediu este mai bun? Ambele sunt bune și convenabile în felul lor, dar dacă doriți să vă ocupați serios de controlere, cel mai bine este să învățați limbi similare SI. Principalul lor avantaj este flexibilitatea și natura nelimitată a algoritmului. Îmi place foarte mult IDE-ul Arduino.

Descrierea Arduino IDE

Distribuția poate fi descărcată de pe site-ul oficial. Descărcați arhiva, ocupă puțin mai mult de 100 MB. Instalarea este standard, ca toate aplicațiile pentru Windows. Driverele pentru toate tipurile de plăci trebuie instalate în pachet. Și așa arată fereastra de lucru a programului.

Mediul de dezvoltare Arduino constă din:

  • editor de coduri de program;
  • zone de mesaje;
  • ferestre de ieșire a textului;
  • bare de instrumente cu butoane pentru comenzile utilizate frecvent;
  • mai multe meniuri

Setări Arduino IDE

Se numește un program scris în mediul de dezvoltare Arduinoschiţa. Schița este scrisă într-un editor de text, care are evidențierea colorată a codului de program creat. Un exemplu de program simplu în imaginea de mai jos.

Funcționalități suplimentare pot fi adăugate folosindbiblioteci,reprezentând cod conceput într-un mod special. Practic, nu este accesibil dezvoltatorului. Mediul vine de obicei cu un set standard, care poate fi completat treptat. Sunt în subdirectorbiblioteci Directorul Arduino.

Multe biblioteci vin cu exemple situate în folderexemplu.Selectarea unei biblioteci din meniu va adăuga următoarea linie la codul sursă:

Arduino

#include

#include

Aceasta este o directivă - un fel de instrucțiune, un fișier antet care descrie obiecte, funcții și constante de bibliotecă. Multe funcții au fost deja dezvoltate pentru cele mai comune sarcini. Crede-mă, asta ușurează viața programatorului.

După ce am conectat placa electronică la computer. Facem urmatoarele setari - selectam placa Arduino si portul Com prin care ne vom conecta.

Arduino

void setup() ( // inițializați pinul digital 13 ca ieșire. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000) );

void setup() (

// inițializați pinul digital 13 ca ieșire.

pinMode(13, IEȘIRE);

void loop() (

digitalWrite(13, HIGH);

întârziere (1000);

digitalWrite(13, LOW);

întârziere (1000);

Deci, apropo, este convenabil să verificați funcționalitatea plăcii care a venit din magazin. Rapid și ușor.

Mai este un lucru convenabil. Se numeșteMonitorul portului serial (Monitor serial). Afișează datele trimise către platformăArduino.De obicei mă uit la ce semnale îmi dau diferiții senzori conectați la placă.

Conectarea bibliotecilor

Există diferite moduri de a adăuga funcții personalizate. Puteți conecta biblioteci în trei moduri:

  1. Folosind Library Manager
  2. Utilizarea importului ca fișier .zip
  3. Instalare manuală.

1. Folosind Library Manager.În fereastra de lucru a programului, selectați fila Schiță. După aceea, faceți clic pe butonul Conectare bibliotecă. Directorul bibliotecii se va deschide în fața noastră. Fereastra va afișa fișierele deja instalate cu o semnăturăinstalatsi cele care pot fi instalate.

2. Utilizarea importului ca fișier .zip.Adesea, pe Internet puteți găsi fișiere de bibliotecă ambalate în arhive cu extensie zip. Conține un antet fișier.h și un cod fișier.cpp. Nu este nevoie să despachetați arhiva în timpul instalării. Doar accesați meniul Schiță - Conectați biblioteca - Adăugați o bibliotecă .ZIP

3. Instalare manuală.Mai întâi, închideți programul Arduino IDE. Mai întâi ne despachetăm arhiva. Și transferăm fișierele cu extensia .h și .cpp într-un folder cu același nume ca și arhiva. Plasați folderul în directorul rădăcină.

Documentele mele\Arduino\biblioteci

Descrierea FLPprog

FLprog este un proiect gratuit de la dezvoltatori independenți care vă permite să lucrați cu blocuri funcționale sau diagrame ladder. Acest mediu este convenabil pentru oameni - nu pentru programatori. Vă permite să vedeți vizual și clar algoritmul folosind diagrame și blocuri funcționale. Puteți descărca distribuția de la site-ul oficial.

Urmaresc proiectul de destul de mult timp. Băieții se dezvoltă, adăugând constant noi funcționalități și schimbându-le pe cele vechi. Văd promisiuni în acest mediu. Deoarece îndeplinește două funcții importante:simplitate și ușurință în utilizare.

Să încercăm să creăm un proiect simplu. Vom comuta ieșirea 13 la LED.

Să creăm un nou proiect. În fereastra de sus, adăugați numărul necesar de intrări și ieșiri, setați un nume și atribuiți o intrare sau o ieșire fizică plăcii.

Scoatem elementele de care avem nevoie din arborele de obiecte și elementele de care avem nevoie pe pânza de editare. În cazul nostru, putem folosi un simplu declanșator RS pentru a-l porni și opri.

După crearea algoritmului, faceți clic pe butonul de compilare, programul oferă o schiță gata făcută în IDE.

Am analizat capacitățile și comoditatea programelor pentru dezvoltarea algoritmilor pe controlerul din seria Arduino. Există și programe care vă permit să creați diagrame structurale și imagini vizuale. Dar recomand să folosești un editor de text pentru că îți va fi mai ușor mai târziu. Spune-mi, ce mediu este cel mai convenabil pentru tine și de ce??

Pe 22 septembrie, am participat la un seminar la Krasnodar „Controle cu panou tactil OVEN SPK.” Conferința a avut loc în elegantul și frumosul hotel Bristol. A fost foarte interesant și mișto.

În prima parte a seminarului, ni sa spus despre capabilitățile și avantajele produselor OWEN. Apoi a fost o pauză de cafea cu gogoși. Am luat o grămadă de lucruri, gogoși, prăjituri și bomboane, pentru că îmi era foarte foame =)

În partea a doua a seminarului, după prânz, am fost prezentați. Ne-au spus multe despre vizualizarea Web. Această tendință începe să capete amploare. Ei bine, desigur, controlați echipamentul prin orice browser de internet. Acest lucru este foarte cool. Apropo, echipamentul în sine este în valiză.

Voi publica o serie de articole despre CoDeSyS 3.5 în viitorul apropiat. Așadar, dacă cineva este interesat, abonează-te sau vine pur și simplu în vizită. voi fi mereu bucuros!!!

Apropo, aproape că am uitat, următorul articol va fi despre placa electronică Arduino. Va fi interesant, nu-l ratați.

Ne vedem în articolele următoare.

Salutări, Gridin Semyon.

Ardublock este un limbaj de programare grafic pentru Arduino, conceput pentru începători. Acest mediu este destul de ușor de utilizat, ușor de instalat și aproape complet tradus în rusă. Un program proiectat vizual care seamănă cu blocurile...

Întreruperile sunt un mecanism foarte important în Arduino care permite dispozitivelor externe să interacționeze cu controlerul atunci când apar diverse evenimente. Prin instalarea unui handler de întrerupere hardware în schiță, putem răspunde la pornirea sau dezactivarea unui buton, la apăsarea tastaturii,...

Serial.print() și Serial.println() sunt principalele funcții ale Arduino pentru a transfera informații de pe placa Arduino la computer prin portul serial. Cele mai populare plăci Arduino Uno, Mega, Nano nu au afișaj încorporat, așa că...

Este posibil să faci proiecte Arduino fără placa Arduino în sine? Se pare, destul. Datorită numeroaselor servicii și programe online care au propriul nume: emulator sau simulator Arduino. Cei mai populari reprezentanți ai unor astfel de programe sunt...

Serial start este o instrucțiune Arduino extrem de importantă, care permite controlerului să stabilească o conexiune cu dispozitive externe. Cel mai adesea, acest „dispozitiv extern” este computerul la care conectăm Arduino. De aceea, începutul serialului este mai intens...

O variabilă globală în Arduino este o variabilă a cărei sferă se extinde la întregul program, este vizibilă în toate modulele și funcțiile. În acest articol ne vom uita la câteva exemple de utilizare a variabilelor globale...

Matricele Arduino sunt un element de limbaj utilizat în mod activ de programatori pentru a lucra cu seturi de date de același tip. Array-urile se găsesc în aproape toate limbajele de programare, Arduino nu face excepție, a cărui sintaxă este foarte asemănătoare...

Limbajul de programare Arduino se bazează pe limbajul C/C++, care este utilizat pe scară largă în lumea programării.

Publicul țintă al lui Arduino este reprezentat de 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 produse 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 produse sub marca Arduino, acestea au propriul limbaj de programare Arduino, care se bazează pe limbajul larg cunoscut printre programatori. 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 este amatorii. Cu toate acestea, este considerat unul dintre cele mai bune limbaje pentru programarea microcontrolerelor.

Punct şi virgulă;

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

Int LEDpin = 9;

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

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

// Tot ceea ce vine după bara oblică dublă va fi gri și nu va fi citit de program

Comentariile sunt ceea ce utilizați pentru a comenta codul. Codul bun este bine comentat. Comentariile sunt menite să spună ție, și oricui altcineva care ar putea da peste codul tău, la ce te gândeai când l-ai scris. Un comentariu bun ar fi cam asa:

// Conectați un LED 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 un comentariu pe mai multe rânduri prezentat mai jos:

/* Un comentariu pe mai multe linii este deschis cu o singură bară oblică inversă urmată de un asterisc. Tot ceea ce urmează 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 care sunt plasate în partea de jos a paginilor în cărți.

bretele ( )

Acoladele sunt folosite pentru a adăuga instrucțiuni care urmează să fie efectuate de o funcție (vom discuta despre funcții mai târziu). Există întotdeauna o acoladă deschisă și una care se închide. Dacă uitați să închideți o acoladă, compilatorul va imprima un cod de eroare.

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

Amintiți-vă - nicio bretele nu poate fi lăsată neînchisă!

Funcții ()

Acum este timpul să vorbim despre funcții. Funcțiile sunt fragmente 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 dacă trebuie să vă spălați câinele:

  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. Spălați câinele
  7. Clătiți câinele
  8. Uscați câinele
  9. Pune găleata deoparte

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, introducem pur și simplu WashDog și voilà - toate instrucțiunile sunt executate.

Arduino are anumite funcții 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 comună folosită pentru a indica modul pin Arduino.

Dar parantezele după funcția pinMode? Multe funcții necesită argumente. Un argument este informația pe care o funcție le folosește atunci 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, OUTPUT); //Setează modul de ieșire 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.

Millis(); //Obține timpul în milisecunde pentru care pornește Arduino

Rețineți că cuvântul OUTPUT este de obicei albastru. Există anumite cuvinte cheie în limbajul de programare Arduino care sunt utilizate 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 conținut între acolade după setup() o singură dată. Lucrurile tipice care se întâmplă în setup() sunt, de exemplu, setarea modului la contacte:

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ă informații.

Unele funcții returnează valori - funcția noastră DogWash poate returna numărul de găleți necesare pentru curățarea unui câine. Funcția analogRead() returnează o valoare întreagă între 0 și 1023. Dacă acest lucru pare puțin ciudat acum, 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() ar trebui 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 pentru că s-au asigurat că numele funcțiilor vorbesc 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 ca „buclă”. Funcția loop() este locul unde va merge corpul programului tău.

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

Void loop() ( //orice cod pe care îl specificaț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 funcții care nu sunt cu mult inferioare programului original. Cu ajutorul bibliotecii Serial descărcabile, utilizatorul poate crea o conexiune între transmisia de date pe care placa și Procesarea le transmit unul altuia. În acest caz, putem face ca placa să execute programe direct de pe PC-ul nostru.

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

Există și opțiuni plătite pentru 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 funcții interesante care lipsesc din 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 au calitate identică, altele au caracteristici foarte slabe și este posibil să nu funcționeze deloc cu produsele originale.

Există chiar și plăci Arduino care acceptă microprocesoare care rulează interpreți JavaScript. 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 în raport cu Arduino, ceea ce reprezintă un dezavantaj semnificativ.

Dacă sunteți în căutarea unui hobby și sunteți interesat de un domeniu precum inginerie electrică, puteți alege în siguranță Arduino pentru asta. Acest hobby are o mulțime de avantaje. 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 produse 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 pasiunea.

Stăpânirea acestei activități nu va fi atât de dificilă, datorită disponibilității 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 stimula să faceți noi experimente!

În acest articol, am decis să alcătuiesc un ghid complet pas cu pas pentru începătorii Arduino. Ne vom uita la ce este Arduino, ce aveți nevoie pentru a începe să învățați, de unde să descărcați și cum să instalați și să configurați mediul de programare, cum funcționează și cum să utilizați limbajul de programare și multe altele care sunt necesare pentru a crea cu drepturi depline. dispozitive complexe bazate pe familia acestor microcontrolere.

Aici voi încerca să dau un minim condensat, astfel încât să înțelegeți principiile lucrului cu Arduino. Pentru o imersiune mai completă în lumea microcontrolerelor programabile, acordați atenție altor secțiuni și articole ale acestui site. Voi lăsa link-uri către alte materiale pe acest site pentru un studiu mai detaliat al unor aspecte.

Ce este Arduino și pentru ce este?

Arduino este un kit de construcție electronică care permite oricui să creeze o varietate de dispozitive electro-mecanice. Arduino este format din software și hardware. Partea software include un mediu de dezvoltare (un program pentru scrierea și depanarea firmware-ului), multe biblioteci gata făcute și convenabile și un limbaj de programare simplificat. Hardware-ul include o linie mare de microcontrolere și module gata făcute pentru acestea. Datorită acestui lucru, lucrul cu Arduino este foarte ușor!

Cu ajutorul Arduino puteți învăța programare, inginerie electrică și mecanică. Dar acesta nu este doar un constructor educațional. Pe baza acestuia, puteți crea dispozitive cu adevărat utile.
Pornind de la simple lumini intermitente, stații meteo, sisteme de automatizare și terminând cu sisteme de casă inteligentă, mașini CNC și vehicule aeriene fără pilot. Posibilitățile nu sunt limitate nici măcar de imaginația ta, deoarece există un număr mare de instrucțiuni și idei de implementare.

Kit de pornire Arduino

Pentru a începe să învățați Arduino, trebuie să achiziționați placa microcontrolerului în sine și părți suplimentare. Cel mai bine este să achiziționați un kit de pornire Arduino, dar puteți alege singur tot ce aveți nevoie. Recomand să alegeți un set pentru că este mai ușor și adesea mai ieftin. Iată link-uri către cele mai bune seturi și părți individuale pe care cu siguranță va trebui să le studiați:

Kit de bază Arduino pentru începători:Cumpăra
Set mare pentru antrenament și primele proiecte:Cumpăra
Set de senzori și module suplimentari:Cumpăra
Arduino Uno este cel mai simplu și mai convenabil model din linie:Cumpăra
Placă fără sudură pentru învățare și prototipare ușoară:Cumpăra
Set de fire cu conectori convenabil:Cumpăra
Set LED:Cumpăra
Kit rezistoare:Cumpăra
Butoane:Cumpăra
Potențiometre:Cumpăra

Mediul de dezvoltare Arduino IDE

Pentru a scrie, depana și descărca firmware, trebuie să descărcați și să instalați IDE-ul Arduino. Acesta este un program foarte simplu și convenabil. Pe site-ul meu am descris deja procesul de descărcare, instalare și configurare a mediului de dezvoltare. Prin urmare, aici voi lăsa pur și simplu link-uri către cea mai recentă versiune a programului și către

Versiune Windows Mac OS X Linux
1.8.2

Limbajul de programare Arduino

Când aveți o placă de microcontroler în mâini și un mediu de dezvoltare instalat pe computer, puteți începe să scrieți primele schițe (firmware). Pentru a face acest lucru, trebuie să vă familiarizați cu limbajul de programare.

Programarea Arduino folosește o versiune simplificată a limbajului C++ cu funcții predefinite. Ca și în alte limbaje de programare asemănătoare C, există o serie de reguli pentru scrierea codului. Iată cele mai de bază:

  • Fiecare instrucțiune trebuie să fie urmată de un punct și virgulă (;)
  • Înainte de a declara o funcție, trebuie să specificați tipul de date returnat de funcție sau nul dacă funcția nu returnează o valoare.
  • De asemenea, este necesar să se indice tipul de date înainte de a declara o variabilă.
  • Comentariile sunt desemnate: // Inline și /* bloc */

Puteți afla mai multe despre tipurile de date, funcții, variabile, operatori și construcții de limbaj pe pagina de Nu este necesar să memorați și să vă amintiți toate aceste informații. Puteți oricând să mergeți la cartea de referință și să vă uitați la sintaxa unei anumite funcții.

Tot firmware-ul Arduino trebuie să conțină cel puțin 2 funcții. Acestea sunt setup() și loop().

funcția de configurare

Pentru ca totul să funcționeze, trebuie să scriem o schiță. Să facem LED-ul să se aprindă după apăsarea butonului și să ne stingem după următoarea apăsare. Iată prima noastră schiță:

// variabile cu pinii dispozitivelor conectate int switchPin = 8; int ledPin = 11; // variabile pentru a stoca starea butonului și LED-ul boolean lastButton = LOW; curent booleanButton = LOW; boolean ledOn = fals; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // funcție pentru debouncing boolean debounse(boolean last) ( boolean current = digitalRead(switchPin); if (last != current) ( întârziere ( 5); curent = digitalRead (switchPin ) return current ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ; (ledPin, ledOn);

// variabile cu pinii dispozitivelor conectate

int switchPin = 8 ;

int ledPin = 11 ;

// variabile pentru a stoca starea butonului și a LED-ului

boolean lastButton = LOW ;

curent booleanButton = LOW ;

boolean ledOn = fals ;

void setup() (

pinMode (switchPin, INPUT);

pinMode(ledPin, OUTPUT);

// funcție pentru debouncing

boolean debounse (boolean last ) (

curent boolean = digitalRead(switchPin);

dacă (ultimul != curent ) (

întârziere(5);

curent = digitalRead(switchPin);

curent de retur;

void loop() (

currentButton = debounse(lastButton);

dacă (lastButton == LOW && currentButton == HIGH ) (

ledOn = ! ledOn;

lastButton = curentButton ;

digitalWrite(ledPin, ledOn);

În această schiță, am creat o funcție suplimentară de debounse pentru a suprima respingerea contactului. Există informații despre respingerea contactului pe site-ul meu. Asigurați-vă că verificați acest material.

PWM Arduino

Modularea lățimii impulsului (PWM) este procesul de control al tensiunii folosind ciclul de lucru al unui semnal. Adică, folosind PWM putem controla fără probleme sarcina. De exemplu, puteți modifica fără probleme luminozitatea unui LED, dar această modificare a luminozității se obține nu prin scăderea tensiunii, ci prin creșterea intervalelor semnalului scăzut. Principiul de funcționare al PWM este prezentat în această diagramă:

Când aplicăm PWM la LED, acesta începe să se aprindă rapid și să se stingă. Ochiul uman nu este capabil să vadă acest lucru deoarece frecvența este prea mare. Dar când înregistrați video, cel mai probabil veți vedea momente în care LED-ul nu se aprinde. Acest lucru se va întâmpla cu condiția ca rata de cadre a camerei să nu fie un multiplu al frecvenței PWM.

Arduino are un modulator de lățime a impulsului încorporat. Puteți utiliza PWM numai pe acei pini care sunt acceptați de microcontroler. De exemplu, Arduino Uno și Nano au 6 pini PWM: aceștia sunt pinii D3, D5, D6, D9, D10 și D11. Știfturile pot diferi pe alte plăci. Puteți găsi o descriere a tablei care vă interesează

Pentru a utiliza PWM în Arduino există o funcție. Acesta ia ca argumente numărul de pin și valoarea PWM de la 0 la 255. 0 este 0% umple cu un semnal ridicat, iar 255 este 100%. Să scriem o schiță simplă ca exemplu. Să facem ca LED-ul să se aprindă lin, să așteptăm o secundă și să se stingă la fel de ușor și așa mai departe la infinit. Iată un exemplu de utilizare a acestei funcții:

// LED-ul este conectat la pinul 11 ​​int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); delay(5); ) )

// LED-ul conectat la pinul 11

int ledPin = 11 ;

void setup() (

pinMode(ledPin, OUTPUT);

void loop() (

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

analogWrite(ledPin, i);

întârziere(5);

întârziere (1000);

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

vei avea nevoie

  • Placa Arduino UNO;
  • cablu USB (USB A - USB B);
  • computer personal;
  • LED;
  • o pereche de fire de legătură de 5-10 cm lungime;
  • dacă este disponibil - placa 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 selecta instalatorul ( 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ăci din familia Arduino.

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

2 Conexiune Arduino la calculator

Conectați placa Arduino folosind 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 computer

3 Instalarea driverului pentru Arduino

Instalați driverul pentru 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. Declin. Apăsați tastele Win+Pauză, fugi 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 driverul. Spuneți sistemului de operare locația driverului. Se află în subdirector şoferiiîn folderul pe care tocmai l-am descărcat.

Observați portul la care este conectată placa Arduino. Pentru a afla numărul portului, lansați Device Manager și căutați secțiunea „Porturi (COM și LPT)”. Numărul portului va fi indicat între paranteze după numele plăcii. Dacă placa nu este în listă, încercați să o deconectați de la computer și să așteptați câteva secunde, apoi să o conectați din nou.

Arduino în Windows Device Manager

4 Setări Arduino IDE

Îndreptați mediul de dezvoltare către placa dvs. Pentru a face acest lucru în meniu Table de instrumente selecta 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”.


Deschideți un exemplu de schiță pentru Arduino

6 Ansamblu 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, cel lung la pinul digital „13” al plăcii Arduino. Este convenabil să folosiți o placă, dar dacă nu aveți una, conectați firele cu o răsucire.

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


Schema de conectare a LED-ului la Arduino din memoria Arduino

Acum puteți încărca programul în memoria plăcii. Conectați placa la computer, așteptați câteva secunde până când placa se inițializează. Faceți clic pe butonul Descărcați, iar schița dvs. va fi scrisă în memoria plăcii Arduino. LED-ul ar trebui să înceapă să clipească vesel la fiecare 2 secunde (1 secundă aprins, 1 secundă oprit). 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 nesfârșit atâta timp cât placa este pornită: digitalWrite(13, HIGH); // aplică un nivel ridicat la pinul 13 - aprinde LED-ul delay(1000); // timp de 1000 ms = 1 sec. } digitalWrite(13, LOW); // aplică un nivel scăzut la pinul 13 - dezactivează LED-ul delay(1000); // timp de 1 sec.

// apoi ciclul se repetă Citiți comentariile din textul programului - sunt suficiente pentru a înțelege primul 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ă din nou și din nou atâta timp cât placa este alimentată cu energie. În acest ciclu efectuăm toate acțiunile necesare. În acest caz, pornim și oprim LED-ul. Operatorîntârziere() specifică durata de execuție (în milisecunde) a instrucțiunii precedente. Operator digitalWrite() îi spune Arduino la ce pin să aplice tensiune și la ce nivel de tensiune.

Prima ta schiță este gata!

Există multe site-uri pe Internet dedicate lucrului cu plăcile din familia Arduino. Citește, stăpâne, nu-ți fie frică să experimentezi și să înveți lucruri noi! Aceasta este o activitate distractivă și plină de satisfacții care vă va aduce multă plăcere.

Aveți grijă când lucrați cu placa Arduino - acesta 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 zonele umede atunci când lucrați.