Sunteți pe pagina 1din 7

Arduino

De la Wikipedia, enciclopedia liber

Arduino

Produs "Arduino Uno" SMD Revision 3

Tip Plac de dezvoltare cu microcontroler

Data lansrii 24 septembrie 2010

CPU Atmega328P @ 16MHz

Memorie 32KB Flash din care 0.5KB este ocupat de bootloader,


2KB SRAM, 1KB EEPROM

Arduino este o companie open-source care produce att plcue de dezvoltare bazate
pe microcontrolere, ct i partea de software destinat funcionrii i programrii acestora. Pe
lng acestea include i o comunitate uria care se ocup cu creaia i distribuirea de proiecte
care au ca scop crearea de dispozitive care pot sesiza i controla diverse activiti sau procese
n lumea real.[1]
Proiectul este bazat pe designul plcilor cu microcontroler produse de civa furnizori, folosind
diverse tipuri de microcontrolere. Aceste plci pun la dispoziia utilizatorului pini I/O, digitali i
analogici, care pot fi interfaai cu o gam larg de plcue numite scuturi (shield-uri) i/sau cu
alte circuite. Plcile au interfee de comunicaii seriale, inclusiv USB pe unele modele, pentru a
ncrca 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, avnd ca int asigurarea unei soluii ieftine i simple pentru
nceptori i profesioniti spre a crea dispozitive capabile s interacioneze cu mediul, folosind
senzori i sisteme de acionare. Cele mai comune exemple sunt dispozitivele pentru utilizatorii
nceptori precum: roboii simpli, termostatele i/sau detectoarele de micare.
Plcuele Arduino sunt disponibile comercial sub form preasamblat sau sub forma unor kituri
de asamblat acas (do-it-yourself). Specificaiile schemelor sunt disponibile pentru orice
utilizator, permind oricui s fabrice plcue Arduino. Adafruit Industries estimase la mijlocul
anului 2011 c peste 300.000 de plcue oficiale Arduino au fost produse[2], iar n 2013 700.000
de plcue oficiale erau n posesia utilizatorilor.[3]

Istoric
Arduino a nceput n 2005 ca un proiect al unui student al Institutului de Interaciune a Designului
din Ivrea, Italia. La acea vreme studenii foloseau o plcu de dezvoltare BASIC Stamp care
costau 100 de dolari, ceea ce era considerat foarte scump pentru studeni. Massimo Banzi, unul
dintre fondatori, era student la Ivrea.[4] Numele "Arduino" provine de la un bar din Ivrea, locul
unde o parte din fondatori obinuiau s se ntlneasc.
Studentul columbian Hernando Barragn 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 [5], au fost create i puse la dispoziia comunitilor open-source. Din echipa iniial
Arduino au fcut parte Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino i David
Mellis.[4]

Hardware

Una dintre primele plcue Arduino[6] cu interfa de comunicaii serial RS-232 (stnga sus) i un
microcontroler Atmel ATmega8(cu negru, dreapta jos); Cei 14 pini digitali de intrare/ieire sunt localizai n
partea de sus, iar cele 6 intrri analogice sunt pe partea dreapt, jos sub microcontroler.

O plcu Arduino este compus dintr-un microcontroler Atmel AVR de 8-, 16- sau 32-bii (dei
ncepnd cu 2015 s-au folosit microcontrolere de la ali productori) 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
plcua 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 IC permind utilizarea mai multor module n paralel. Pn n anul 2015
plcuele Arduino oficiale au folosit cipuri Atmel din seria megaAVR, n special ATmega8,
ATmega168, ATmega328, ATmega1280 i ATmega2560, iar n 2015 au fost adugate cipuri de
la ali productori. O multitudine de alte procesoare au fost folosite de dispozitive compatibile
Arduino. Multe plcue includ un regulator liniar de 5 V i un oscilator cu cuar de 16 MHz (sau un
rezonator ceramic n unele variante), dei anumite plcue, cum ar fi LilyPad, funcioneaz la 8
MHz i nu necesit regulator, datorit restriciilor de form. Un microcontroler instalat pe Arduino
vine preprogramat cu un bootloader care simplific ncrcarea programelor pe memoria flash a
cipului, n comparaie cu alte dispozitive care necesit programatoare externe. Acest aspect face
Arduino o soluie simpl, permind programarea de pe orice computer ordinar. n prezent,
bootloader-ul optiboot este bootloader-ul implicit instalat pe Arduino UNO.[7]
La nivel conceptual, cnd se folosete mediul de dezvoltare integrat Arduino, programarea
tuturor plcuelor se face prin conexiune serial. Implementarea acesteia difer n funcie de
versiunea hardware. Unele plcue Arduino au implementate convertoare de nivel logic pentru a
realiza conversia ntre nivelele logice RS-232 i cele TTL. Plcuele Arduino din prezent sunt
programate prin USB, avnd integrate cipuri de conversie USB-serial, cum ar fi FTDI FT232.
Unele modele UNO, mai noi, folosesc un cip AVR separat programat s funcioneze 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 detaabile USB-serial,
cabluri, Bluetooth sau alte metode.

O plcu Arduino cu descrierile pinilor I/O

Plcua Arduino are expui muli dintre pinii de intrare/ieire ai microcontrolerului, pentru ca
acetia s fie folosii de alte circuite. Diecimila, Duemilanove i UNO ofer 14 pini digitali de
intrare/ieire, dintre care 6 pot produce semnale PWM i 6 intrri analogice care, de asemenea,
pot fi folosite ca intrri/ieiri digitale. Aceti pini sunt accesibili prin partea superioar a plcuei,
prin intermediul unor barete mam cu pasul ntre pini de 2,54 mm.

Plcue oficiale
Plcuele originale Arduino erau produse de compania italian Smart Projects.[8] O parte dintre
plcuele cu brandul Arduino au fost proiectate de companiile americane SparkFun
Electronics i Adafruit Industries.[9] 16 versiuni de hardware Arduino au fost produse n scop
comercial pn la aceast dat.

Exemple de plcue Arduino

Arduino Diecimila in Stoicheia

Arduino Duemilanove (rev 2009b)


Arduino UNO

Arduino Leonardo

Arduino Mega

Arduino MEGA 2560 R3 (partea frontal)[a]

Arduino MEGA 2560 R3 (partea din spate)[a]

Arduino Nano

Arduino Due
(ARM Cortex-M3 core)

LilyPad Arduino (rev 2007)

Arduino Yun

Shield-uri
Arduino i plcuele Arduino-compatibile folosesc plcue de expansiune cu circuite imprimate
numite shield-uri, care se conecteaz la pinii disponibili pe Arduino. Shield-urile au capaciti de
a controla motoare, GPS, Ethernet, LCD sau de prototipare. Un numr de shield-uri pot fi create
n regim de amator(DIY).[11][12][13]

Exemple de shield-uri Arduino

Mai multe shield-uri pot fi suprapuse. n acest exemplu, shield-ul superior conine un breadboard.

Shield cu terminale cu uruburi dispuse sub form de aripi.

Shield Adafruit Motor cu terminale cu urub pentru conectarea motoarelor.

Shield Adafruit pentru nregistrarea datelor cu slot pentru card SD i cip ceas RTC.
Shield HackARobot Fabric - proiectat pentru Arduino Nano, cu posibilitatea de a conecta motoare i
senzori, ca un giroscop sau un GPS i alte module cum ar fi: WiFi, Bluetooth, RF, etc.

Software

Arduino Software IDE

Dezvoltator Arduino Software

Ultima 1.6.7 (17 decembrie 2015;


versiune acum 17 luni[14])

Scris n Java, C i C++

Sistem de
Cross-platform
operare

Tip Mediu de dezvoltare

Licen Licen LGPL sau GPL

Prezen online

arduino.cc

Programele Arduino pot fi scrise n orice limbaj de programare cu un compilator capabil s


produc un cod main binar. Atmel ofer un mediu de dezvoltare pentru microcontrolerele sale,
AVR Studio i mai nou, Atmel Studio.[15][16]
Proiectul Arduino ofer un mediu integrat de dezvoltare (IDE), care este o aplicaie 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 artitilor i a celor nefamiliarizai cu dezvoltarea software. Include un editor de cod cu
funcii ca evidenierea sintaxelor, potrivirea acoladelor i spaierea automat i ofer mecanisme
simple cu un singur click, pentru a compila i a ncrca programele n plcua Arduino. Un
program scris n IDE pentru Arduino se numete sketch.[17]
Arduino IDE suport limbajele de programare C i C++ folosind reguli speciale de organizare a
codului. Arduino IDE ofer o librrie software numit Wiring, din proiectul Wiring, care ofer
multe proceduri comune de intrare i ieire. Un sketch tipic Arduino scris n C/C++ este compus
din dou funcii care sunt compilate i legate cu un ciot de program main(), ntr-un program
executabil cu o execuie ciclic:
setup(): o funcie care este rulat o singur dat la nceputul programului, cnd se
iniializeaz setrile.
loop(): o funcie apelat n mod repetat pn la oprirea alimentrii cu energie a plcuei.
Dup compilarea i legarea cu GNU toolchain inclus, de asemenea, n IDE, mediul de dezvoltare
Arduino trimite comand ctre programul avrdude pentru a converti codul executabil ntr-un fiier
text codat hexazecimal, care poate fi ncrcat n placa Arduino de un program de ncrcare.

Exemplu de program
Un program Arduino tipic pentru un programator nceptor face ca un LED s se aprind
intermitent. Acest program este ncrcat pe plac, n mod normal, de ctre productor. n mediul
de dezvoltare Arduino, utilizatorul ar trebui s scrie un astfel de program dup cum urmeaz:[18]

Multe plcue Arduino conin un LED, mpreun cu un rezistor n serie, ntre pinul 13 i mas
(GND), ceea ce este un amnunt util pentru multe teste.[18]

Dezvoltare

Plcu compatibil Arduino UNO R3 produs n China fr logo-ul Arduino, dar cu semne identice,
inclusiv inscripia Made in Italy

Arduino are o platform hardware open-source: referinele de design pentru Arduino sunt
distribuite sub licena Creative Commons Attribution Share-Alike 2.5 i sunt disponibile pe situl
Arduino. Schemele i fiierele de producie sunt i ele disponibile. Codul surs pentru IDE este
disponibil sub GNU General Public License, version 2.[19]