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ă.
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.
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:
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ă.
Există diferite moduri de a adăuga funcții personalizate. Puteți conecta biblioteci în trei moduri:
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
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.
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.
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.
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ă!
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:
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.
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():
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.
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.
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.
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.
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 |
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 |
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ă:
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().
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.
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 -- ) ( |
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
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ă.
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Îndreptați mediul de dezvoltare către placa dvs. Pentru a face acest lucru în meniu Table de instrumente selecta Arduino UNO.
Specificați numărul portului COM la care este conectată placa Arduino: Port pentru instrumente.
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”.
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!
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!
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.