Versiune ide Arduino. Programarea Arduino folosind ArduBlock folosind exemplul unui robot care se mișcă de-a lungul unei benzi

Folosind software Mediul Arduino IDE, puteți, pe baza doar cunoștințelor de C++, să rezolvați o varietate de probleme creative legate de programare și modelare.

Arduino IDE este un mediu de dezvoltare software conceput pentru programarea plăcii cu același nume. Până în prezent, de când folosind Arduino construiți tot felul de modele și dispozitive interactive, educaționale, experimentale, de divertisment. Interfața este relativ ușor de învățat; se bazează pe limbajul C++, astfel încât chiar și programatorii începători pot stăpâni instrumentele.

De unde pot descărca Arduino IDE

Programul în sine este open source. Toate instrumente de bază sunt distribuite gratuit - trebuie doar să selectați versiunea care se potrivește cu sistemul dvs. de operare.

Cu descrieri (pornit Limba engleză) poate fi găsit pe pagina oficială a site-ului https://www.arduino.cc/en/main/software. De asemenea, puteți descărca de acolo versiunea cerută programe.

După ce ați selectat sistemul de operare dorit și fișierul de instalare dorit, veți fi dus la pagina de descărcare (vezi mai jos), unde trebuie pur și simplu să faceți clic pe „Doar descărcare” pentru a începe descărcarea.

Versiunea actuală de Arduino Ide la momentul publicării acestui articol este 1.8.5.

Arduino IDE în rusă

Inițial, trusa de instrumente este furnizată în limba engleză. Și deși comenzile din meniu sunt destul de simple, programul poate fi tradus cu ușurință în limba dorită.

O listă completă a localizărilor lansate este prezentată pe această pagină: http://playground.arduino.cc/Main/LanguagesIDE. Limba rusă este inclusă în listă.

Rusa este inclusă în lista limbilor IDE Arduino.

Pentru a porni Interfață în limba rusă, trebuie să utilizați comanda:

FişierPreferințeLimba
(Fișier → Setări → Limbă)

și selectați rusă din listă.

Configurarea mediului

Instalarea mediului software Arduino este un proces destul de simplu. După ce ați selectat și descărcat versiunea dorită, trebuie să începeți instalarea prin fișier arduino.exe.

Ca întotdeauna, mai întâi trebuie să fiți de acord cu Acord de licențiere, în ciuda faptului că mediul în sine este distribuit gratuit.

Următorul pas este să selectați acțiunile pe care trebuie să le întreprindă instalatorul. Puteți bifa toate casetele.

Dacă programul de instalare vă solicită să instalați USB la serial driver - faceți clic Instalare.

Configurare IDE

Un port USB este folosit pentru a conecta placa la un computer. Programarea nu necesită echipament special; placa în sine este compactă și ușoară.

Pasul 1

Conectăm placa Arduino la computer.

Pasul 2

Să mergem la:
Start → Panou de control → Manager dispozitive
Găsim " porturi COMși LPT" și vedeți placa noastră pe COM2.

Este probabil să nu vezi nimic. În cele mai multe cazuri, problema este că ați cumpărat o placă bazată pe cipul CH340G. În acest caz, trebuie să utilizați .

Pasul 3

Lansați Arduino IDE și accesați: Instrumente → Port. Selectați portul COM2 (sau cel pe care l-ați primit la pasul de mai sus).

Pasul 4

Alegeți o tablă.

Aceasta completează configurarea. Acum aveți configurat Arduino IDE și puteți începe să vă dezvoltați proiectele.

Biblioteci pentru mediul software

Există 3 moduri de a conecta biblioteca la IDE-ul Arduino:

  1. Utilizați managerul de bibliotecă, care a apărut în program din versiunea 1.6.2. Trebuie să utilizați comanda „Schiță” → Includeți biblioteca → Gestionați bibliotecile. Va apărea o listă de biblioteci disponibile care pot fi activate sau dezactivate (vezi captura de ecran de mai jos).
  2. Adăugați biblioteca descărcată în format *.ZIP. Pentru a face acest lucru, trebuie să utilizați comanda „Schiță” → Includeți biblioteca → Adăugați o bibliotecă .ZIP. După aceea, selectați fișierul astfel încât biblioteca să fie adăugată la listă și reporniți programul.
  3. Adăugați manual fișierul bibliotecă. Pentru a face acest lucru, va trebui să despachetați arhiva și să vă asigurați că toate fișierele sunt într-un singur folder. După aceasta, va trebui să fie plasat în directorul cu bibliotecile utilizatorilor, care se află la " Documentele mele\Arduino\biblioteci" (Windows) sau " ~/Documente/Arduino/biblioteci„(Linux). Această metodă este destul de complicată; este recomandată în primul rând programatorilor experimentați.

Versiuni disponibile momentan pentru sisteme de operare Windows, Linux, MacOS. La începutul lui septembrie 2017, cel mai mult o nouă versiune Arduino IDE - 1.8.5. O puteți descărca mai sus - selectați opțiunea dorită din tabel, sau pe pagina https://www.arduino.cc/en/main/software. Pentru Linux există versiuni pe 32 de biți, 64 de biți și ARM. Pentru Windows, pe lângă faptul că este instalabil și portabil, există și o versiune sub forma unei aplicații Windows.

Astfel, lucrul cu Arduino IDE nu creează dificultăți chiar și pentru programatorii care nu au stăpânit încă pe deplin limbajul C++. Experimentând cu funcții, adăugând propriile biblioteci sau descarcând altele noi, puteți obține rezultate excelenteși rezolvă chiar și probleme creative foarte nestandardizate.

Toate acestea explică popularitatea în creștere și creșterea numărului de programatori care experimentează mediul software și îi adaugă noi funcții.

Acest simulator funcționează cel mai bine pe browserul Chrome
Să aruncăm o privire mai atentă la Arduino.

Arduino nu este calculator mare, la care se pot conecta circuite externe. Arduino Uno folosește Atmega 328P
Acesta este cel mai mare cip de pe placă. Acest cip execută programe care sunt stocate în memoria sa. Puteți descărca programul prin usb folosind Arduino IDE. Portul USB oferă și alimentare arduino.

Există un conector de alimentare separat. Placa are doi pini etichetați 5v și 3.3v, care sunt necesari pentru alimentare diverse dispozitive. Veți găsi, de asemenea, pini marcați GND, aceștia sunt pinii de masă (pământul este 0V). Platforma Arduino are, de asemenea, 14 pini digitali, etichetați de la 0 la 13, care se conectează la noduri externe și au două stări, ridicată sau scăzută (pornit sau oprit). Aceste contacte pot funcționa ca ieșiri sau ca intrări, de ex. pot fie să transmită unele date și să controleze dispozitive externe sau primiți date de la dispozitive. Următorii pini de pe placă sunt etichetați A0-A5. Acestea sunt intrări analogice care pot primi date de la diverși senzori. Acest lucru este convenabil mai ales atunci când trebuie să măsurați un anumit interval, cum ar fi temperatura. Intrările analogice au funcții suplimentare, care poate fi folosit separat.

Cum se utilizează panou.

Placa este necesară pentru a conecta temporar piesele, pentru a verifica cum funcționează dispozitivul, înainte de a lipi totul împreună.
Toate exemplele următoare sunt asamblate pe o placă, astfel încât să puteți face rapid modificări la circuit și să reutilizați piesele fără să vă deranjați cu lipirea.

Placa are șiruri de găuri în care puteți introduce piese și fire. Unele dintre aceste găuri sunt conectate electric între ele.

Cele două rânduri de sus și de jos sunt conectate în rânduri de-a lungul întregii plăci. Aceste rânduri sunt folosite pentru a furniza energie circuitului. Ar putea fi de 5V sau 3,3V, dar în orice caz, primul lucru pe care trebuie să-l faceți este să conectați 5V și GND la placa, așa cum se arată în imagine. Uneori, aceste conexiuni de rând pot fi rupte în mijlocul plăcii, apoi, dacă este necesar, le puteți conecta așa cum se arată în imagine.








Găurile rămase, situate în mijlocul plăcii, sunt grupate în grupuri de cinci găuri. Sunt folosite pentru a conecta părțile circuitului.


Primul lucru pe care îl vom conecta la microcontrolerul nostru este un LED. Schema de conectare electrică este prezentată în imagine.

De ce este nevoie de o rezistență într-un circuit? ÎN în acest caz, limitează curentul care trece prin LED. Fiecare LED este proiectat pentru un anumit curent, iar dacă acest curent este mai mare, LED-ul se va defecta. Puteți afla ce valoare ar trebui să aibă rezistorul folosind legea lui Ohm. Pentru cei care nu știu sau au uitat, legea lui Ohm spune că există dependență liniară curent de la tensiune. Adică, cu cât aplicăm mai multă tensiune rezistorului, cu atât mai mult curent va curge prin el.
V=I*R
Unde V- tensiunea pe rezistor
eu- curent prin rezistor
R- rezistenta care trebuie gasita.
În primul rând, trebuie să aflăm tensiunea pe rezistor. Majoritatea LED-urilor de 3 mm sau 5 mm pe care le veți folosi au o tensiune de funcționare de 3V. Aceasta înseamnă că trebuie să stingem 5-3 = 2V la rezistor.

Vom calcula apoi curentul care trece prin rezistor.
Majoritatea LED-urilor de 3 mm și 5 mm strălucesc la luminozitate maximă la 20 mA. Un curent mai mare decât acesta le poate dezactiva, în timp ce un curent de intensitate mai mică le va reduce luminozitatea fără a provoca niciun rău.

Deci, vrem să conectăm LED-ul la circuitul de 5V, astfel încât să poată transporta un curent de 20mA. Deoarece toate piesele sunt incluse într-un singur circuit, rezistorul va avea și un curent de 20mA.
Primim
2V = 20 mA * R
2V = 0,02A * R
R = 100 Ohm

100 Ohmi este rezistența minimă, este mai bine să folosiți puțin mai mult, deoarece LED-urile au anumite variații în caracteristici.
ÎN în acest exemplu se folosește o rezistență de 220 ohmi. Doar pentru că autorul are o mulțime de ele: cu ochiul: .

Introduceți LED-ul în găurile din mijlocul plăcii, astfel încât cablul său lung să fie conectat la unul dintre cablurile rezistenței. Conectați al doilea capăt al rezistenței la 5V și conectați cel de-al doilea cablu al LED-ului la GND. LED-ul ar trebui să se aprindă.

Vă rugăm să rețineți că există o diferență în modul în care conectați LED-ul. Curentul trece de la terminalul mai lung spre cel mai scurt. În diagramă vă puteți imagina că curentul curge în direcția în care este îndreptat triunghiul. Încercați să întoarceți LED-ul cu susul în jos și veți vedea că nu se va aprinde.

Dar modul în care conectați rezistorul nu face nicio diferență. Puteți să-l întoarceți sau să încercați să-l conectați la un alt pin al LED-ului, acest lucru nu va afecta funcționarea circuitului. Acesta va limita în continuare curentul prin LED.

Anatomia schiței Arduino.

Programele pentru Arduino se numesc sketch. Ele constau din două funcții principale. Funcţie înființatși funcția buclă
În această funcție veți seta toate setările de bază. Ce pini vor funcționa ca intrare sau ieșire, ce biblioteci să se conecteze, inițializează variabilele. Funcţie Înființat() rulează o singură dată în timpul schiței, când începe execuția programului.
aceasta este funcția principală care se execută după înființat(). De fapt, este programul în sine. Această funcție va funcționa pe termen nelimitat până când opriți alimentarea.

LED intermitent Arduino



În acest exemplu, vom conecta un circuit LED la unul dintre pinii digitali ai Arduino și îl vom porni și opri folosind un program și, de asemenea, veți învăța câteva funcții utile.

Această funcție este utilizată în înființat() parte a programului și servește la inițializarea pinii pe care îi veți folosi ca intrare (INTRARE) sau ieșire (IEȘIRE). Nu veți putea să citiți sau să scrieți date din pin până când nu îl setați respectiv pinMode. Această funcție are două argumente: Numarul pin este numărul PIN pe care îl veți folosi.

Modul-setează cum va funcționa pinul. La intrare (INTRARE) sau ieșire (IEȘIRE). Pentru a aprinde LED-ul trebuie să dăm un semnal DIN Arduino. Pentru a face acest lucru, configurăm pinul de ieșire.
- această funcție este folosită pentru a seta starea (stat) pina (Numarul pin). Există două stări principale (de fapt 3 dintre ele), una este ÎNALT, vor fi 5V pe pin, asta e altceva Scăzut iar pinul va fi 0v. Aceasta înseamnă că, pentru a aprinde LED-ul, trebuie să setăm pinul conectat la LED nivel inalt ÎNALT.

Întârziere. Servește pentru a întârzia funcționarea programului pentru o perioadă specificată în msec.
Mai jos este codul care face ca LED-ul să clipească.
//LED Blink int ledPin = 7;//Pinul Arduino la care este conectat LED-ul void setup() ( pinMode(ledPin, OUTPUT);// setarea pinului ca OUTPUT) void loop() ( digitalWrite(ledPin, HIGH) ;// porniți întârzierea LED-ului (1000);// întârziere 1000 ms (1 sec) digitalWrite (ledPin, LOW);//Opriți întârzierea LED-ului (1000);// așteptați 1 secundă)

Mici explicații despre cod.
Liniile care încep cu „//” sunt comentarii și sunt ignorate de Arduino.
Toate comenzile se termină cu punct și virgulă; dacă le uitați, veți primi un mesaj de eroare.

ledPin este o variabilă. Variabilele sunt folosite în programe pentru a stoca valori. În acest exemplu, variabila ledPin valoarea este atribuită la 7, acesta este numărul de pin Arduino. Când programul Arduino întâlnește o linie cu o variabilă ledPin, va folosi valoarea specificată mai devreme.
Deci inregistreaza pinMode(ledPin, OUTPUT) similar cu înregistrarea pinMode(7, OUTPUT).
Dar în primul caz, trebuie doar să schimbați variabila și aceasta se va schimba în fiecare linie în care este folosită, iar în al doilea caz, pentru a schimba variabila, va trebui să faceți modificări manual în fiecare comandă.

Prima linie indică tipul variabilei. Când programați Arduino, este important să declarați întotdeauna tipul de variabile. Deocamdată este suficient să știi asta INT anunta numere negative si pozitive.
Mai jos este o simulare a schiței. Faceți clic pe Start pentru a vedea circuitul în acțiune.

După cum era de așteptat, LED-ul se stinge și se aprinde din nou după o secundă. Încercați să modificați întârzierea pentru a vedea cum funcționează.

Controlul mai multor LED-uri.

În acest exemplu, veți învăța cum să controlați mai multe LED-uri. Pentru a face acest lucru, instalați încă 3 LED-uri pe placă și conectați-le la rezistențe și pinii Arduino, așa cum se arată mai jos.

Pentru a porni și stinge LED-urile unul câte unul, trebuie să scrieți un program similar cu acesta:
//Multi LED Blink int led1Pin = 4; int led2Pin = 5; int led3Pin = 6; int led4Pin = 7; void setup() ( //setează pinii ca OUTPUT pinMode(led1Pin, OUTPUT); pinMode(led2Pin, OUTPUT); pinMode(led3Pin, OUTPUT); pinMode(led4Pin, OUTPUT); ) void loop() ( digitalWrite(led1Pin, HIGH) );//porniți întârzierea LED (1000);//întârziere 1 sec digitalWrite (led1Pin, LOW);//opriți întârzierea LED-ului (1000);//întârziere 1 sec //faceți același lucru pentru celelalte 3 LED-uri digitalWrite(led2Pin, HIGH);//aprinde LED-ul întârziere(1000);//întârziere 1 sec digitalWrite(led2Pin, LOW);//stinge LED-ul întârziere (1000);//întârziere 1 sec digitalWrite(led3Pin, HIGH); );//aprinde LED-ul întârziere (1000);// întârziere 1 sec digitalWrite (led3Pin, LOW);//stinge LED-ul întârziere (1000);//întârziere 1 sec digitalWrite (led4Pin, HIGH);//pornire întârzierea LED-ului (1000);// întârziere 1 secundă digitalWrite (led4Pin, LOW);//stinge întârzierea LED-ului (1000);//întârziere 1 secundă)

Acest program va funcționa grozav, dar nu este soluția cea mai rațională. Codul trebuie schimbat. Pentru ca programul să funcționeze din nou și din nou, vom folosi o construcție numită .
Buclele sunt utile atunci când trebuie să repetați aceeași acțiune de mai multe ori. În codul de mai sus repetăm ​​rândurile

DigitalWrite(led4Pin, HIGH); întârziere (1000); digitalWrite(led4Pin, LOW); întârziere (1000);
cod complet schiță în atașament (descărcări: 1187)

Reglarea luminozității LED-urilor

Uneori va trebui să modificați luminozitatea LED-urilor din program. Acest lucru se poate face folosind comanda analogWrite() . Această comandă pornește și stinge LED-ul atât de repede încât ochiul nu poate vedea pâlpâirea. Dacă LED-ul este aprins jumătate din timp și stins jumătate din timp, va apărea vizual că strălucește la jumătate din luminozitate. Se numeste modularea lățimii impulsului(PWM sau PWM în engleză). Shim este folosit destul de des, deoarece poate fi folosit pentru a controla o componentă „analogică” folosind un cod digital. Nu toți pinii Arduino sunt potriviți pentru aceste scopuri. Doar acele concluzii în apropierea cărora se trage o astfel de desemnare " ~ ". Îl vei vedea lângă pinii 3,5,6,9,10,11.
Conectați unul dintre LED-urile dvs. la unul dintre pinii PWM (pentru autor acesta este pinul 9). Acum rulați schița intermitentă a LED-ului, dar mai întâi modificați comanda digitalWrite() pe analogWrite(). analogWrite() are două argumente: primul este numărul de pin, iar al doilea este valoarea PWM (0-255), în raport cu LED-urile aceasta va fi luminozitatea acestora, iar pentru motoarele electrice viteza de rotație. Mai jos este un exemplu de cod pentru diferite luminozități LED.
//Schimbați luminozitatea LED-ului int ledPin = 9;//un LED este conectat la acest pin void setup() ( pinMode(ledPin, OUTPUT);// inițializarea pinului la ieșire ) void loop() ( analogWrite( ledPin, 255);// luminozitate maximă (255/255 = 1) întârziere (1000);//pauză 1 sec digitalWrite (ledPin, LOW);//stinge LED întârziere (1000);//pauză 1 sec analog Write ( ledPin, 191);//luminozitate cu 3/4 (191/255 ~= 0,75) întârziere (1000);//pauză 1 secundă digitalWrite (ledPin, LOW);//oprire întârziere LED (1000);// pauză 1 sec analogWrite(ledPin, 127); //jumătate de luminozitate (127/255 ~= 0,5) întârziere (1000);//pauză 1 secundă digitalWrite (ledPin, LOW);//oprire întârziere LED (1000);/ /pauză 1 sec analogWrite(ledPin, 63); //sferturi de luminozitate (63/255 ~= 0,25) întârziere (1000);//pauză 1 sec digitalWrite(ledPin, LOW);//stinge LED-ul întârziere (1000) ;//pauză 1 secundă)

Încercați să modificați valoarea PWM din comandă analogWrite() pentru a vedea cum afectează acest lucru luminozitatea.
În continuare, veți învăța cum să reglați ușor luminozitatea de la maxim la zero. Desigur, puteți copia o bucată de cod de 255 de ori
analogWrite(ledPin, luminozitate); delay(5);//short delay luminozitate = luminozitate + 1;
Dar, înțelegi, acest lucru nu va fi practic. Cel mai bun mod de a face acest lucru este utilizarea bucla FOR care a fost folosit anterior.
Următorul exemplu utilizează două bucle, una pentru a reduce luminozitatea de la 255 la 0
pentru (luminozitate int=0;luminozitate=0;luminozitate--)( analogWrite(ledPin,luminozitate); delay(5); )
întârziere (5) folosit pentru a încetini viteza de atenuare a luminozității 5*256=1280ms=1.28s)
Prima linie folosește „ luminozitate-" pentru a face ca valoarea luminozității să scadă cu 1 de fiecare dată când bucla este repetată. Rețineți că bucla va rula până când luminozitate >=0.Înlocuirea semnului > pe semn >= am inclus 0 în intervalul de luminozitate. Această schiță este modelată mai jos. //schimbați ușor luminozitatea int ledPin = 9;//un LED este conectat la acest pin void setup() ( pinMode(ledPin, OUTPUT);// inițializarea pinului de ieșire) void loop() ( //creșteți ușor luminozitate (de la 0 la 255) pentru (luminozitate int=0;luminozitate=0;luminozitate--)( analogWrite(ledPin,luminozitate); delay(5); ) delay(1000);//așteptați 1 secundă //reduceți ușor luminozitatea (255 la 0) pentru (luminozitate int=255; luminozitate>=0; luminozitate--)( analogWrite(ledPin,luminozitate); delay(5); ) delay(1000);//așteptați 1 secundă) )
Nu este foarte vizibil, dar ideea este clară.

LED RGB și Arduino

Un LED RGB este de fapt trei LED-uri de culori diferite într-un singur pachet.

Prin includerea diferitelor LED-uri cu diferite luminozități, le puteți combina pentru a crea culori diferite. Pentru Arduino, unde numărul de niveluri de luminozitate este 256, veți obține 256^3=16581375 culori posibile. În realitate, desigur, vor fi mai puțini.
LED-ul pe care îl vom folosi este catodul comun. Acestea. toate cele trei LED-uri sunt conectate structural prin catozi la un terminal. Vom conecta acest pin la pinul GND. Pinii rămași, prin rezistențe de limitare, trebuie conectați la pinii PWM. Autorul a folosit pinii 9-11. În acest fel va fi posibil să controlați fiecare LED separat. Prima schiță arată cum să porniți fiecare LED individual.



//LED RGB - test //pin conexiuni int red = 9; int verde = 10; int albastru = 11; void setup())( pinMode(rosu, OUTPUT); pinMode(albastru, OUTPUT); pinMode(verde, OUTPUT); ) void loop())( //porneste/opri LED-ul rosu digitalWrite(rosu, HIGH); delay(500); digitalWrite(rosu, LOW); delay(500); //pornire/oprire LED-ul verde digitalWrite(verde, HIGH); delay(500); digitalWrite(verde, LOW); delay(500); // pornește/oprește LED-ul albastru digitalWrite(albastru, HIGH); delay(500); digitalWrite(albastru, LOW); delay(500); )

Următorul exemplu utilizează comenzile analogWrite()și pentru a obține diferite valori aleatorii de luminozitate pentru LED-uri. Veți vedea diferite culori schimbându-se la întâmplare.
//LED RGB - culori aleatorii //conexiuni pin int red = 9; int verde = 10; int albastru = 11; void setup())( pinMode(red, OUTPUT); pinMode(albastru, OUTPUT); pinMode(verde, OUTPUT); ) void loop())( //alege o culoare aleatorie analogWrite(rosu, random(256)); analogWrite( albastru, aleatoriu (256)); analogWrite (verde, aleatoriu (256)); întârziere (1000);// așteptați o secundă)

Aleatoriu(256)-se intoarce Număr aleatoriuîn intervalul de la 0 la 255.
În fișierul atașat este o schiță care va demonstra tranzițiile netede ale culorilor de la roșu la verde, apoi la albastru, roșu, verde etc. (descărcări: 326)
Exemplul de schiță funcționează, dar există o mulțime de coduri duplicate. Puteți simplifica codul scriind propria funcție de ajutor care se va schimba ușor de la o culoare la alta.
Iată cum va arăta: (descărcări: 365)
Să ne uităm la definiția funcției bucată cu bucată. Funcția este numită fader si are doua argumente. Fiecare argument este separat prin virgulă și are un tip declarat pe prima linie a definiției funcției: void fader (int color1, int color2). Vedeți că ambele argumente sunt declarate ca intși li se dau nume culoare1Și culoare2 ca variabile de condiție pentru a defini o funcție. Vidulînseamnă că funcția nu returnează nicio valoare, pur și simplu execută comenzi. Dacă ar trebui să scrieți o funcție care a returnat rezultatul înmulțirii, ar arăta astfel:
int multiplicator(int număr1, int număr2)( int produs = număr1*număr2; returnează produsul; )
Observați cum am declarat Type intîn schimb ca tip de returnare
gol.
În interiorul funcției există comenzi pe care le-ați folosit deja în schița anterioară, doar numerele de pin au fost înlocuite cu culoare1Și culoare2. Funcția este numită fader, argumentele sale sunt calculate ca culoare1 = roșuȘi culoare2 = verde. În arhivă schiță completă folosind funcții (descărcări: 272)

Buton

Următoarea schiță va folosi un buton cu contacte normal deschise, fără blocare.


Aceasta înseamnă că, în timp ce butonul nu este apăsat, nu trece curent prin el, iar după ce a fost eliberat, butonul revine la poziția inițială.
Pe lângă buton, circuitul folosește un rezistor. În acest caz, nu limitează curentul, ci „trage” butonul la 0V (GND). Acestea. până când butonul este apăsat pe pinul Arduino la care este conectat, se va întâmpla nivel scăzut. Rezistorul folosit în circuit este de 10 kOhm.


//determină când butonul este apăsat int buttonPin = 7; void setup())( pinMode(buttonPin, INPUT);//inițializați pinul la intrarea Serial.begin(9600);//inițializați portul serial) void loop())( if (digitalRead(buttonPin)==HIGH )(//dacă este apăsat butonul Serial.println(„apăsat”); // se afișează „apăsat” ) else ( Serial.println(„neapăsat”); // în caz contrar, „neapăsat” ) )
Există mai multe comenzi noi în această schiță.
-Această comandă ia valoarea High (nivel înalt) și low (nivel scăzut), ieșirea pe care o verificăm. Această ieșire trebuie mai întâi configurată ca intrare în setup().
; //unde butonulPin este numărul PIN la care este conectat butonul.
Portul serial permite Arduino să trimită mesaje către computer în timp ce controlerul însuși execută programul. Acest lucru este util pentru depanarea unui program, trimiterea de mesaje către alte dispozitive sau aplicații. Pentru a activa transferul de date printr-un port serial (numit și UART sau USART), trebuie să-l inițializați în setup()

Serial.begin() are un singur argument - aceasta este viteza de transfer de date între Arduino și computer.
Schița folosește o comandă pentru a afișa un mesaj pe ecran în Arduino IDE (Tools >> Serial Monitor).
- designul vă permite să controlați progresul execuției programului prin combinarea mai multor verificări într-un singur loc.
Dacă digitalRead revine HIGH, atunci cuvântul „apăsat” este afișat pe monitor. În caz contrar, cuvântul „eliberat” este afișat pe monitor. Acum puteți încerca să porniți și să opriți LED-ul apăsând un buton.
//detecție apăsare buton cu ieșire LED int buttonPin = 7; int ledPin = 8; void setup())( pinMode(buttonPin, INPUT);//de data aceasta vom seta pinul butonului ca INPUT pinMode(ledPin, OUTPUT); Serial.begin(9600); ) void loop())( if (digitalRead(buttonPin) )= =HIGH)( digitalWrite(ledPin,HIGH); Serial.println(„apăsat”); ) else ( digitalWrite(ledPin,LOW); Serial.println(„ne apăsat”); ) )

Intrare analogică.

analogRead vă permite să citiți date de la unul dintre pinii analogici Arduino și afișează o valoare în intervalul de la 0 (0V) la 1023 (5V). Dacă tensiunea la intrarea analogică este de 2,5 V, atunci se va imprima 2,5 / 5 * 1023 = 512
analogRead are un singur argument - Acesta este numărul de intrare analogică (A0-A5). Următoarea schiță arată codul pentru citirea tensiunii de la potențiometru. Pentru a face acest lucru, conectați-vă rezistor variabil, pinii exteriori merg la pinii 5V și GND, iar pinul din mijloc merge la intrarea A0.

Rulați următorul cod și vedeți în monitorul serial cum se schimbă valorile în funcție de rotația butonului rezistenței.
//intrare analogică int potPin = A0;//pinul central al potențiometrului este conectat la acest pin void setup())( //pinul analogic este inclus ca intrare implicit, deci nu este necesară inițializarea Serial.begin(9600) ); ) void loop())( int potVal = analogRead(potPin);//potVal este un număr între 0 și 1023 Serial.println(potVal); )
Următoarea schiță combină schița de clic pe buton și schița de control al luminozității LED. LED-ul se va aprinde de la buton, iar luminozitatea va fi controlată de un potențiometru.
//detecție apăsare buton cu ieșire LED și intensitate variabilă int buttonPin = 7; int ledPin = 9; int potPin = A0; void setup())( pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); ) void loop())( if (digitalRead(buttonPin)==HIGH)(//dacă butonul este apăsat int analogVal = analogRead(potPin); int scaledVal = map(analogVal, 0, 1023, 0, 255); analogWrite(ledPin, scaledVal);//porniți led-ul cu intensitatea setată de pot Serial.println("pressed"); ) altfel ( digitalWrite(ledPin, LOW);//oprire dacă butonul nu este apăsat Serial.println("ne apăsat"); ) )

ÎN anul trecut cluburile de programare și robotică au devenit extrem de populare și accesibile chiar și studenților școală primară. Acest lucru a fost posibil datorită utilizării medii grafice programare, care, trebuie remarcat, sunt utilizate în mod activ și companii mari. Pentru a vorbi despre mediile de programare grafică, am selectat trei dintre cele mai populare.

Visuino

Visuino este un mediu grafic gratuit alimentat de controlere industriale Controllino (PLC-uri) compatibile cu Arduino. Face posibilă crearea sisteme complexe soluții de automatizare și IoT (Internet of Things), iar acest lucru se poate face pur și simplu prin mutarea și conectarea blocurilor vizuale. Mediu software generează automat cod pentru controlerele industriale.

Deci, ce trebuie făcut. Selectați componente (module) din panoul de componente și mutați-le în zona de proiectare. Apoi, acestea trebuie conectate și proprietățile configurate. Acest lucru se face cu ajutorul Object Inspector.

Avantajele Visuino includ un set mare de componente pentru matematică și funcții logice, servo-uri, display-uri, internet etc.

Când PLC-ul este programat, mediul grafic solicită metoda de conectare disponibilă la controler. Acesta ar putea fi un port serial, Ethernet, Wi-Fi sau GSM.

În sfârșit, proiectul tău este gata: toți controlorii sunt înregistrați, totul funcționează. Acum, făcând clic pe logo-ul Arduino aflat în panoul de sus, îl vei forța pe Visuino să creeze coduri pentru Arduino și să-i deschidă mediul de dezvoltare (Arduino IDE), prin care poți deja să compilați codul și să-l încărcați în PLC.

Sfat. Dacă taxă fixă nu se potrivește cu Arduino, îl puteți schimba folosind comanda Select Board.

Zgârietură

Acest mediu de programare grafică a fost creat în 2003, când un grup de angajați ai MIT Media Lab au decis să dezvolte un limbaj de programare care să fie accesibil absolut tuturor. Drept urmare, după ceva timp, Scratch a fost prezentat publicului.

Cel mai mult, poate, arată ca Lego. Cel puțin principiul este același: este bazat pe obiecte mediu orientat, în care programele sunt asamblate din părți colorate și luminoase. Aceste părți pot fi mutate, modificate și făcute să interacționeze în diverse moduri. Baza Scratch este blocurile de comenzi, cum ar fi senzori, variabile, mișcare, sunet, operatori, aspect, stilou, control etc. editor grafic face posibilă desenarea oricărui obiect. Au trecut mai puțin de cinci ani de la crearea lui Scratch, când a apărut proiectul Scratch for Arduino (prescurtat ca S4A), care permite programarea PLC-ului Arduino.

Avantajele sistemului includ faptul că este rusificat și complet localizat - oricine poate găsi o mulțime de date despre el. În plus, lucrul în acest mediu grafic este accesibil chiar și copiilor de școală primară care nu sunt încă foarte încrezători în citire.

Sfat. Pentru cei nou la Scratch, există resursă specială: https://scratch-ru.info.

ArduBlock

Când o persoană a stăpânit deja pe deplin Scratch, dar nu a ajuns încă la Wiring, pe care sunt programate plăci compatibile cu Arduino, este timpul să recomandăm instrumentul ArduBlock scris în Java. Este deosebit de bun pentru cei care sunt interesați de robotică.

Care este diferența? Cert este că Scratch nu știe cum să flasheze Arduino, ci își controlează PLC-ul doar prin USB. Astfel, Arduino nu poate funcționa singur, deoarece depinde de computer.

De fapt, ArduBloсk este o etapă intermediară între Scratch-ul pentru copii și Visuino complet profesionist, deși accesibil, deoarece, la fel ca acesta din urmă, are capacitatea de a flashiza controlere compatibile cu Arduino.

Sfat. Nu uitați să instalați o mașină Java pe computer. Nu ia mult timp.

Deci, mai multe medii grafice - bune și diferite. Fie ca Arduino să fie cu tine.

Foto: companii producătoare, pixabay.com

Distribuit peste tot licență gratuită, așa că le puteți descărca gratuit atât pe site-ul nostru, cât și din surse oficiale.

Primul și adesea singurul program pentru începători care lucrează cu controlerul Arduino este Arduino IDE– un mediu de dezvoltare integrat de la creatorii platformei. Puteți descărca gratuit versiunile principale ale acestui program de pe site-ul nostru, chiar mai jos sunt link-urile de descărcare. Pentru confortul dumneavoastră, am selectat cele mai recente și populare versiuni de programe. În alte materiale de pe site puteți afla mai multe despre instalarea și configurarea IDE-ului Arduino.

Să aflăm mai întâi pe scurt ce este un IDE și să obținem răspunsuri la cele mai frecvente întrebări. Dacă sunteți un dezvoltator cu experiență, atunci puteți zbura în siguranță la următoarea secțiune a articolului cu link-uri de descărcare.

Ce este Arduino IDE

Abrevierea IDE înseamnă Integrated Development Environment, care înseamnă mediu de dezvoltare integrat. Folosind acest program, programatorii scriu programe și o fac mult mai rapid și mai convenabil decât folosind editorii de text convenționali.

În cadrul platformei Arduino, programul Arduino IDE face același lucru - îi ajută pe programatori să scrie programe. Cu ajutorul lui, o schiță scrisă în Limbajul Arduino, verificat, convertit în C++, compilat, încărcat în Arduino. Teoretic, te poți descurca fără acest program, dar în realitate practic nu există alte opțiuni pentru ca un începător să înceapă să lucreze cu Arduino. Prin urmare, primul lucru pe care trebuie să-l faceți este să găsiți și să instalați singur acest mediu de programare. Nu este deloc dificil și absolut gratuit.

Cum să descărcați și să instalați Arduino IDE

Procedura de descărcare și instalare este absolut tradițională. Descărcați fișierul, începeți instalarea. Versiunile cu un program de instalare (exe) și versiunile obișnuite sunt disponibile pe site-ul oficial arhive zip. Puteți găsi versiuni ale Arduino IDE pentru toate sistemele de operare majore.

Procedura de instalare este destul de simplă; va trebui să răspundeți la câteva întrebări. Un pas important Acest proces este de a instala driverul portului COM. Pentru majoritatea plăcilor Arduino „chineze” va trebui să instalați drivere suplimentare.

După instalare veți avea nevoie mic tweak mediu - vom vorbi despre asta într-un articol separat despre instalarea și configurarea IDE-ului Arduino.

Ce versiune de Arduino IDE ar trebui să aleg?

Prima versiune a mediului de dezvoltare Arduino a apărut oficial în august 2005. De atunci a trecut multă apă pe sub pod, iar programul a suferit modificări revoluționare de mai multe ori. Până în 2011, numerele versiunilor constau dintr-o cifră (ultima a fost 0023 - versiunea din 11/09/2011). Apoi a venit intrarea mai familiară cu actualizări „minore” și „mare”. Deci, Arduino 1.0.0 a apărut pe 30 noiembrie 2011, iar versiunea 1.0.1 – în mai 2012.

Cele cheie în ceea ce privește numărul de actualizări și problemele de compatibilitate asociate au fost tranzițiile de la versiunile 1.0.7 și 1.5. Multe biblioteci scrise pentru „versiunile vechi” ale programului nu au putut fi compilate în altele noi din cauza modificărilor biblioteci de sistemși alte mecanisme interne de asamblare a proiectului. Acest lucru a devenit deosebit de vizibil în timpul tranziției la versiunea 1.6. Dacă proiectul dvs. conține biblioteci antice cu care nu funcționează corect versiuni moderne IDE, va trebui să le schimbați singur, să așteptați până când autorii o fac sau să vă supuneți circumstanțelor și să instalați versiunea cu care va funcționa biblioteca.

Ultimul versiune stabilă Arduino IDE la momentul scrierii este 1.8.7 (august 2018).

Arduino în rusă

O alta întrebare importantă– Rusificarea mediului de dezvoltare. Să ne dăm seama imediat cum să traducem IDE-ul Arduino în rusă. De fapt, nu trebuie să căutați sau să descărcați acest lucru. versiuni speciale. Descărcați și instalați versiune obisnuita, trebuie doar să selectați limba dvs. din listă limbi disponibileîn elementul de setări corespunzător.

Descărcați Arduino 1.8.7

Versiunea 1.8.x a IDE-ului Arduino a fost lansată pe 11 septembrie 2018 și este cea mai recentă versiune stabilă la momentul scrierii. În comparație cu 1.8.6, nu veți găsi îmbunătățiri semnificative în interfață - toate modificările sunt legate în principal de remedieri de erori și de stabilitate crescută.

Versiunea Windows

Versiunea Linux și Mac

Modificări în versiunea 1.8.7

Cele mai importante modificări ale acestei versiuni includ următoarele:

  • S-a rezolvat problema cu selecția portului la prima utilizare.
  • S-au remediat erorile de pornire cu un fișier library_index.json incorect sau versiuni de bibliotecă incorecte.
  • S-au rezolvat probleme cu viteza scăzută de redare a meniurilor Fișier și Instrumente pe versiunea Mac OS X.
  • Lucru îmbunătățit cu casetele de dialog în sistemul de operare MAC.
  • Stabilitatea sistemului în ansamblu a fost îmbunătățită (erorile de kernel au fost remediate).

Descărcați Arduino 1.8.6

IDE 1.8.6 a apărut în august 2018. Comparat cu versiunea anterioara, multe îmbunătățiri au fost adăugate în 1.8.6.

Modificări în versiunea 1.8 6

Lista completărilor și îmbunătățirilor:

  • Performanță îmbunătățită de compilare a proiectelor prin paralelizarea proceselor și reutilizare fragmente de proiect compilate.
  • Alte îmbunătățiri ale interfeței:
    • S-au adăugat acceleratoare de la tastatură la derularea prin meniuri (apăsați tasta „a”).
    • S-a adăugat un scroller la meniul de programare.
    • Îmbunătățiri ale casetei de dialog Găsiți/Înlocuiți
  • Abilitatea de a selecta teme - instalate în mod tradițional în folderul corespunzător ca arhivă.
  • Informațiile despre eroare sunt afișate într-un format mai structurat - indicând nu numai un rând, ci și o coloană.
  • Monitorul portului poate afișa acum informații despre marcaj temporal
  • S-au adăugat traduceri pentru tipurile din biblioteci.
  • Funcționalitate de afișare îmbunătățită înaltă definiție(înaltă rezoluție) pe Linux
  • Pentru utilizatorii de Windows erori în funcționalitatea de construire a proiectelor din fișierele stocate în Stocare in cloud OneDrive.
  • Pornirea accelerată a programului când se utilizează conexiuni la rețea virtuală
  • Îmbunătățirea managerului de bibliotecă (căutare, instalare).
  • S-au remediat multe erori mici în interfață, a îmbunătățit stabilitatea nucleului.

Versiunea Windows

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

Pentru a descărca programul de pe site-ul oficial Arduino.cc, trebuie să găsiți elementul Software – Descărcări în navigarea site-ului. Găsiți linkuri pe pagină către ultimele versiuni programe (pentru Windows, Linux, Mac OS X). Făcând clic pe link, veți ajunge la pagina de descărcare unde puteți selecta opțiunea de descărcare:

  • Cu sprijin de proiect (indicați cât sunteți dispus să donați)
  • Fără suport. Doar faceți clic pe butonul „Descărcare”.

Indiferent de opțiunea pe care o alegeți, veți descărca în continuare aceeași versiune, nu există restricții pentru versiunea „gratuită”. Dar dacă ai ocazia, încearcă să donezi echipei care a făcut atât de mult pentru dezvoltarea proiectului.

Versiunea 1.8.7

Windows Installer, 1.8.7 https://www.arduino.cc/download_handler.php?f=/arduino-1.8.7-windows.exe
Windows - fișier Zip, 1.8.7 https://www.arduino.cc/download_handler.php?f=/arduino-1.8.7-windows.zip
MAC OS X, 1.8.7

28 09.2016

Te-ai gândit vreodată să-ți faci viața mai ușoară acasă? Pentru a avea lucruri care ar rezolva lucrurile de zi cu zi pentru tine, sarcini de rutină. Dispozitiv inteligent, care ar duce la îndeplinire functie utila, de exemplu, uda grădina, curăța camera, ducea încărcătura. Aceste probleme pot fi rezolvate. Dar doar cumpărarea lui nu va fi suficient. Orice industrial controler logic sau cipul are nevoie de un „creier” pentru a face o anumită secvență actiuni. 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 Procesare/Cablare - 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 IDE-ului Arduino

Distribuția poate fi descărcată de pe site 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 programe.

Mediul de dezvoltare Arduino constă din:

  • editor codul programului;
  • 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ță. 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 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 o va adăuga sursă linii:

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. Realizam următoarele setări— selectați placa Arduino și 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 unul lucru convenabil. Se numesteMonitorizați port 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

Exista căi diferite pentru adăugare 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 se va afișa deja fișierele instalate cu 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 închidem Programul Arduino IDE. Mai întâi despachetăm arhiva. Și transferăm fișierele cu extensia .h și .cpp într-un folder cu același nume ca și arhiva. Puneți folderul în directorul rădăcină.

Documentele mele\Arduino\biblioteci

Descrierea FLPprog

FLprog este proiect gratuit dezvoltatori independenți, permițându-vă să lucrați cu blocuri funcționale, sau cu diagrame cu scară. 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 oficial.

Urmaresc proiectul de destul de mult timp. Băieții se dezvoltă, adaugă constant noua functionalitate si schimba-l pe cel 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.

Noi creăm proiect nou. În fereastra de sus adăugați cantitatea necesară intrări și ieșiri, setați un nume și atribuiți intrare fizică sau ieșire pe placă.

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 folosirea editor de text, pentru că atunci îți va fi mai ușor. 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 s-a desfășurat într-un mod la modă și hotel frumos„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, despre următorul articol va fi vorba placa electronica Arduino. Va fi interesant, nu-l ratați.

Ne vedem în articolele următoare.

Salutări, Gridin Semyon.