Arduino (hardware): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Aggiunto il link mancante a "regolatore lineare di tensione" |
|||
(738 versioni intermedie di oltre 100 utenti non mostrate) | |||
Riga 1:
[[File:
'''Arduino''' è una [[piattaforma (informatica)|piattaforma hardware e software]] composta da una serie di [[Scheda elettronica|schede elettroniche]] dotate di un [[microcontrollore]] e software a corredo che ne permette la programmazione in modalità semplificata. È stata ideata e sviluppata nel 2005 da alcuni membri dell'[[Interaction Design Institute Ivrea|Interaction Design Institute]] di [[Ivrea]] come strumento per la [[prototipazione rapida]] e per scopi hobbistici, didattici e professionali.<ref>{{Cita web|url=https://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino|titolo=Full Page Reload|sito=IEEE Spectrum: Technology, Engineering, and Science News|lingua=en|accesso=2020-11-24}}</ref> Il nome della scheda deriva da quello del bar di [[Ivrea]] frequentato dai fondatori del progetto, nome che richiama a sua volta quello di [[Arduino d'Ivrea]], [[Re d'Italia]] nel 1002.<ref>{{Cita pubblicazione
| autore = Justin Lahart
| data=27 novembre
| anno = 2009
| mese = 11
| titolo = Taking an Open-Source Approach to Hardware
| rivista = [[The Wall Street Journal]]
| url = https://online.wsj.com/article/SB10001424052748703499404574559960271468066.html
| lingua = en
| accesso=11 maggio 2011
}}</ref>
Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli [[dispositivo (informatica)|dispositivi]] come controllori di luci, di velocità per motori, sensori di luce, automatismi per il controllo della temperatura e dell'umidità e molti altri progetti che utilizzano [[sensori]], [[attuatori]] e comunicazione con altri dispositivi. La scheda è abbinata a un semplice [[ambiente di sviluppo integrato]] per la [[Programmazione (informatica)|programmazione]] del microcontrollore. Tutto il [[software]] a corredo è [[software libero|libero]], e gli schemi circuitali sono distribuiti come [[hardware libero]] e per questo motivo è molto utilizzato nella didattica educativa<ref>{{Cita pubblicazione|autore=|autore2=|autore3=|titolo=Di Tore S, TODINO M. D., Sibilio S (2019). Disuffo: Design, prototyping and
development of an open-source educational robot . FORM@RE, vol. 19, p. 106-
116, ISSN 1825-7321, doi: http://dx.doi.org/10.13128/formare-24446|rivista=|volume=|numero=}}</ref>.
== Storia ==
Il team di Arduino è composto da [[Massimo Banzi]], David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis. Il progetto prese avvio nel 2005 presso l'[[Interaction Design Institute Ivrea|Interaction Design Institute]] di [[Ivrea]],<ref>
{{Cita web|url=http://arduino.apogeolab.it/03-un-po-di-storia-di-arduino/|titolo=BetaBook, il manuale di Arduino: Cap. 3 - Un po’ di storia di Arduino|autore=Massimo Banzi|editore=[[Apogeo (casa editrice)|Apogeo]]|accesso=12 luglio 2011|urlmorto=sì|urlarchivio=https://web.archive.org/web/20120315231515/http://arduino.apogeolab.it/03-un-po-di-storia-di-arduino/|dataarchivio=15 marzo 2012}}
</ref>
con lo scopo di rendere disponibile agli studenti dell'istituto una piattaforma di ''[[physical computing]]'' per progetti di [[interaction design]] che fosse più economica e semplice rispetto ai sistemi di [[prototipazione]] allora disponibili. I progettisti riuscirono a creare una piattaforma di semplice utilizzo e che, al tempo stesso, permetteva una significativa riduzione dei costi rispetto ad altri prodotti disponibili sul mercato. A ottobre 2008 in tutto il mondo erano già stati venduti più di 50 000 esemplari di Arduino<ref name="StoriaArduino">{{cita web | url = https://playground.arduino.cc/Italiano/StoriaDiArduino | titolo = Arduino -Un po' di storia... | accesso = 11 gennaio 2015}}</ref>.
Dopo la nomina ad [[amministratore delegato]] di [[Intel]], [[Brian Krzanich]] ha fatto produrre delle schede compatibili con la piattaforma Arduino, dotate di processore Intel.
=== Dispute legali ===
Nel 2008, quando fu creata Arduino LLC (detentrice del dominio arduino.cc), i cinque fondatori ([[Massimo Banzi]], David Cuartielles, David Mellis, Tom Igoe, Gianluca Martino) decisero di creare una società che possedesse solo i diritti sul marchio Arduino: la produzione e la vendita delle schede, invece, sarebbe avvenuta tramite aziende esterne dalle quali Arduino avrebbe ottenuto una [[royalty]] per lo sfruttamento del marchio. Inoltre, lo statuto della società precisava che ciascuno dei cinque fondatori avrebbe trasferito all'azienda stessa tutti i diritti sul marchio Arduino. Alla fine del 2008, mentre Arduino si accingeva a registrare il marchio negli Stati Uniti, senza alcun preavviso e tenendo all'oscuro gli altri soci, l'azienda di [[Gianluca Martino]], la Smart Projects, principale produttore di schede Arduino in Italia, registrò il nome Arduino in Italia.
Quando la società decise di internazionalizzare la [[Marca (commercio)|marca]] ed estenderla al resto del mondo, si rese conto che qualcuno l'aveva già registrato in Italia: Martino rassicurò i soci che le sue decisioni avevano il solo fine di proteggere l'investimento collettivo; quindi, sulla base di questo accordo, continuarono a lavorare insieme per anni, ricevendo le royalties e cercando, nel frattempo, di riportare il marchio di nuovo in azienda. Tuttavia, nel novembre 2014, Smart Projects smise di pagare le royalties e cambiò nome in Arduino SRL, registrando il dominio arduino.org. Poco dopo, Martino vendette Arduino SRL a una holding svizzera, la Gheo SA, gestita da Federico Musto.{{Senza fonte}}<!-- Forse inesatto: la fonte di questa sezione proviene da una delle parti senza alcuna replica. -->
Arduino SRL intende invalidare il [[marchio]] che Arduino LLC detiene sulla marca “Arduino” perché “Arduino SRL lo ha richiesto nel settembre del 2014 e ha prodotto fisicamente board marchiate Arduino dal 2005. Arduino LLC è nata nel 2008 e non controllava il nome nel momento in cui ha richiesto il marchio. La conseguente profonda spaccatura nel gruppo di sviluppo ha danneggiato l'enorme comunità che nel frattempo vi è nata intorno.<ref>{{Cita web|cognome1=Allan|nome1=Alasdair|titolo=Arduino Wars: Group Splits, Competing Products Revealed?|url=http://makezine.com/2015/03/06/arduino-vs-arduino/|sito=makezine.com|editore=Maker Media, Inc.|accesso=21 aprile 2015|data=6 marzo 2015}}</ref><ref>{{Cita web|cognome1=Banzi|nome1=Massimo|titolo=Massimo Banzi: Fighting for Arduino|url=http://makezine.com/2015/03/19/massimo-banzi-fighting-for-arduino/|sito=makezine.com|editore=Maker Media, Inc.|accesso=21 aprile 2015|data=19 marzo 2015}}</ref><ref>{{Cita web|cognome1=Williams|nome1=Elliot|titolo=Arduino SRL to Distributors: “We’re the REAL Arduino”|url=https://hackaday.com/2015/03/28/arduino-srl-to-distributors-were-the-real-arduino/|sito=Hackaday.com|editore=Hackaday.com|accesso=21 aprile 2015|data=28 marzo 2015}}</ref><ref>{{Cita web|cognome1=Nejrotti|nome1=Federico|titolo="Arduino ha un problema con Arduino”|url=https://motherboard.vice.com/it/read/il-problema-che-arduino-ha-con-arduino|data=31 marzo 2015}}</ref> Nel 2015 Arduino LLC a scopo cautelativo ha registrato il marchio "Genuino" e ha iniziato la produzione delle schede in California grazie a una collaborazione con [[Adafruit Industries]].<ref>{{Cita news|lingua=it|url=http://www.ilsole24ore.com/art/tecnologie/2015-05-18/banzi-lancia-produzione-arduino-usa-e-nuovo-brand-genuino-110902.shtml|titolo=Arduino diventa «Genuino», Banzi lancia la produzione negli Usa|pubblicazione=Il Sole 24 ORE|accesso=2017-08-09}}</ref>
Il 1º ottobre 2016 fu annunciato che Arduino LLC (arduino.cc) e Arduino SRL (arduino.org) avevano sottoscritto un'intesa per porre fine alle loro divergenze.<ref>{{Cita web||titolo=Two Arduinos become One|url=https://blog.arduino.cc/2016/10/01/two-arduinos-become-one-2/|sito=arduino.cc|data=1º ottobre 2016}}</ref> L'accordo fu perfezionato alla fine del 2016 e “Arduino Holding” diventò l’unico referente per la distribuzione di prodotti presenti e futuri. In aggiunta, Arduino ha costituito la “Arduino Foundation”, una [[Fondazione (ente)|fondazione]] [[non-profit]] dedicata all'evoluzione dell’ambiente di sviluppo IDE e al movimento open source, che offrirà sostegno alle scuole, alla comunità e agli sviluppatori.
Nel 2017 si sono concluse le dispute legali. BCMI, la società fondata da Massimo Banzi con David Cuartielles, David Mellis e Tom Igoe, fondatori di Arduino, ha infatti acquisito il 100% della Arduino AG, la società che possedeva tutti i marchi Arduino.<ref>[https://www.ilsole24ore.com/art/arduino-nuovo-colpo-scena-acquistano-fondatori-e-ora-punta-dritto-all-iot-AEkffG8B Arduino, nuovo colpo di scena: la acquistano i fondatori. E ora punta dritto all’IoT], in Il Sole 24 ORE (articolo del 3 agosto 2017)</ref>
A seguito dell’acquisizione Massimo Banzi è tornato a essere il Chairman e CTO di Arduino, mentre nella posizione di CEO è stato nominato Fabio Violante. Fuori dalla società Federico Musto, il socio con cui erano nate le dispute legali sul marchio Arduino.
== Architettura ==
La piattaforma fisica si basa su un [[circuito stampato]] che integra un [[microcontrollore]] con dei [[Piedino (elettronica)|pin]] connessi alle porte [[Input/output|I/O]], un [[regolatore di tensione]] e, quando necessario, un'interfaccia [[Universal Serial Bus|USB]] che permette la comunicazione con il computer utilizzato per programmare.
A questo hardware viene affiancato un [[ambiente di sviluppo integrato]] (IDE) [[multipiattaforma]] disponibile per [[Linux]], [[Apple Macintosh]] e [[Windows]]. Arduino IDE è liberamente scaricabile e in quanto [[Open source|Open Source]] è interamente disponibile come codice sorgente su [[GitHub]]. I programmi in Arduino vengono chiamati ''sketch''.
Arduino può essere utilizzato per lo sviluppo di oggetti interattivi ''[[Stand-alone (informatica)|stand-alone]]'' e può anche interagire, tramite un collegamento e un opportuno codice, con software residenti su computer, come [[Adobe Flash]], [[Processing]], [[Max (software)|Max/MSP]], [[Pure Data]], [[SuperCollider]], [[Vvvv]].
La piattaforma hardware Arduino è distribuita agli [[Hobby|hobbisti]] in versione pre-assemblata, acquistabile in internet o in negozi specializzati. Tutti gli schemi e i file per programmi EDA sono disponibili per ciascuna scheda Arduino e sono regolarmente rilasciati dal Team Arduino sul sito arduino.cc. I siti che documentano l'Open Hardware annoverano Arduino fra le piattaforme Open Hardware, mentre il software, inclusi i bootloader, sono in Open Source su GitHub.<ref>{{Cita web|url=https://arduino.cc/en/Main/Hardware|titolo=Hardware|editore=Arduino.cc|lingua=en|accesso=10 maggio 2011}}</ref> Il rilascio in Open Hardware e Open Source di schemi e codice ha consentito lo sviluppo di prodotti Arduino-compatibili da parte di piccole e medie aziende in tutto il mondo ed è divenuto possibile scegliere tra un'enorme quantità di schede Arduino-compatibili. Tutti questi prodotti sono accomunati dal [[codice sorgente]] per l'[[ambiente di sviluppo integrato]] e dalla [[libreria software|libreria]] residente che sono resi disponibili e concessi in uso secondo i termini legali di una licenza libera, [[GPLv2]].
Grazie alla base software comune ideata dai creatori del progetto, la comunità Arduino ha potuto sviluppare programmi per connettere a questo hardware più o meno qualsiasi oggetto elettronico, computer, [[Sensore|sensori]], [[Schermo|display]] o [[Attuatore|attuatori]]. Dopo anni di sperimentazione, è oggi possibile fruire di un [[database]] di informazioni vastissimo.
=== Differenze con Raspberry Pi ===
{{vedi anche|Raspberry Pi}}
Arduino è spesso paragonato a [[Raspberry Pi]],{{Senza fonte}} tuttavia, vi sono notevoli differenze. Si tratta di due piattaforme basate su hardware profondamente diversi.
L'architettura delle schede Arduino si basa su microcontrollori, mentre le schede Raspberry Pi si basano su un SoC ([[System-on-a-chip|System on Chip]]) che ha al suo interno un microprocessore, un controllore grafico e la RAM necessari a eseguire un sistema operativo come [[Raspberry Pi OS|Raspbian]], una versione semplificata di [[Debian]].
L'architettura a microcontrollore di Arduino prevede che il programma da eseguire sia in [[memoria flash]] e pertanto non viene perso quando viene tolta l'alimentazione. Con Raspberry Pi, invece, viene caricato in RAM il sistema operativo che provvede all'esecuzione in [[multitasking]] di tutti i moduli e programmi previsti dalla configurazione. L'architettura a microcontrollore offre un controllo completo sui tempi di esecuzione del programma che, essendo l'unico codice in esecuzione, può essere progettato per applicazioni sensibili alla temporizzazione, come ad esempio la gestione dei motori nelle stampanti 3D. Con Raspberry Pi è invece possibile sfruttare la flessibilità del sistema operativo per svolgere funzioni complesse come un [[web server]] o un sistema di gestione dell’automazione domestica.
Nella pratica, le due architetture possono convivere all’interno di una medesima applicazione in modo complementare. A titolo esemplificativo, l’architettura Arduino pilota l’hardware di una stampante 3D, mentre un Raspberry Pi ne permette il controllo tramite interfaccia Web su Internet o [[Local area network|Lan]].
Dal punto di vista della programmazione, la piattaforma Arduino si programma con una versione semplificata di C++ attraverso il suo Arduino IDE; data la notevole diffusione, nel tempo sono nate soluzioni di programmazione alternative che includono microPython e TinyML. Raspberry Pi, invece, conta su tutti gli strumenti di programmazione disponibili con il sistema operativo Linux.
Le schede Arduino sono maggiormente orientate al collegamento di sensori e attuatori per i quali la comunità sviluppa e aggiorna costantemente le librerie software per il loro utilizzo, mentre Raspberry Pi ha una minore varietà di hardware aggiuntivo che, però, può essere più complesso grazie alle sue similitudini con l'architettura hardware di un PC.
Il dibattito su quale piattaforma sia meglio utilizzare è sempre vivace e in ultima analisi sono le caratteristiche del progetto che si vuole realizzare a rendere l'una o l'altra soluzione preferibile.<ref>{{Cita web|url=https://www.ionos.it/digitalguide/server/know-how/arduino-vs-raspberry-pi/|titolo=Arduino vs Raspberry Pi: le differenze|accesso=27 aprile 2022}}</ref>
In generale, per progetti [[STEM]] o per iniziare a sperimentare con hardware ed elettronica, la piattaforma Arduino è preferibile.<ref>{{Cita web|url=https://www.tecnobabele.com/5-motivi-per-cui-tutti-dovrebbero-imparare-arduino/2020-08-28/|titolo=5 motivi per cui tutti dovrebbero imparare Arduino!|accesso=27 aprile 2022}}</ref>
== Caratteristiche ==
[[File:Arduino uno r3 isometr.jpg|thumb|Arduino uno R3]]
Una scheda Arduino tipica consiste in un [[microcontrollore]] a 8-bit [[Atmel AVR|AVR]] prodotto dalla [[Atmel]] con l'aggiunta di componenti complementari per facilitare l'incorporazione in altri circuiti. Nelle schede vengono usati i [[circuito integrato|chip]] della serie [[megaAVR]], nello specifico i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560.
Molte schede Arduino includono un [[regolatore lineare]] di tensione a 5 [[volt]] e un [[oscillatore a cristallo]] a 16 MHz. Tuttavia alcune implementazioni, come ad esempio la piccola ''LilyPad''<ref name="LilyPad" /><ref>{{Cita pubblicazione|autore=|autore2=|autore3=|titolo=DI TORE, STEFANO, TODINO, MICHELE DOMENICO, PLUTINO,
ANTONINA (2019). Le wearable technologies e la metafora dei sei cappelli per
pensare a supporto del seamless learning. PROFESSIONALITÀ, vol. Numero
4/II – 2019, p. 118-132, ISSN 0392-2790|rivista=|volume=|numero=}}</ref>, hanno un clock di 8 MHz e non sono dotate del regolatore di tensione.
=== Programmazione ===
[[File:ArduinoYun.jpg|alt=Arduino Yun|thumb|Arduino Yun]]
Il [[microcontrollore]] della scheda è pre-programmato con un [[bootloader]] che permette il caricamento dei programmi sulla [[memoria flash]] del microcontrollore stesso con una modalità semplificata rispetto alla procedura necessaria per i microcontrollori senza bootloader.
A livello concettuale, su tutte le schede i programmi vengono caricati attraverso la comunicazione su [[porta seriale]] [[RS-232]] con il microcontrollore. Le prime schede Arduino, da tempo fuori produzione, contenevano un semplice circuito che permetteva la conversione tra il livello della RS-232 e il livello dei segnali [[Transistor-transistor logic|TTL]]. Già nel 2007 viene introdotta la programmazione da PC e Mac tramite porta USB e convertitore USB-to-Serial, rendendo più semplice il processo.
Le versioni attuali di Arduino sono quasi tutte programmate via [[USB]]: a seconda del microcontrollore utilizzato l'interfacciamento USB è gestitito in modo nativo oppure tramite un circuito dedicato. Poche varianti di ridotte dimensioni o con caratteristiche intenzionalmente ridotte, come Arduino Mini e Arduino Lilypad, o la versione compatibile ''Boarduino'', usano un adattatore USB-seriale da collegare ai pin seriali della scheda.
===
I microcontrollori, in generale, permettono di configurare la maggior parte dei propri pin come input o output attraverso l'impostazione di specifici [[Registri hardware|registri]]. Per semplificare in modo significativo l'utilizzo dei microcontrollori i progettisti di Arduino hanno deciso di aggiungere al linguaggio C++ delle funzioni di configurazione dei Pin e di definirne a priori il comportamento della maggior parte di essi. Quando un pin è configurato come input, il microcontrollore legge il livello di tensione e restituisce al programma il valore logico alto o basso (HIGH o LOW). Se il pin è configurato come output, il programma in esecuzione può portare il suo livello a 0V (LOW) o a 5V o 3.3V (HIGH). La corrente gestita da ciascun pin è limitata e ammonta a 20mA. Se un pin non viene configurato correttamente può avere un comportamento imprevedibile. Su tutte le schede recenti, due pin sono stati definiti per la comunicazione secondo il protocollo [[I²C|I2C]] che prevede un pin SDA e uno SCL: questo semplifica il collegamento dei dispositivi basati su questo standard, molto diffuso per tutta la componentistica automotive e degli smartphone.
=== Connettori I/O ===
Arduino è dotata di molti dei connettori di input/output per microcontroller in uso su altri circuiti. Tutti i pin di I/O sono collocati sulla parte superiore della scheda mediante connettori femmina da 0,1". Inoltre sono disponibili commercialmente molte schede applicative [[plugin (informatica)|plug-in]], note come "shield".
Le schede ''Barebones'' e ''Boarduino'', due cloni compatibili con Arduino, sono dotate di connettori maschio sul lato inferiore del circuito in modo da poter essere connesse a una [[breadboard]] senza necessità di effettuare saldature.
Le schede più recenti, come quelle della famiglia MKR, utilizzano porte di I/O a 3,3V e solo alcuni modelli sono in grado di accettare segnali a 5V senza esserne danneggiati. Questo cambiamento deriva dall'evoluzione della componentistica e dei microcontrollori verso tensioni di funzionamento sempre più basse.
=== I/O digitale ===
La Arduino Uno, ad esempio, che ha soppiantato la ''Duemilanove'', offre 14 porte per l'I/O digitale (numerati da 0 a 13). La direzione di funzionamento delle porte utilizzata, input o output, deve essere stabilita mediante apposite istruzioni da inserire nello ''[[Processing#Sketch|sketch]]'' programmato sull'IDE.
Sei dei quattordici canali I/O possono generare segnali [[Pulse-width modulation]] (PWM). Attraverso i segnali PWM è possibile, ad esempio, regolare l'intensità di luminosità di un LED o la velocità di rotazione di un [[motore elettrico|motorino elettrico]]<ref name="GSA56">{{Cita pubblicazione
|cognome= Banzi
|nome= Massimo
|anno= 2009
|titolo= Getting Started with Arduino
|rivista= Make Books
|numero= 1ª ed.
|p= 56
|url= https://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513
|lingua= inglese
}}</ref>. L'hardware di tre dei pin di I/O (9, 10 e 11) implementa la possibilità di gestirli direttamente attraverso la funzione <code>analogWrite()</code> che permette di controllare la PWM del segnale analogico in uscita in maniera efficiente senza dover eseguire linee di codice appositamente predisposte<ref name="GSA57">{{Cita pubblicazione
|cognome= Banzi
|nome= Massimo
|anno= 2009
|titolo= Getting Started with Arduino
|rivista= Make Books
|numero= 1ª ed.
|p= 57
|url= https://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513
|lingua= inglese
}}</ref>. Questa funzione deve ricevere in ingresso due parametri, di cui il primo è il numero del pin pilotato e il secondo rappresenta l'intensità della modulazione espressa in una scala da 0 a 255: ad esempio, <code>analogWrite(9, 128)</code> attiverà un LED collegato al pin 9 al 50% della sua luminosità<ref name="GSA58">{{Cita pubblicazione
|cognome= Banzi
|nome= Massimo
|anno= 2009
|titolo= Getting Started with Arduino
|rivista= Make Books
|numero= 1ª ed.
|p= 58
|url= https://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513
|lingua= inglese
}}</ref>.
=== I/O analogico ===
Sempre sulla ''Uno'' sono presenti altri 6 connettori specificamente dedicati a ingressi di [[segnale analogico|segnali analogici]] (collegati quindi a una [[Convertitore analogico-digitale|ADC]]), che ricevono valori di tensione letti da [[sensore|sensori]] esterni, fino a un massimo di 5 volt, che sono convertiti in 1024 [[Quantizzazione (elettronica)|livelli discreti]] (da 0 a 1023). Questi 6 connettori possono essere riprogrammati (sempre dal [[Codice (informatica)|codice]] dello ''sketch'' sull'IDE) per funzionare come normali entrate/uscite digitali, aumentando quindi il numero di uscite digitali (mentre i connettori digitali non possono essere usati come analogici).
Nella seguente tabella sono riepilogate le dotazioni dell'hardware dei vari modelli:
{| class="wikitable sortable" style="text-align:right"
! scope=col rowspan=2 | Arduino
! scope=col rowspan=2 | Microcontrollore
!Frequenza
! colspan=3 |Memoria
! colspan=3 |Connettori di I/O
! scope=col rowspan=2 | Tipo interfaccia<br />USB
! scope=col rowspan=2 | Dimensioni in<br />pollici
! scope=col rowspan=2 | Dimensioni in<br />millimetri
! rowspan=2 | Anno di introduzione<ref>{{Cita web|url=https://www.oreilly.com/library/view/arduino-a-technical/9781491934319/ch01.html|titolo=1. The Arduino Family - Arduino: A Technical Reference [Book]|lingua=en|accesso=2019-07-20}}</ref>
|-
!MHz
! scope=col | Flash<br />KB
! scope=col | EEPROM<br />KB
! scope=col | SRAM<br />KB
! scope=col | Pin<br />di I/O<br />digitale
! scope=col | ...di cui<br />con<br />PWM
! scope=col | Pin di<br />Input<br />analogico
|-
| align=left | Diecimila
| align=left | ATmega168
|
| 16
| 0,5
| 1
| 14
| 6
| 6
| FTDI
| 2,7 × 2,1
| 68,6 × 53,3
| align=left | 2007
|-
| align=left | Due<ref name="theregister add arm board">{{Cita news | url=https://www.theregister.co.uk/2011/09/20/arduino_goes_arm/ | titolo=Arduino to add ARM board this year | pubblicazione=[[The Register]] | data=20 settembre 2011 | accesso=20 settembre 2011 | autore=Chirgwin, Richard |citazione=Arduino [...] showed off the new version in time for the New York Maker’s Faire, with a 96 MHz clock speed, 256 KB of flash memory, 50 KB of SRAM, five SPI buses, two I2C interfaces, five UARTs and 16 12-bit analog interfaces.}}</ref>
| align=left | Atmel SAM3X8E
|
| 512
|
| 96
| 54
| 12
| 12
| ATmega16U2 + native host
| 4 × 2,1
| 101,6 × 53,3
|
|-
| align=left | Duemilanove
| align=left | ATmega168/328P
|
| 16/32
| 0,5/1
| 1/2
| 14
| 6
| 6
| FTDI
| 2,7 × 2,1
| 68,6 × 53,3
| align=left | 2008
|-
| align=left | Uno
| align=left | ATmega328P
|16
| 32
| 1
| 2
| 14
| 6
| 6
| ATmega8U2
| 2,7 × 2,1
| 68,6 × 53,3
| align=left | 2010
|-
| align=left | Leonardo
| align=left | Atmega32u4
|
| 32
| 1
| 2,5
| 20
| 7
| 12
| Atmega32u4 integrato
| 2,7 × 2,1
| 68,6 × 53,3
| align=left | 2012
|-
| align=left | Mega
| align=left | ATmega1280
|
| 128
| 4
| 8
| 54
| 14
| 16
| FTDI
| 4 × 2,1
| 101,6 × 53,3
| align=left | 2009
|-
| align=left | Mega2560
| align=left | ATmega2560
|16
| 256
| 4
| 8
| 54
| 14
| 16
| ATmega8U2
| 4 × 2,1
| 101,6 × 53,3
| align=left | 2009
|-
| align=left | Fio
| align=left | ATmega328P
|
| 32
| 1
| 2
| 14
| 6
| 8
| Nessuno
| 1,6 × 1,1
| 40,6 × 27,9
| align=left | 2010
|-
| align=left | Nano
| align=left | ATmega168 o ATmega328
|
| 16/32
| 0,5/1
| 1/2
| 14
| 6
| 8
| FTDI
| 1,70 × 0,73
| 43 × 18
| align=left | 2008
|-
| align=left | LilyPad
| align=left | ATmega168V o ATmega328V
|8
| 16
| 0,5
| 1
| 14
| 6
| 6
| Nessuno
| ⌀ 2
| ⌀ 50
| align=left | 2007
|-
| align=left | Yun
| align=left | ATmega32u4
|
| 32
| 1
| 2,5
| 20
| 7
| 12
| Atmega32u4 integrato
| 4 x 2,1
| 68,6 x 53,3
|
|-
| align=left | 101
| align=left | Intel Curie
|32
| 196
| -
| 24
| 14
| 4
| 6
|
|
| 68,6 x 53,4
| align=left | 2015
|-
| align=left | Zero
| align=left | Atmel SAMD21
|
| 256
|
| 32
| 20
| 10
| 6
|
|
| 68 x 53
|
|-
| align=left | M0 Pro
| align=left | ATmega168V o ATmega328V
|8/16
|32
|.5/1
|1/2
|14
|6
|6
|
|
|
|
|-
| align=left | Zero
| align=left | ATSAMD21G18
|48
|256
| -
|32
|14
|10
|6
|
|
|
|
|-
| align=left | Nano 33 IoT
| align=left | SAMD21
|
|256
|0
|32
|14
|11
|8
|Native in the SAMD21
|
|45 x 18
|
|-
| align=left | Nano 33 BLE
| align=left | nRF52840
|
|1000
|0
|256
|14
|14
|8
|Native in the nRF52840 Processor
|
|45 x 18
|
|-
| align=left | Nano Every
| align=left | ATMega4809
|
|48
|0.256
|6
|
|
|8
|ATSAMD11D14A
|
|45 x 18
|
|-
| align=left | Micro
| align=left | ATmega32u4
|16
|32
|1
|2.5
|20
|7
|12
|
|
|
|
|-
| align=left | MKR1000
| align=left | Atmel SAMD21
|48
|256
| -
|32
|8
|4
|7
|
|
|
|
|-
| align=left | MKR Zero
| align=left | SAMD21 Cortex-M0+
|48
|256
| -
|32
|22
|12
|7
|
|
|
|
|-
| align=left | UNO R4 Minima
| align=left | RA4M1
|48
|256
|8
|32
|14
|6
|6
|
|2,71 x 2,10
|68,6 x 53,4
| align=left | 2023
|-
| align=left | UNO R4 Wifi
| align=left | RA4M1
|48
|256
|8
|32
|14
|6
|6
|
|2,71 x 2,10
|68,6 x 53,4
| align=left | 2023
|}
=== Alimentazione elettrica ===
L'alimentazione della scheda può avvenire con cavo USB, attraverso la porta USB del computer o attraverso la maggior parte degli alimentatori USB, oppure attraverso un alimentatore in corrente continua a 9 volt con connettore cilindrico (diametro 2,1 mm e positivo centrale). In quest'ultimo caso, la scheda Uno commuta automaticamente sull'alimentazione esterna quando il connettore dell'alimentatore esterno è inserito, mentre commuta autonomamente sull'alimentazione USB in caso di disconnessione del connettore e inserimento del cavo USB. La Arduino-NG e la Arduino Diecimila, versioni meno recenti, necessitano invece di essere commutate a mano, azionando uno switch ubicato tra la porta USB e l'ingresso dell'alimentazione esterna. Le schede della famiglia MKR, nate per le applicazioni basate sulla comunicazione wireless e l'IoT (Internet of Things), dispongono di un connettore [http://www.jst-mfg.com/product/pdf/eng/ePH.pdf standard JST PHR2] per il collegamento di una batteria ricaricabile Li-Po che alimenta sia la scheda, sia gli eventuali dispositivi esterni. Quando le schede sono alimentate via USB, viene attivata la ricarica della batteria. Quando le schede sono alimentate dalla batteria ricaricabile, il pin 5V fornisce circa 3,7V.
=== Accessori ===
[[File:Protoshield2.jpg|thumb|Uno "shield" di [[prototipizzazione]] montato su una scheda Arduino]]
Sia la scheda originale, sia i cloni, fanno uso di ''shields'', ovvero di espansioni alla Arduino base, realizzate con schede a [[circuito stampato]] che possono essere collocate al di sopra della Arduino, inserendosi nei connettori già normalmente presenti su Arduino. La rigida definizione della funzione di ciascun PIN delle due file di connettori delle schede Arduino permette di realizzare gli shield certi della compatibilità hardware. Esistono espansioni dedicate a varie funzioni, dal [[controllo motorio]], al [[breadboarding]] ([[prototipizzazione]]). L'evoluzione della componentistica elettronica sta privilegiando un collegamento degli accessori tramite le interfacce [[Serial Peripheral Interface|SPI]] e [[I²C|I2C]], mentre gli shield sono per applicazioni più complesse che richiedono una circuiteria hardware complessa.
== Modelli ==
=== Modelli ufficiali ===
[[File:Arduino Leonardo.jpg|thumb|Arduino Leonardo]]
[[File:Arduino Diecimila.jpg|thumb|L'Arduino Diecimila.]]
[[File:Arduino Duemilanove retro.JPG|thumb|Retro della scheda Arduino Duemilanove.]]
[[File:Flexible Lilypad Arduino.jpg|thumb|Versione flessibile di Arduino LilyPad, per applicazioni su tessuti.]]
L'hardware originale Arduino è interamente realizzato in [[Italia]] dalla Smart Projects, mentre cloni della scheda possono essere realizzati da chiunque in qualsiasi parte del mondo.
Sono state commercializzate le seguenti versioni dell'hardware Arduino:
# Serial Arduino, programmata con una [[porta seriale]] [[D-subminiature|DB9]]. Fa uso del [[microcontroller]] ATmega8;
# Arduino Extreme, con interfaccia di programmazione [[USB]], facente uso del chip ATmega8;
# Arduino Mini, una versione in miniatura facente uso di un ATmega168 a [[surface-mount technology|montaggio superficiale]];
# Arduino Nano, una versione ancor più piccola della Mini, utilizzante lo stesso controller ATmega168 [[surface-mount technology|SMD]] e alimentata tramite USB;
# LilyPad Arduino, un progetto minimalista per applicazione su indumenti, con lo stesso ATmega168 in versione [[surface-mount technology|SMD]];<ref name="LilyPad">[https://www.arduino.cc/en/Main/ArduinoBoardLilyPad LilyPad Arduino], dal sito ufficiale</ref> la scheda è circolare dal diametro di 50 mm, per circa 0,8 mm di spessore;
# Arduino NG, con interfaccia USB per programmare e usare un ATmega8;
# Arduino NG plus, con interfaccia di programmazione USB, con un ATmega168;
# Arduino BT, con interfaccia di programmazione [[Bluetooth]] e con un ATmega168;
# Arduino Diecimila, con interfaccia di programmazione USB e con un ATmega168 in un package DIL28;
# Arduino Duemilanove, facente uso del chip Atmega168 (o Atmega328 nelle versioni più recenti) e alimentata tramite USB, con commutazione automatica tra le sorgenti di alimentazione;
# Arduino Mega, che fa uso di un ATmega1280 a montaggio superficiale per I/O e memoria addizionale;
# Arduino Uno, evoluzione della Duemilanove con un differente chip, programmabile e più economico, dedicato alla conversione USB-seriale;
# Arduino Mega2560, che fa uso di un ATmega2560 (anch'esso a montaggio superficiale) ed è un'evoluzione dell'Arduino Mega;
# Arduino Due, che fa uso di un Atmel SAM3X8E ARM Cortex-M3 CPU;
# Arduino Zero Pro, dotata di un microcontrollore Atmel SAMD21 basato su core ARM Cortex M0+ a 32 bit;
# Arduino Yún, che fa uso di un ATmega32u4 e del processore Atheros AR9331, quest'ultimo compatibile con una distribuzione [[Linux]] basata su ''[[OpenWrt]]'' e chiamata ''Linino OS'';
# Arduino Nano 33 IoT, con chip SAMD21 e modulo Wifi e Bluetooth NINA-W10;
# Arduino Nano RP2040 Connect, con chip Raspberry Pi RP2040;
# Arduino Nano 33 BLE, con chip Nordic Semiconductors nRF52840;
# Arduino Nano 33 BLE Sense, come il modello BLE, ma con l'aggiunta di numerosi sensori;
# Arduino Nano Every, evoluzione di Arduino Nano, con ATMega4809;
# Arduino MKR 1000 WiFi, con modulo ATSAMW25 che condiene il SAMD21, WINC1500 ed ECC508 ;
# Arduino MKR WiFi 1010, con chip SAMD21 e modulo Wifi e Bluetooth NINA-W10, ECC508 crypto chip;
# Arduino MKR FOX 1200, con chip SAMD21 e modulo wireless SigFox Microchip Smart RF ATA8520 ;
# Arduino MKR WAN 1300, con chip SAMD21 e modulo wireless LoRa<sup>®</sup> Murata CMWX1ZZABZ;
# Arduino MKR WAN 1310, con chip SAMD21 e modulo wireless LoRa<sup>®</sup> Murata CMWX1ZZABZ, 2MB SPI Flash ;
# Arduino MKR GSM 1400, con chip SAMD21 e modulo wireless SARA-U201 GSM/3G;
# Arduino MKR NB 1500, con chip SAMD21 e modulo wireless SARA-R410M-02B Narrowband LTE Cat M1/NB1;
# Arduino MKR Vidor 4000, con chip SAMD21, FPGA Intel<sup>®</sup> Cyclone<sup>®</sup> 10CL016 e modulo wireless Wifi e Bluetooth NINA-W10;
# Arduino MKR Zero, con chip SAMD21 e slot per scheda microSD.
# Arduino UNO R4 minima, con microcontrollore RA4M1 a 48 MHz di Renesas, 256 kB Flash, 32 kB SRAM.
# Arduino UNO R4 WiFi, con microcontrollore RA4M1 a 48 MHz di Renesas, ESP32-S3, matrice LED 12x8
==== Arduino Pro ====
In occasione del CES del 2020, Arduino presenta la prima scheda della nuova famiglia PRO.<ref>{{Cita web|url=https://ces.eetimes.com/arduino-portenta-for-the-iot-development/|titolo=Arduino Portenta for IoT Development|autore=Maurizio Di Paolo Emilio|sito=EETimes CES 2020 Coverage|data=2020-01-07|lingua=en|accesso=2022-10-29}}</ref> Con Portenta H7 Arduino si propone come fornitore di soluzioni per il mondo dell'industria e [[Internet delle cose|dell'IoT]], forte di oltre 30 milioni di utenti già familiari con il proprio ecosistema. Alla famiglia PRO appartengono alcune schede proposte anche in precedenza, caratterizzate dalla connettività wireless.
==== Arduino UNO Mini Limited Edition ====
[[File:UNO-mini-LE-Packaging-sml-1024x683.png|thumb|La scheda Arduino UNO Mini Limited edition e la sua confezione numerata e autografata]]
In occasione del raggiungimento di dieci milioni di Arduino UNO venduti, è stato sviluppato in [[tiratura]] limitata e con una confezione speciale autografata l'Arduino UNO Mini Limited Edition.<ref>{{Cita web|url=https://blog.arduino.cc/2021/11/24/introducing-the-arduino-uno-mini-limited-edition-pre-orders-now-open/|titolo=Blog Post sulla scheda commemorativa Arduino Uno Mini Limited Edition}}</ref> La scheda è stata ridotta a circa un quarto delle dimensioni originali, diventando 34,2 x 26,6 mm, pur conservando tutte le caratteristiche dell'hardware originale. Il circuito stampato è nero, con tutte le piazzole dorate e il connettore USB è di tipo [[USB-C]]. Ogni scheda è fornita in una confezione, firmata dai fondatori [[David Cuartielles]], [[Massimo Banzi]], David Mellis, [[Tom Igoe]] e dal CEO [[Fabio Violante]], mentre il [[numero seriale]] della scheda è presente nella parte inferiore della scheda stessa e sotto le firme. Non avendo caratteristiche hardware differenti dalla scheda UNO originale, si tratta principalmente di un prodotto destinato a chi desidera possedere un oggetto particolare e collezionabile, a marchio Arduino.
==== Arduino Uno R4 Minima e WiFi ====
[[File:Arduino Uno R4 Minima.webp|thumb|Arduino UNO R4 Minima, rilasciata a Giugno 2023]]
[[File:Arduino Uno R4 WiFi.webp|thumb|Arduino UNO R4 WiFi, rilasciata a Giugno 2023 e dotata di WiFi e Matrice LED]]
A distanza di undici anni dalla messa in produzione della versione R3 della scheda Arduino UNO, la scheda più diffusa in ambito educativo e oggetto di numerose riproduzioni grazie alla condivisione in Open Hardware e [[Open Source]] degli schemi e del firmware, Arduino ridisegna la scheda e a Giugno 2023 lancia due nuove versioni, entrambe caratterizzate dalla sigla R4<ref>{{Cita web|url=https://blog.arduino.cc/2023/06/26/uno-r4-the-new-dimension-of-making/|titolo=Blog Post sulle nuove schede Arduino UNO R4}}</ref>. Le due schede condividono il medesimo [[microcontrollore]] RA4M1 a 48 MHz di Renasas che sostituisce ATmega 328P a 16 MHz di Atmel. Entrambe sono identiche nel formato alla versione R3 con cui condividono anche la posizione dei pin sui due connettori, garantendo così la compatibilità con l'hardware realizzato per la versione R3. Con questo aggiornamento vengono recepite diverse esigenze manifestate negli anni e per questo entrambe le schede offrono una maggiore quantità di memoria per il codice, per i dati persistenti e per quelli temporanei. Il microcontrollore dispone infatti di 256kB di memoria FLASH e 32kB di memoria SRAM. I pin per l'input [[analogico]] sono rimasti sei, come i sei pin [[Modulazione di larghezza d'impulso|PWM]], mentre si aggiunge un convertitore [[Convertitore digitale-analogico|DAC]]. Per le comunicazioni la scheda dispone di una porta [[UART]], una [[I2C]], una [[Serial Peripheral Interface|SPI]] e una CAN Bus. Il connettore per il collegamento al computer è ora un [[USB-C]].
Uno degli aspetti critici della versione R3 era il limite di 12V per la sua alimentazione, con l'elettronica della scheda funzionante a 5V. Ora la scheda accetta da 6 a 24V come VIN e quindi diventa più semplice la sua integrazione in progetti che utilizzano tensioni fino a 24V, come ad esempio quelli che gestiscono strip LED o motori passo passo. Gli ingressi e le uscite, comunque, restano a 5V.
La versione WiFi utilizza un modulo Expressif ESP32-S3 con una propria memoria di 384 kB FLASH e 512 kB di SRAM utilizzate dal microcontrollore dual core XTensa LX7 a 240 MHz. Il modulo permette alla scheda di collegarsi in rete e di interagire con Arduino CLOUD<ref>{{Cita web|url=https://blog.arduino.cc/2023/07/12/introducing-uno-r4-wifi-support-in-the-arduino-cloud/|titolo=Blog Post sulla compatibilità della scheda con Arduino CLOUD}}</ref> o di realizzare applicazioni IoT con altre piattaforme.
La compatibilità di queste due schede con il codice realizzato per la versione R3 di Arduino UNO é parziale in quanto alcune librerie di terze paerti potrebbero fare riferimento a specifiche funzioni del microcontrollore ATmega. Nel tempo questi problemi verranno risolti dalla comunità e con pochi aggiustamenti e cambi di libreria i progetti per R3 potranno funzionare con R4.
I prezzi di queste due schede sono inferiori rispetto alle versioni precedenti equivalenti.
=== Schede Arduino compatibili ===
L'enorme quantità e l'estrema variabilità d'uso e di componenti rendono difficile definire univocamente una scheda Arduino-compatibile. Solitamente, essa contiene un [[Microcontrollore|microcontroller]] a 8, 16 o 32 bit [[Atmel AVR]], [[Circuito integrato|PIC]] o [[Architettura ARM|ARM]], con frequenza di clock variabile tra 1 e 96 MHz. Molte schede incorporano componenti aggiuntivi pensati per i più svariati utilizzi. Uno dei vantaggi della piattaforma Arduino è la disponibilità di librerie per il collegamento dei dispositivi più svariati. Beneficiano di questo una serie di schede prodotte da aziende indipendenti e con un'architettura diversa, basata su microcontrollori quali ad esempio ESP8266 e ESP32 sviluppati da [https://expressif.com Expressif Systems]; la possibilità di programmare queste schede tramite l'Arduino IDE ne ha permesso una rapida diffusione ed è interessante notare come il numero dei download dell'Arduino IDE siano molto superiori rispetto alla quantità di schede a marchio Arduino.
== Software ==
=== Arduino IDE ===
{{vedi anche|Arduino IDE}}
[[File:Arduino_IDE_-_Blink.png|thumb|[[Screenshot]] dell'[[Ambiente di sviluppo integrato|IDE]] di Arduino, che mostra un semplice codice di esempio]]
L'[[ambiente di sviluppo integrato]] (IDE) di Arduino è un'applicazione [[multipiattaforma]] scritta in [[Java (linguaggio di programmazione)|Java]], ed è derivata dall'IDE creato per il [[linguaggio di programmazione]] [[Processing]] e per il progetto [[Wiring]]. È concepita per iniziare alla programmazione neofiti a digiuno dello sviluppo di software. Per permettere la stesura del [[codice sorgente]], l'IDE include un [[editor di testo]] dotato di alcune particolarità, come il [[syntax highlighting]], il controllo delle parentesi e l'[[indentazione]] automatica. L'editor è inoltre in grado di [[Compilatore|compilare]] e caricare il programma funzionante ed eseguibile sulla scheda con un solo click. In genere non vi è bisogno di creare dei [[Makefile]] o far girare programmi dalla [[riga di comando]].
Insieme all'IDE sono scaricati vari ''sketch'' di esempio, per introdurre l'utente alla programmazione della macchina; i temi sono molto basici: come gestire gli ingressi analogici e digitali, far accendere un LED in modo pulsante e variabile; si possono però anche affrontare problemi più complessi, come la gestione di un display [[Display a cristalli liquidi|LCD]] o di una scheda telefonica [[GSM]]<ref>{{cita web | url = https://arduino.cc/en/Tutorial/HomePage | titolo = Arduino Tutorials - Home Page | accesso = 11 gennaio 2015}}</ref>. Oltre alle librerie già incorporate (più di una decina), l'utente può aggiungerne con uno strumento di importazione compreso nell'IDE. Per vedere i risultati di uno sketch è attivabile dall'IDE una ''finestra seriale'' di monitoring, sulla quale far comparire l'output di istruzioni <code>Serial.print(parametro)</code> incorporate nello sketch stesso.
=== Arduino IDE 2.0 ===
[[File:Ide-2-overview.png|thumb|L'interfaccia di Arduino IDE 2.0]]
Il primo [[Ambiente di sviluppo integrato|IDE]], basato su Java e giunto alla diciottesima release, ha accompagnato tutti gli sviluppatori sin dagli inizi. Gli stili di programmazione e la diffusione di altri linguaggi con i relativi IDE ha portato allo sviluppo di un nuovo IDE anche per Arduino. Arduino IDE 2.0 <ref>{{Cita web|url=https://docs.arduino.cc/software/ide-v2/tutorials/getting-started-ide-v2|titolo=Iniziare a usare Arduino IDE 2.0}}</ref> non è più basato su Java ed è dotato di funzionalità più moderne. Una barra laterale a icone sostituisce i menu, avvicinandosi allo stile del WEB Editor. La scrittura del codice beneficia della funzione di autocompletamento, in grado di velocizzare la scrittura degli sketch, riducendo anche la possibilità di errori di digitazione. Il serial monitor, spesso utilizzato come strumento per il debug degli sketch, passa dalla modalità a finestra indipendente a quella di area integrata nell'interfaccia. Le schede che supportano il [[Debugging|debug]] hardware sono supportate direttamente ed è quindi possibile impostare [[breakpoint]] nel codice e gestire l'esecuzione dello sketch in maniera controllata. Arduino IDE 2.0 è in grado di caricare e scaricare gli sketch dall'account utente sull'Arduino Cloud. Anche questo IDE è Open Source ed il suo codice sorgente è su Github<ref>{{Cita web|url=https://github.com/arduino/arduino-ide|titolo=Il codice sorgente di Arduino IDE 2.0}}</ref>, a disposizione degli utenti per proporre modifiche, migliorie o segnalare [[bug]].
=== Arduino CLI ===
Per dare maggiore libertà ai programmatori più esperti, Arduino ha introdotto Arduino CLI <ref>{{Cita web|url=https://blog.arduino.cc/2021/11/24/introducing-the-arduino-uno-mini-limited-edition-pre-orders-now-open/|titolo=Introduzione ad ARDUINO CLI}}</ref>: lo strumento a riga di comando che contiene tutto il necessario per la realizzazione di applicazioni con le schede Arduino delle varie famiglie. Dalla riga di comando è possibile installare librerie e file specifici per le varie schede, avviare la compilazione e il caricamento. Questo consente ai chi sviluppa il codice di utilizzare l'editor preferito senza perdere la praticità di un flusso di lavoro ottimizzato come quello dell'Arduino IDE.
=== WEB Editor ===
Con l'introduzione dell'Arduino Cloud <ref>{{Cita web|url=https://blog.arduino.cc/2021/05/03/say-hello-to-arduino-cloud-more-things-and-two-new-plans/|titolo=Presentazione di Arduino Cloud}}</ref>, è stato reso disponibile il WEB Editor <ref>{{Cita web|url=https://create.arduino.cc/editor|titolo=Accesso al Web Editor}}</ref> che permette di creare sketch e di caricarli sulle schede Arduino collegate a computer con sistemi operativi [[Microsoft Windows|Windows]], [[MacOS]] e [[Linux]]. Con questo editor non è necessario preoccuparsi di installare librerie o schede in quanto è tutto disponibile nelle opzioni di configurazione. Il WEB Editor è disponibile gratuitamente con delle limitazioni: 25 compilazioni al giorno, due dispositivi in cloud, 100 MB di spazio per gli sketch e un giorno di ritenzione dei dati. A pagamento sono disponibili altri piani <ref>{{Cita web|url=https://cloud.arduino.cc/plans|titolo=I piani disponibili per Arduino Cloud}}</ref> con caratteristiche specifiche per vari tipi di utenza. Oltre al WEB Editor, Arduino Cloud permette la creazione delle dashboard: delle interfacce grafiche costruite con vari elementi per la visualizzazione dei dati ricevuti. Con la creazione delle dashboard diventa semplice visualizzare i dati raccolti da una scheda Arduino, dotata di funzioni di comunicazione, su una pagina web accessibile con i [[browser]] più diffusi.
=== MicroPython e OpenMV IDE ===
Alcune schede Arduino sono in grado di utilizzare il linguaggio di programmazione [[MicroPython]], una versione ridotta e ottimizzata per funzionare sui [[Microcontrollore|microcontrollori]]. Questo linguaggio permette di accedere a tutte le funzionalità hardware delle schede ed è un'alternativa alla programmazione con il lilnguaggio Arduino che è una particolare versione semplificata di C++. Le schede attualmente compatibili sono Nano 33 BLE e BLE Sense, Nano RP2040 Connect e Portenta H7. Arduino IDE non supporta questo linguaggio e per questo va utilizzato OpenMV IDE, un ambiente di programmazione specifico che consente di scrivere e caricare i programmi sulle schede in modo paragonabile all'IDE tradizionale. Da notare che MicroPython è un [[linguaggio interpretato]] e il processo di esecuzione del codice è diverso rispetto agli sketch. Lo sketch viene [[Compilatore|compilato]] e trasformato in [[linguaggio macchina]] direttametne eseguibile dal microcontrollore; il programma, o [[script]], in MicroPython viene caricato sulla scheda dove in precedenza è stato caricato l'interprete che in tempo reale lo esegue. Per questo motivo le schede vanno preparate attraverso un processo specifico <ref>{{Cita web|url=https://docs.arduino.cc/learn/programming/arduino-and-python|titolo=Come caricare MicroPython sulle schede Arduino}}</ref> che le carica con l'interprete MicroPython.
=== Minibloq ===
{{vedi anche|Minibloq}}
[[File:IR Serial.jpg|thumb|Esempio di codice generato con Minibloq: i dati provenienti da un [[telecomando]] a [[infrarossi]] [[RC5]] sono inviati alla [[porta seriale]]]]
Un esempio alternativo di ambiente integrato dedicato ad Arduino (ma anche ad altre utilizzazioni) è [[Minibloq]], distribuito con licenza libera, che mette a disposizione un particolare ambiente di sviluppo visuale per la programmazione di Arduino, robot, e altri simili dispositivi di [[physical computing]].
Caratteristiche di Minibloq sono l'interfaccia intuitiva, e la capacità di generare il codice a partire da uno schema grafico a blocchi disegnato dall'utente. Per questa sua impostazione intuitiva, il software è indirizzato ad avvicinare principianti e neofiti alla programmazione di microcontroller, in contesti scolastici ed educativi che vanno dalla [[scuola primaria]] all'ambiente liceale.
L'applicazione, compilata con [[GNU Compiler Collection|GCC]], si presta a essere utilizzata anche su computer a più basse prestazioni, come [[netbook]]s, [[OLPC]] [[XO-1]], [[Intel]]-[[Classmate PC|Classmate]].
== Derivati ==
Benché gli schemi hardware e il sorgente software siano resi disponibili con licenze [[copyleft]], il nome Arduino e il logo sono [[marchio registrato|marchi registrati]] e possono essere usati solo dietro permesso. Il documento che esprime la [[Linea di condotta (informatica)|politica]] d'uso del nome "Arduino" mette l'accento su come il progetto sia aperto a incorporare lavori altrui nel prodotto ufficiale.<ref>{{Cita web|url=https://arduino.cc/it/Main/FAQ|titolo=Frequently Asked Questions|editore=Arduino.cc|lingua=en|accesso=10 maggio 2011|urlmorto=sì|urlarchivio=https://web.archive.org/web/20100926055359/http://arduino.cc/it/Main/FAQ|dataarchivio=26 settembre 2010}}</ref>
Quale conseguenza di queste convenzioni sulla protezione del nome, un gruppo di utilizzatori ha effettuato un "[[Fork (sviluppo software)|fork]]" (nel senso esteso del termine) dell'Arduino Diecimila, [[Release (informatica)|distribuendo]] una scheda equivalente chiamata "Freeduino"; il nome volutamente non è registrato ed è quindi liberamente utilizzabile.
== Riconoscimenti ==
Il progetto Arduino ha ricevuto una menzione d'onore al [[Prix Ars Electronica]] del [[2006]], nella categoria ''Comunità Digitali''<ref>{{cita web |titolo= Arduino, Honorary Mention 2006-Digital Communities |sito= Ars Electronica Archive - Prix <!--|lingua= en de--> |url= http://archive.aec.at/prix/#8052 |lingua= en |accesso= 8 gennaio 2017 |urlarchivio= https://web.archive.org/web/20190630155735/http://archive.aec.at/prix/#8052 |dataarchivio= 30 giugno 2019 |urlmorto= sì }}</ref>. Arduino ha destato l'interesse dei media mainstream italiani e internazionali, entrando nel dibattito pubblico. Allo storico Gabriele Catania, in un'intervista per un quotidiano milanese, Banzi in persona spiegava: "In sintesi, [Arduino] è un piccolo computer, di bassissima potenza, molto semplice, dalle dimensioni di una carta di credito. È lo stesso tipo di computer che si trova, ad esempio, in un forno a microonde, o in un telecomando. Negli oggetti di tutti i giorni, insomma. Ed è progettato per essere facile da conoscere e da programmare [...] Una persona con limitate conoscenze tecniche, se acquista un po’ di esperienza con Arduino, è poi in grado di progettare oggetti d’uso comune che abbiano al loro interno un cuore digitale, ossia questo processore"<ref>{{Cita web|url=https://www.treccani.it/enciclopedia/elettronica-italiana-una-storia-con-un-futuro_(Il-Contributo-italiano-alla-storia-del-Pensiero:-Tecnica)|titolo=Elettronica italiana: una storia con un futuro in "Il Contributo italiano alla storia del Pensiero: Tecnica"|accesso=2021-01-21}}</ref>.
== Note ==
<references />
== Bibliografia ==
* {{Cita pubblicazione
|cognome= Banzi
|nome= Massimo
|linkautore= Massimo Banzi
|anno= 2009
|mese= dicembre
|giorno= 13
|titolo= BetaBook, il manuale di Arduino
|rivista= [[Apogeo (casa editrice)|Apogeo]]
|numero= [[Versione beta|versione β]]
|url= http://arduino.apogeolab.it/
|accesso= 12 luglio 2011
|urlarchivio= https://web.archive.org/web/20110718082111/http://arduino.apogeolab.it/
|dataarchivio= 18 luglio 2011
|urlmorto= sì
}}
* {{Cita pubblicazione
|cognome= Noble
|nome= Joshua
|anno= 2005
|mese=
|giorno=15
|titolo= Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFramework
|rivista= [[O'Reilly Media]]
|numero= prima edizione
|
|url= https://oreilly.com/catalog/9780596800581/
|lingua= inglese
}}
* {{
|cognome= Banzi
|nome= Massimo
|anno= 2009
|mese=
|giorno=24
|titolo= Getting Started with Arduino
|rivista= Make Books
|numero= prima edizione
|
|url= https://www.makershed.com/ProductDetails.asp?ProductCode=9780596155513
|lingua= inglese
}}
* {{Cita pubblicazione
|cognome= Sciamanna
|nome= Lucio
|anno= 2010
|titolo= Arduino il microprocessore per tutti
|rivista= Sandit
|p= 140
|url= http://www.sanditlibri.it
|ISBN= 978-88-95990-71-2
}}
* {{Cita pubblicazione
|cognome= Schmidt
|nome= Maik
|anno= 2011
|titolo= Il manuale di Arduino
|rivista= [[Apogeo (casa editrice)|Apogeo]]
|p= 242
|ISBN= 978-88-503-3044-7
}}
* {{Cita pubblicazione
|cognome= Margolis
|nome= Michael
|anno= 2011
|titolo= Arduino progetti e soluzioni
|rivista= [[Tecniche Nuove]]
|p= 625
|ISBN= 978-88-481-2539-0
}}
* {{Cita pubblicazione
|cognome= Banzi
|nome= Massimo
|anno= 2012
|titolo= Arduino La guida ufficiale
|rivista= [[Tecniche Nuove]]
|p= 140
|ISBN= 978-88-481-2726-4
}}
* {{Cita pubblicazione
|cognome= Majocchi
|nome= Simone
|anno= 2016
|mese= gennaio
|giorno=26
|titolo= Primi Passi in Arduino con la scheda Genuino UNO
|numero= Edizione gratuita in CC-BY-ND-NC scaricabile da '''bit.ly/PPcGUbSM'''
|p= 115
|url=https://drive.google.com/file/d/0B2OYiD2XGofOVkpodUFNaFNweWM}}
* {{Cita pubblicazione
|cognome= Majocchi
|nome= Simone
|anno= 2012
|mese= giugno
|titolo= Arduino UNO Programmazione avanzata e Librerie di sistema
|rivista= Vispa Edizioni
|p= 224
|ISBN= 978-88-907430-2-3
}}
== Voci correlate ==
* [[Fritzing]]
* [[littleBits]]
* [[Minibloq]]
* [[Processing]]
* [[Wiring]]
== Altri progetti ==
{{interprogetto
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|http://www.italiantechproject.it/arduino/|Video tutorial di Arduino in italiano}}
{{Controllo di autorità}}
{{portale|informatica|software libero}}
[[Categoria:Hardware libero]]
|