Arduino
Arduino  este o companie open-source care produce atât plăcuțe de dezvoltare bazate pe microcontrolere, cât și partea de software destinată funcționării și programării acestora. Pe lângă acestea include și o comunitate uriașă care se ocupă cu creația și distribuirea de proiecte care au ca scop crearea de dispozitive care pot sesiza și controla diverse activități sau procese în lumea reală.

Proiectul este bazat pe designul plăcilor cu microcontroler produse de câțiva furnizori, folosind diverse tipuri de microcontrolere. Aceste plăci pun la dispoziția utilizatorului pini I/O, digitali și analogici, care pot fi interfațați cu o gamă largă de plăcuțe numite scuturi (shield-uri) și/sau cu alte circuite. Plăcile au interfețe de comunicații seriale, inclusiv USB pe unele modele, pentru a încărca programe din calculatorele personale. Pentru programarea microcontrolerelor, Arduino vine cu un mediu de dezvoltare integrat (IDE) bazat pe proiectul Processing, care include suport pentru limbaje de programare ca C și C++. 

Primul Arduino a fost lansat în 2005, având ca țintă asigurarea unei soluții ieftine și simple pentru începători și profesioniști spre a crea dispozitive capabile să interacționeze cu mediul, folosind senzori și sisteme de acționare. Cele mai comune exemple sunt dispozitivele pentru utilizatorii începători precum: roboții simpli, termostatele și/sau detectoarele de mișcare.

Plăcuțele Arduino sunt disponibile comercial sub formă preasamblată sau sub forma unor kituri de asamblat acasă (do-it-yourself). Specificațiile schemelor sunt disponibile pentru orice utilizator, permițând oricui să fabrice plăcuțe Arduino. Adafruit Industries estimase la mijlocul anului 2011 că peste 300.000 de plăcuțe oficiale Arduino au fost produse, iar în 2013 700.000 de plăcuțe oficiale erau în posesia utilizatorilor.

Istoric 
Arduino a început în 2005 ca un proiect al unui student al Institutului de Interacțiune a Designului din Ivrea, Italia. La acea vreme studenții foloseau o plăcuță de dezvoltare BASIC Stamp care costau 100 de dolari, ceea ce era considerat foarte scump pentru studenți. Massimo Banzi, unul dintre fondatori, era student la Ivrea. Numele "Arduino" provine de la un bar din Ivrea, locul unde o parte din fondatori obișnuiau să se întâlnească.

Studentul columbian Hernando Barragán a creat platforma de dezvoltare Wiring care a servit ca bază pentru Arduino. După finalizarea platformei Wiring, mai multe versiuni, mai light și mai ieftine , au fost create și puse la dispoziția comunităților open-source. Din echipa inițială Arduino au făcut parte Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino și David Mellis.

Hardware

O plăcuță Arduino este compusă dintr-un microcontroler Atmel AVR de 8-, 16- sau 32-biți (deși începând cu 2015 s-au folosit microcontrolere de la alți producători) cu componente complementare care facilitează programarea și încorporarea în alte circuite. Un aspect important la Arduino este că acesta dispune de conectori standard, care permit utilizatorului să conecteze plăcuța cu procesorul la diferite module interschimbabile numite shield-uri. Unele shield-uri comunică cu Arduino direct prin pinii digitali sau analogici, dar altele sunt adresabile individual prin magistrala serială I²C permițând utilizarea mai multor module în paralel. Până în anul 2015 plăcuțele Arduino oficiale au folosit cipuri Atmel din seria megaAVR, în special ATmega8, ATmega168, ATmega328, ATmega1280 și ATmega2560, iar în 2015 au fost adăugate cipuri de la alți producători. O multitudine de alte procesoare au fost folosite de dispozitive compatibile Arduino. Multe plăcuțe includ un regulator liniar de 5 V și un oscilator cu cuarț de 16 MHz (sau un rezonator ceramic în unele variante), deși anumite plăcuțe, cum ar fi LilyPad, funcționează la 8 MHz și nu necesită regulator, datorită restricțiilor de formă. Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a cipului, în comparație cu alte dispozitive care necesită programatoare externe. Acest aspect face Arduino o soluție simplă, permițând programarea de pe orice computer ordinar. În prezent, bootloader-ul optiboot este bootloader-ul implicit instalat pe Arduino UNO.

La nivel conceptual, când se folosește mediul de dezvoltare integrat Arduino, programarea tuturor plăcuțelor se face prin conexiune serială. Implementarea acesteia diferă în funcție de versiunea hardware. Unele plăcuțe Arduino au implementate convertoare de nivel logic pentru a realiza conversia între nivelele logice RS-232 și cele TTL. Plăcuțele Arduino din prezent sunt programate prin USB, având integrate cipuri de conversie USB-serial, cum ar fi FTDI FT232. Unele modele UNO, mai noi, folosesc un cip AVR separat programat să funcționeze ca un convertor USB-serial, care poate fi reprogramat printr-un port ICSP dedicat. Alte variante, cum ar fi Arduino Mini și versiunea neoficială Boarduino, folosesc adaptoare detașabile USB-serial, cabluri, Bluetooth sau alte metode.

Plăcuța Arduino are expuși mulți dintre pinii de intrare/ieșire ai microcontrolerului, pentru ca aceștia să fie folosiți de alte circuite. Diecimila, Duemilanove și UNO oferă 14 pini digitali de intrare/ieșire, dintre care 6 pot produce semnale PWM și 6 intrări analogice care, de asemenea, pot fi folosite ca intrări/ieșiri digitale. Acești pini sunt accesibili prin partea superioară a plăcuței, prin intermediul unor barete mamă cu pasul între pini de 2,54 mm.

Plăcuțe oficiale

Plăcuțele originale Arduino erau produse de compania italiană Smart Projects. O parte dintre plăcuțele cu brandul Arduino au fost proiectate de companiile americane SparkFun Electronics și Adafruit Industries. 16 versiuni de hardware Arduino au fost produse în scop comercial până la această dată.

Shield-uri
Arduino și plăcuțele Arduino-compatibile folosesc plăcuțe de expansiune cu circuite imprimate numite shield-uri, care se conectează la pinii disponibili pe Arduino. Shield-urile au capacități de a controla motoare, GPS, Ethernet, LCD sau de prototipare. Un număr de shield-uri pot fi create în regim de amator(DIY).

Software

Programele Arduino pot fi scrise în orice limbaj de programare cu un compilator capabil să producă un cod mașină binar. Atmel oferă un mediu de dezvoltare pentru microcontrolerele sale, AVR Studio și mai nou, Atmel Studio.

Proiectul Arduino oferă un mediu integrat de dezvoltare (IDE), care este o aplicație cross-platform, scrisă în Java. Acesta își are originile în mediul de dezvoltare pentru limbajul de programare Processing și în proiectul Wiring. Este proiectat pentru a introduce programarea în lumea artiștilor și a celor nefamiliarizați cu dezvoltarea software. Include un editor de cod cu funcții ca evidențierea sintaxelor, potrivirea acoladelor și spațierea automată și oferă mecanisme simple cu un singur click, pentru a compila și a încărca programele în plăcuța Arduino. Un program scris în IDE pentru Arduino se numește sketch.

Arduino IDE suportă limbajele de programare C și C++ folosind reguli speciale de organizare a codului. Arduino IDE oferă o librărie software numită Wiring, din proiectul Wiring, care oferă multe proceduri comune de intrare și ieșire. Un sketch tipic Arduino scris în C/C++ este compus din două funcții care sunt compilate și legate cu un ciot de program main(), într-un program executabil cu o execuție ciclică:
 setup(): o funcție care este rulată o singură dată la începutul programului, când se inițializează setările.
 loop(): o funcție apelată în mod repetat până la oprirea alimentării cu energie a plăcuței.

După compilarea și legarea cu GNU toolchain inclus, de asemenea, în IDE, mediul de dezvoltare Arduino trimite comandă către programul avrdude pentru a converti codul executabil într-un fișier text codat hexazecimal, care poate fi încărcat în placa Arduino de un program de încărcare.

Exemplu de program
Un program Arduino tipic pentru un programator începător face ca un LED să se aprindă intermitent. Acest program este încărcat pe placă, în mod normal, de către producător. În mediul de dezvoltare Arduino, utilizatorul ar trebui să scrie un astfel de program după cum urmează:

void setup() {

  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  delay(1000);                       
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);                      
}

Multe plăcuțe Arduino conțin un LED, împreună cu un rezistor în serie, între pinul 13 și masă (GND), ceea ce este un amănunt util pentru multe teste.

Dezvoltare

Arduino are o platformă hardware open-source: referințele de design pentru Arduino sunt distribuite sub licența Creative Commons Attribution Share-Alike 2.5 și sunt disponibile pe situl Arduino. Schemele și fișierele de producție sunt și ele disponibile. Codul sursă pentru IDE este disponibil sub GNU General Public License, version 2.

Aplicații

 Proiecte utile cu Arduino(română)
 Arduino+Stepper=Encoder(română)
 Control sistem de irigații(română)
 Controlul prin internet al unui sistem de aer conditiona(A/C) cu Arduino(engleză)
 Xoscillo, osciloscop open-source(engleză)
 OBDuino, un calculator de bord care folosește interfața de diagnoză disponibilă pe toate autoturismele moderne.
 Ardupilot, software/hardware pentru drone
 ArduinoPhone, un telefon DIY (engleză)
 GertDuino, un Arduino ușor de conectat la Raspberry Pi(engleză)
 Sistem de automatizare pentru locuință cu Arduino și modul GSM SIM900(engleză)
 Proiecte și idei de proiecte cu Arduino UNO, de la HomoFaciens(engleză)
 CNC V2.0 cu Arduino și motoare de curent continuu cu control close-loop, de la HomoFaciens(engleză)

Note

Referințe

Citește mai departe
 Getting Started with Arduino; Massimo Banzi, Michael Shiloh; 262 pages; 2014; ISBN 1-4493-6333-4.
 Arduino For Dummies; John Nussey; 446 pages; 2013; ISBN 978-1118446379.
 Programming Arduino Next Steps: Going Further with Sketches; Simon Monk; 2013; ISBN 978-0071830256.
 Exploring Arduino: Tools and Techniques for Engineering Wizardry; Jeremy Blum; 384 pages; 2013; ISBN 978-1118549360.
 Arduino Workshop: A Hands-On Introduction with 65 Projects; John Boxall; 392 pages; 2013; ISBN 978-1593274481.
 Beginning C for Arduino: Learn C Programming for the Arduino and Compatible Microcontrollers; Jack Purdum; 280 pages; 2012; ISBN 978-1430247760.
 Programming Arduino: Getting Started With Sketches; Monk Simon; 162 pages; 2011; ISBN 978-0071784221.
 Make: Electronics (Learning by Discovery); Charles Platt; 352 pages; 2009; ISBN 978-0596153748.

Legături externe

 Official websites:  (Arduino LLC)
 , Vimeo
 Installing additional Arduino libraries
 Arduino cheat sheets
 An online platform and collaboration platform for Arduino users
 Arduino Board Pinout Diagrams: Due, Esplora , Leonardo , Mega , Micro, Mini, Nano , Uno
 Evolution tree for Arduino

 Arduino, LLC v. Arduino S.R.L. et al ; Federal district court docket from the United States Courts Archive
 Intel Edison Kit for Arduino (Hardware Guide), Intel, February 2015

Single-board computers 
Arhitectură ARM
Microcontrolere
Microprocesoare
Microcomputere
Sisteme înglobate
Fondări în 2005
Arduino este o companie open-source care produce atât plăcuțe de dezvoltare bazate pe microcontrolere , cât și partea de software destinată funcționării și programării acestora . Pe lângă acestea include și o comunitate uriașă care se ocupă cu creația și distribuirea de proiecte care au ca scop crearea de dispozitive care pot sesiza și controla diverse activități sau procese în lumea reală . Proiectul este bazat pe designul plăcilor cu microcontroler produse de câțiva furnizori , folosind diverse tipuri de microcontrolere . Aceste plăci pun la dispoziția utilizatorului pini I/O , digitali și analogici , care pot fi interfațați cu o gamă largă de plăcuțe numite scuturi ( shield -uri ) și/sau cu alte circuite . Plăcile au interfețe de comunicații seriale , inclusiv USB pe unele modele , pentru a încărca programe din calculatorele personale . Pentru programarea microcontrolerelor , Arduino vine cu un mediu de dezvoltare integrat ( IDE ) bazat pe proiectul Processing , care include suport pentru limbaje de programare ca C și C+ + . Primul Arduino a fost lansat în având ca țintă asigurarea unei soluții ieftine și simple pentru începători și profesioniști spre a crea dispozitive capabile să interacționeze cu mediul , folosind senzori și sisteme de acționare . Cele mai comune exemple sunt dispozitivele pentru utilizatorii începători precum : roboții simpli , termostatele și/sau detectoarele de mișcare . Plăcuțele Arduino sunt disponibile comercial sub formă preasamblată sau sub forma unor kituri de asamblat acasă ( do-it-yourself ) . Specificațiile schemelor sunt disponibile pentru orice utilizator , permițând oricui să fabrice plăcuțe Arduino . Adafruit Industries estimase la mijlocul anuluică peste000 de plăcuțe oficiale Arduino au fost produse , iar în700.000 de plăcuțe oficiale erau în posesia utilizatorilor . Istoric Arduino a început înca un proiect al unui student al Institutului de Interacțiune a Designului din Ivrea , Italia . La acea vreme studenții foloseau o plăcuță de dezvoltare BASIC Stamp care costaude dolari , ceea ce era considerat foarte scump pentru studenți . Massimo Banzi , unul dintre fondatori , era student la Ivrea . Numele " Arduino " provine de la un bar din Ivrea , locul unde o parte din fondatori obișnuiau să se întâlnească . Studentul columbian Hernando Barragán a creat platforma de dezvoltare Wiring care a servit ca bază pentru Arduino . După finalizarea platformei Wiring , mai multe versiuni , mai light și mai ieftine , au fost create și puse la dispoziția comunităților open-source . Din echipa inițială Arduino au făcut parte Massimo Banzi , David Cuartielles , Tom Igoe , Gianluca Martino și David Mellis . Hardware O plăcuță Arduino este compusă dintr- un microcontroler Atmel AVR de , saubiți ( deși începând cus-au folosit microcontrolere de la alți producători ) cu componente complementare care facilitează programarea și încorporarea în alte circuite . Un aspect important la Arduino este că acesta dispune de conectori standard , care permit utilizatorului să conecteze plăcuța cu procesorul la diferite module interschimbabile numite shield -uri . Unele shield -uri comunică cu Arduino direct prin pinii digitali sau analogici , dar altele sunt adresabile individual prin magistrala serială I²C permițând utilizarea mai multor module în paralel . Până în anulplăcuțele Arduino oficiale au folosit cipuri Atmel din seria megaAVR , în special ATmega8 , ATmega168 , ATmega328 , ATmega1280 și ATmega2560 , iar înau fost adăugate cipuri de la alți producători . O multitudine de alte procesoare au fost folosite de dispozitive compatibile Arduino . Multe plăcuțe includ un regulator liniar deV și un oscilator cu cuarț deMHz ( sau un rezonator ceramic în unele variante ) , deși anumite plăcuțe , cum ar fi LilyPad , funcționează laMHz și nu necesită regulator , datorită restricțiilor de formă . Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a cipului , în comparație cu alte dispozitive care necesită programatoare externe . Acest aspect face Arduino o soluție simplă , permițând programarea de pe orice computer ordinar . În prezent , bootloader -ul optiboot este bootloader -ul implicit instalat pe Arduino UNO . La nivel conceptual , când se folosește mediul de dezvoltare integrat Arduino , programarea tuturor plăcuțelor se face prin conexiune serială . Implementarea acesteia diferă în funcție de versiunea hardware . Unele plăcuțe Arduino au implementate convertoare de nivel logic pentru a realiza conversia între nivelele logice RS-232 și cele TTL . Plăcuțele Arduino din prezent sunt programate prin USB , având integrate cipuri de conversie USB-serial , cum ar fi FTDI FT232 . Unele modele UNO , mai noi , folosesc un cip AVR separat programat să funcționeze ca un convertor USB-serial , care poate fi reprogramat printr- un port ICSP dedicat . Alte variante , cum ar fi Arduino Mini și versiunea neoficială Boarduino , folosesc adaptoare detașabile USB-serial , cabluri , Bluetooth sau alte metode . Plăcuța Arduino are expuși mulți dintre pinii de intrare/ieșire ai microcontrolerului , pentru ca aceștia să fie folosiți de alte circuite . Diecimila , Duemilanove și UNO oferăpini digitali de intrare/ieșire , dintre carepot produce semnale PWM șiintrări analogice care , de asemenea , pot fi folosite ca intrări/ieșiri digitale . Acești pini sunt accesibili prin partea superioară a plăcuței , prin intermediul unor barete mamă cu pasul între pini de54 mm . Plăcuțe oficiale Plăcuțele originale Arduino erau produse de compania italiană Smart Projects . O parte dintre plăcuțele cu brandul Arduino au fost proiectate de companiile americane SparkFun Electronics și Adafruit Industries.versiuni de hardware Arduino au fost produse în scop comercial până la această dată . Shield -uri Arduino și plăcuțele Arduino-compatibile folosesc plăcuțe de expansiune cu circuite imprimate numite shield -uri , care se conectează la pinii disponibili pe Arduino . Shield -urile au capacități de a controla motoare , GPS , Ethernet , LCD sau de prototipare . Un număr de shield -uri pot fi create în regim de amator(DIY ) . Software Programele Arduino pot fi scrise în orice limbaj de programare cu un compilator capabil să producă un cod mașină binar . Atmel oferă un mediu de dezvoltare pentru microcontrolerele sale , AVR Studio și mai nou , Atmel Studio . Proiectul Arduino oferă un mediu integrat de dezvoltare ( IDE ) , care este o aplicație cross-platform , scrisă în Java . Acesta își are originile în mediul de dezvoltare pentru limbajul de programare Processing și în proiectul Wiring . Este proiectat pentru a introduce programarea în lumea artiștilor și a celor nefamiliarizați cu dezvoltarea software . Include un editor de cod cu funcții ca evidențierea sintaxelor , potrivirea acoladelor și spațierea automată și oferă mecanisme simple cu un singur click , pentru a compila și a încărca programele în plăcuța Arduino . Un program scris în IDE pentru Arduino se numește sketch . Arduino IDE suportă limbajele de programare C și C + + folosind reguli speciale de organizare a codului . Arduino IDE oferă o librărie software numită Wiring , din proiectul Wiring , care oferă multe proceduri comune de intrare și ieșire . Un sketch tipic Arduino scris în C/C + + este compus din două funcții care sunt compilate și legate cu un ciot de program main ( ) , într- un program executabil cu o execuție ciclică : setup ( ) : o funcție care este rulată o singură dată la începutul programului , când se inițializează setările . loop ( ) : o funcție apelată în mod repetat până la oprirea alimentării cu energie a plăcuței . După compilarea și legarea cu GNU toolchain inclus , de asemenea , în IDE , mediul de dezvoltare Arduino trimite comandă către programul avrdude pentru a converti codul executabil într- un fișier text codat hexazecimal , care poate fi încărcat în placa Arduino de un program de încărcare . Exemplu de program Un program Arduino tipic pentru un programator începător face ca un LED să se aprindă intermitent . Acest program este încărcat pe placă , în mod normal , de către producător . În mediul de dezvoltare Arduino , utilizatorul ar trebui să scrie un astfel de program după cum urmează : void setup ( ) { pinMode(LED_BUILTIN , OUTPUT ) ; } void loop ( ) { digitalWrite(LED_BUILTIN , HIGH ) ; delay( 1000 ) ; digitalWrite(LED_BUILTIN , LOW ) ; delay( 1000 ) ; } Multe plăcuțe Arduino conțin un LED , împreună cu un rezistor în serie , între pinulși masă ( GND ) , ceea ce este un amănunt util pentru multe teste . Dezvoltare Arduino are o platformă hardware open-source : referințele de design pentru Arduino sunt distribuite sub licența Creative Commons Attribution Share-Alike5 și sunt disponibile pe situl Arduino . Schemele și fișierele de producție sunt și ele disponibile . Codul sursă pentru IDE este disponibil sub GNU General Public License , version Aplicații Proiecte utile cu Arduino( română ) Arduino+Stepper=Encoder( română ) Control sistem de irigații( română ) Controlul prin internet al unui sistem de aer conditiona(A/C ) cu Arduino( engleză ) Xoscillo , osciloscop open-source( engleză ) OBDuino , un calculator de bord care folosește interfața de diagnoză disponibilă pe toate autoturismele moderne . Ardupilot , software/hardware pentru drone ArduinoPhone , un telefon DIY ( engleză ) GertDuino , un Arduino ușor de conectat la Raspberry Pi( engleză ) Sistem de automatizare pentru locuință cu Arduino și modul GSM SIM900( engleză ) Proiecte și idei de proiecte cu Arduino UNO , de la HomoFaciens( engleză ) CNC V2.0 cu Arduino și motoare de curent continuu cu control close-loop , de la HomoFaciens( engleză ) Note Referințe Citește mai departe Getting Started with Arduino ; Massimo Banzi , Michael Shiloh;pages ; ISBN6333-4 . Arduino For Dummies ; John Nussey; pages ; ISBN Programming Arduino Next Steps : Going Further with Sketches ; Simon Monk ; ISBN Exploring Arduino : Tools and Techniques for Engineering Wizardry ; Jeremy Blum; pages ; ISBN Arduino Workshop : A Hands-On Introduction withProjects ; John Boxall;pages ; ISBN Beginning C for Arduino : Learn C Programming for the Arduino and Compatible Microcontrollers ; Jack Purdum; pages ; ISBN Programming Arduino : Getting Started With Sketches ; Monk Simon; pages ; ISBN Make : Electronics ( Learning by Discovery ) ; Charles Platt; pages ; ISBN Legături externe Official websites : ( Arduino LLC ) , Vimeo Installing additional Arduino libraries Arduino cheat sheets An online platform and collaboration platform for Arduino users Arduino Board Pinout Diagrams : Due , Esplora , Leonardo , Mega , Micro , Mini , Nano , Uno Evolution tree for Arduino Arduino , LLC v. Arduino S.R.L. et al ; Federal district court docket from the United States Courts Archive Intel Edison Kit for Arduino ( Hardware Guide ) , Intel , February Single-board computers Arhitectură ARM Microcontrolere Microprocesoare Microcomputere Sisteme înglobate Fondări în