La nuova Arduino Uno R4 è ufficialmente stata rilasciata una settima fa circa dopo l’annuncio allo scordo Arduino day 2023:
Come sai è stata rilasciata in due versioni:
Appena uscita ne ho ordinata una nella versione WiFi ( Arduino Uno R4 WiFi ) dal sito ufficiale ed in un paio di giorni è arrivata:
Impaziente di provarla ho realizzato un video, si stavolta un bel video, dell’unboxing, primo test di accensione ed un esempio di come scrivere del codice di controllo della matrice.
Si perché la nuova Arduino Uno R4 Wifi è dotata anche di una matrice 12×8 led, e tu sai quanto mi piacciano i led e le matrici.
Il video dell’Arduino Uno R4
Puoi vedere subito il video che ho realizzato con le varie fasi:
Fasi del video:
00:10 Start Unboxing
00:50 Prima accensione dell’Arduino Uno R4 appena estratta dalla confeszione
01:00 Installa Arduino Uno R4 bopard in the IDE 2.0
01:20 Seleziona la scheda e la porta a cui è connessa
01:36 Apri il sito ledmatrix-editor.arduino.cc
01:50 Esempio dell’IDE: DisplaySingleFrame.ino
02:05 Modifica lo sketch di esempio con i dati estratti da ledmatrix-editor.arduino.cc
02:20 Modifica il loop() per creare un semplice sempio di battito cardiaco
02:34 Esegui l’upload dello sketch
02:44 Esegui lo sketch su Arduino Uno R4 WiFi
Caratteristiche dell’Arduino Uno R4 WiFi
In questo articolo leggerai le caratteristiche, o specifiche, della version WiFi in quanto versione della scheda che possiedo:
Tech specs
Board | Name | Arduino® UNO R4 WiFi |
SKU | ABX00087 | |
Microcontroller | Renesas RA4M1 (Arm® Cortex®-M4) | |
USB | USB-C® | Programming Port |
Pins | Digital I/O Pins | 14 |
Pins | Analog input pins | 6 |
DAC | 1 | |
PWM pins | 6 | |
Communication | UART | Yes, 1x |
I2C | Yes, 1x | |
SPI | Yes, 1x | |
CAN | Yes 1 CAN Bus | |
Power | Circuit operating voltage | 5 V (ESP32-S3 is 3.3 V) |
Input voltage (VIN) | 6-24 V | |
DC Current per I/O Pin | 8 mA | |
Clock speed | Main core | 48 MHz |
ESP32-S3 | up to 240 MHz | |
Memory | RA4M1 | 256 kB Flash, 32 kB RAM |
ESP32-S3 | 384 kB ROM, 512 kB SRAM | |
Dimensions | Width | 68.85 mm |
Length | 53.34 mm |
puoi trovare queste caratteristiche sul sito ufficiale.
Le caratteristiche, a mio avviso interessanti sono davvero tante e ci concentreremo su quelle principali:
- Microcontrollore Renesas RA4M1 (Arm® Cortex®-M4);
- Usb port: type C;
- La presenza di un pin DAC ( Digital Analog Converter );
- Clock speed: 40MHz per il Renesas RA4M1 e oltre 240MHz per l’ESP32-S2
- Memoria: 256KB Flash, 32KB di RAM e 8 kB Data Memory (EEPROM) per il RA4M1; 384 KB di ROM ( Flash ) e 512 KB SRAM
- Un pin CAN Bus
Scritte così, oltre a sembrare un mero copia e incolla, dicono poco ed ecco perché dedicherò un paragrafo a ciascuna di queste caratteristiche:
Microcontrollore Renesas RA4M1 (Arm® Cortex®-M4)
Iniziamo dai bit, questo microcontrollore è da 32bit a basso consumo; dotato della RAM e Flash di cui parleremo nel paragrafo dedicato alla memoria.
La presenza di un core a 32 bit incrementa le applicazioni ed i progetti che puoi realizzare con questa nuova board a partire da variabili di dimensioni maggiori e non solo.
Un microcontrollore a 32 bit può in teoria elaborare numeri fino a 2^32 e dispone di registri e bus a 32 bit: questo si traduce in una gestione della quantità di dati quattro volte maggiore.
Usb port: type C
Oramai uno standard de facto ossia una soluzione di connessione presente ed adottata da moltissimi produttori hardware per le sue caratteristiche legate da un lato alla praticità d’uso e dall’altro alla velocità di trasferimento dati che riesce a raggiungere.
La presenza di un pin DAC ( Digital Analog Converter )
Per la prima volta in questa tipologia di schede fa la sua comparsa un convertitore Digitale Analogico ( DAC ) e quello presente sull’Arduino Uno R4 è a 12 bit direttamente sulla scheda connesso al pon A0;
Un DAC può produrre sul terminale di uscita ( A0 ) un livello di tensione o di corrente in funzione del valore numerico che viene presentato al suo ingresso.
Il DAC è utilizzato, spesso, per produrre suoni da impulsi digitali, oppure per controllare l’apertura del diaframma nelle macchine fotografiche.
In generale è presente nei controlli volume e/o luminosità della TV o in quelle occasioni in cui partendo da un’informazione numerica ( digitale ) dovrai pilotare o generare una grandezza di tipo analogico.
Clock speed
Sicuramente un altro punto a favore di questa nuova scheda è la velocità di clock che grazie al microcontrollore Renesas RA4M1 è di 40MHz,
Ma non è l’unica velocità di clock presente: essendo disponibile, sulla scheda, un ESP32-S2 della Espressif
avrai a disposizione un clock di 240MHz per le elaborazioni affidate direttamente a questo componente.
ESP32-S2
l’ESP32-S2 è un SoC ( System-on-a-Chip ) ossia un microcontrollore Wi-Fi single-core anche lui a basso consumo, sicuro ed economico.
Tuttavia queste caratteristiche si aggiungono alle prestazioni elevate e una serie di funzionalità IO.
Probabilmente avrai letto il mio articolo dedicato ad una micro board che usa questo SoC.
Memoria
La memoria in arduino è sempre un aspetto molto critico e sicuramente avere a disposizione 256KB Flash, 8 volte di più rispetto all’arduino uno R3, in cui salvare i tuoi progetti ti permette di realizzare progetti complessi.
Ovviamente avere molto spazio in cui salvare il codice e non avere RAM sufficiente per eseguirlo sarebbe stato un problema.
Il RA4M1 moltiplica la ram presente nell’Arduino uno R3 per 16 portandola a 32KB di RAM; e se questo non fosse già sufficiente incrementa anche la EEPROM portandola da 1KB a 8 KB.
Inoltre nella versione WiFi, quella di cui stai leggendo le caratteristiche, la presenza del SoC ESP32-S2 ti mette a disposizione ulteriori 384 KB di ROM ( l’equivalente della Flash nel RA4M1 ) e 512 KB SRAM in cui eseguire il codice della parte WiFi.
Non ho ancora provato la parte WiFI per cui non so dirti come questa venga gestita ma certamente averi a disposizione agevolerà la realizzazione di progetti anche complessi.
Un pin CAN Bus su Arduino uno r4
Compare, da questa versione, anche il supporto per il protocollo CAN Bus ( Controller Area Network ) molto utilizzato in ambito automotive, e non solo, di tipo seriale e multicast.
Il CAN Bus affianca i già presenti I2C, SPI ed UART che hai imparato a conoscere ed utilizzare già nelle precedenti versioni di Arduino.
Retrocompatibilità
Una nota speciale va dedicata alla retrocompatibilità della nuova Arduino Uno R4 Wifi ( ed anche della versione minima ) con le precedenti versioni Arduino Uno.
E’ infatti compatibile più del 95% sia con le shield che possiedi, o che trovi in giro, sia con le librerie ed il codice che hai già scritto per il tuo progetto.
Questo aspetto è tutt’altro che banale in quanto ha certamente richiesto un impegno importante agli sviluppatori del firmware e dell’IDE affinché per noi fosse totalmente trasparente passare da una versione precedente a questa versione.
Pensa solo quale vantaggio in termini di longevità dei tuoi progetti, evoluzioni possibili e semplicità d’uso sia poter semplicemente sostituire la board, ricompilare tutto il codice per questa versione e rimettere in pista il progetto.
Sto già pensando di riprendere alcune shield che avevo disegnato per dei miei progetti con la uno r3 e trasformare quei progetti in IoT.
Certamente leggerai nei prossimi articoli che cosa sto preparando.
IoT e Cloud
Ed arriviamo alla parte più succulenta della nuova Arduino Uno R4 WiFi: la possibilità di connettersi al Cloud Arduino
ed avere a disposizione, per il tuo progetto:
- un’interfaccia web su cui programmare sensori ed attuatori;
- un sistema di monitoraggio e controllo remoti;
- un’App da smartphone personalizzabile;
tutto potendo sfruttare la semplicità che da sempre il Team Arduino ci ha abituati ad avere a disposizione.
Conclusioni Arduino Uno R4
Premesso che questo articolo non è stato sponsorizzato da Arduino Uno R4 per adesso voglio fare i miei complimenti al Team Arduino che si è davvero superato con questa board.
Nei prossimi giorni la proverò, userò e testerò impiegandola in numerosi progetti che ho in mente e scriverò tutto dei test che faccio per capire se davvero è tutto oro o se ci sono delle funzionalità che necessitano di revisione.
Per adesso le premesse sono fantastiche e non resta che provare la board ì, come ho hià in parte fatto nel video.
4 commenti
Vai al modulo dei commenti
Salve,
Tengo a sottolineare che il supporto ad Arduino IoT Cloud risulta essere presente all’interno delle specifiche ma effettivamente non è ancora stato introdotto.
Autore
Grazie Federico,
effettivamente non ho ancora provato questa funzionalità ma è il prossimo passo che ho in mente di seguire.
Autore
Ciao Federico,
confermo che la disponibilità del Cloud per la Arduino Uno R4 è stata rilasciata il 12.07 ( https://forum.arduino.cc/t/how-to-connect-uno-r4-wi-fi-to-arduino-iot-cloud/1142537/16 ), cioè ieri 😀 per cui quando hai scritto il commento non era ancora disponibile.
Ciao Mauro, complimenti il video è davvero rapido e interessante. Anche io mi sono precipitato come al primo giorno dei saldi di Armani e proverò le funzionalità di Can Bus che potrebbero tornare utili per il presepe digitale versione 2023. Pensare al Natale con il caldo milanese di queste sere è strano ma il tempo è sempre tiranno :-)!