Arduino (hardware): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→La programmazione del microcontrollore: Sezione duplicata |
→Hardware: Riorganizzata sezione |
||
Riga 49:
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>
==
[[File:Arduino uno r3 isometr.jpg|thumb|Arduino uno
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.
Riga 58 ⟶ 59:
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.
=== Schede Arduino 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▼
=== Programmazione ===
Riga 502 ⟶ 460:
=== 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.
=== 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.▼
=== Accessori ===
Riga 511 ⟶ 466:
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 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
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]]
Riga 526 ⟶ 527:
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.
▲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 ==
|