Arduino este o platformă pentru sisteme integrate (embedded), bazată pe un proiect open hardware/ software, destinată microcontrolerelor ATMEL AVR (fără a se limita la acestea), care sunt o parte a unui circuit imprimat (PCB) cu operare integrată a liniilor de intrare/ieşire I/O şi cu un limbaj de programare standardizat. Astfel, denumirea Arduino nu se referă la un singur dispozitiv determinat, ci la o colecţie de tehnologii definite de grupul Arduino.
Parametrii de bază ai plăcilor Arduino disponibile în oferta TME
:
Arduino UNO (A000066) ATMEGA328 (16MHz, 32kB Flash, 2kB SRAM, 1kB EEPROM)
Arduino Due (A000062) AT91SAM3X8E (ARM, 84MHz, 512kB Flash, 96kB SRAM)
Arduino Mega 2560 (A000067) ATMEGA2560 (16MHz, 256kB Flash, 8kB SRAM, 4kB EEPROM)
Arduino Mini (A000087) ATMEGA328 (16MHz, 32kB Flash, 2kB SRAM, 512B EEPROM)
Arduino Micro (A000053) ATMEGA32U4 (16MHz, 32kB Flash, 2,5kB SRAM, 1kB EEPROM)
Arduino Nano (A000005) ATMEGA328
Arduino Leonardo (A000057) ATMEGA32U4
Arduino YUN (A000008) ATMEGA32U4
Arduino Esplora (A000095) ATMEGA32U4
Arduino Ethernet (A000068) ATMEGA328
Arduino Robot (A000078) ATMEGA32U4 x2
Pentru popularitatea imensă şi în continuă creştere a acestei platforme a fost decisiv un fenomen asemănător celui declanşat de apariţia computerului Apple Macintosh. Acest computer a fost primul care a oferit utilizatorilor o uşurinţă în operare necunoscută anterior, astfel că au devenit interesaţi de acesta oameni care nu aveau vreo idee despre sistemele de operare, comenzi etc. Utilizatorii voiau, pur şi simplu, să utilizeze computerul fără a cunoaşte în profunzime principiile de funcţionare ale acestuia. Mergând mai departe, ideea de operare facilă o reprezintă astăzi smartphone-urile. O abordare asemănătoare pe segmentul sistemelor integrate o prezintă Arduino, care oferă utilizatorilor o structură modulară bine elaborată a plăcilor, cu funcţionalităţi uşor de extins (printre altele, cu ajutorul unor număr mare de plăci de extensie disponibile, denumite în mod popular shield-uri, este creată o structură multinivel – aşa-numitul “sandviş”) şi datorită mediului de proiectare bine realizat IDE. Astfel, este de ajuns să asamblaţi configuraţia hardware corespunzătoare şi să introduceţi pe aceasta un program, pentru a avea un echipament gata de funcţionare.
Prin urmare, Arduino se adresează celor care, fără a avea multe cunoştinţe despre sistemele integrate, doresc să le poată realiza pentru necesităţile proprii (de exemplu, să ne imaginăm un arhitect care ar dori să creeze o iluminare în culori a faţadei unei clădiri pe care a proiectat-o, cu ajutorul unor diode LED RGB).
Platforma poate fi folosită pentru crearea de echipamente independente sau poate fi conectată la un computer-host. Fapt important, platforma funcţionează în mediile Windows, Linux şi Macintosh OS X. Limbajul de programare Arduino este bazat pe proiectul Wiring (aplicaţia este construită definind reţeaua de conexiuni între elementele componente) şi, în principiu, pe limbajul C/C++.
O placă tip Arduino conţine un microcontroler cu terminale digitale şi analogice de intrare/ieşire, interfaţă USB, Ethernet sau serială pentru conectarea cu computerul-host. Computerul este folosit pentru programare (microcontrolerul de pe placa Arduino are implementat un bootloader – prin urmare, nu este necesar un programator dedicat) şi pentru interacţiunea cu Arduino pe durata funcţionării. De vreme ce platforma Arduino este în întregime deschisă, pe lângă posibilitatea de achiziţionare a unor plăci gata montate, sunt disponibile şi scheme hardware pentru cei care doresc să îşi realizeze singuri propriul Arduino.
Trecerea în revistă a kit-urilor Arduino gata montate este deschisă de kit-ul de bază Arduino Uno (A000066). Acesta a fost realizat cu ajutorul microcontrolerului de 8 biţi ATMEGA328. Resursele sale constau într-o memorie Flash 32kB, memorie de date SRAM de 2kB şi memorie nevolatilă EEPROM de 1kB. Microcontrolerul este tactat cu o frecvenţă de ceas de 16MHz (pe placă este montat, în acest scop, un generator cu cuarţ). Placa oferă 14 linii de intrare/ieşire, din care 6 pot fi folosite ca ieşiri PWM (controlul echipamentelor cu semnale cu factor de umplere variabil). 6 linii din totalul de 14 pot funcţiona ca intrări analogice. În plus, pe placă avem un port USB pentru conectarea computerului-host, un soclu de alimentare, un conector ICSP (In-Circuit Serial Programming cu ajutorul unui programator extern) şi un buton Reset. Rolul de convertor USB-UART TTL (interfaţă serială) este jucat de microcontrolerul ATMEGA16U2 programat iniţial.
Oferta este completată de gama bogată de plăci de extensie (shield).
Mediul Arduino IDE este proiectat într-un mod prietenos pentru electroniştii amatori şi pentru cei care nu au nimic în comun cu proiectarea de software. Bineînţeles, este complet gratuit şi poate fi descărcat de pe pagina de internet a grupului Arduino (www.arduino.cc). Comunitatea utilizatorilor platformei Arduino este foarte mare şi pe deplin deschisă, aşadar puteţi găsi foarte uşor pe internet filmuleţe, tutoriale, coduri de programe şi proiecte complete realizate cu ajutorul acestei platforme.
Autor: Paweł Sióda, TME
www.tme.ro