La comodità di Arduino Nano e la praticità delle applicazioni IoT: da questa combinazione nasce Nano 33 IoT
Arduino Nano 33 IoT è una delle ultime dev-board realizzare dall’ormai noto progetto, ideato per combinare la compattezza di Nano e le infinite applicazioni derivanti dall’IoT. Sia che tu stia cercando di costruire una rete di sensori collegata al tuo router di casa, o se desideri creare un dispositivo Bluetooth che invia dati ad un cellulare, Nano 33 IoT è la tua soluzione completa per molti dei scenari di base dell’applicazione IoT.
Potete acquistare la scheda su Amazon a 26,99€ a questo LINK.
Specifiche tecniche
Arduino Nano 33 IoT è la scheda più piccola di Arduino per iniziare con l’Internet of Things (IoT). Utilizza il processore SAMD21 Arm® Cortex-M0+ a 32 bit dual core fino a 133MHz (che abbiamo visto anche nel Raspberry Pi Pico), con 256 KB SRAM e 1 MB di memoria flash, includendo anche il potente modulo Wi-Fi u-blox NINA-W102 e il chip crittografico ECC608A per la sicurezza.
Arduino Nano 33 IoT | ESP32-WROOM-32 (30 PIN) | |
---|---|---|
CHIP | SAMD21 Cortex®-M0+ | Tensilica Xtensa LX6 |
CPU | 133MHz | 240MHz |
CORE | 2 | 2 |
ARCHITETTURA | 32 bit | 32 bit |
SRAM | 256KB | 512KB |
FLASH MEMORY | 1MB | 4MB |
PIN GPIO | 22 | 25 |
PWM | 5 | 25 |
ADC | 8 | 15 |
WI-FI | IEEE 802.11 b/g/n | IEEE 802.11 b/g/n |
BLUETOOTH | 4.2 | 4.2 |
RTC | Sì | Sì |
INTERFACCIA | I2C, SPI, UART | I2C, SPI, UART |
TENSIONE OPERATIVA | 3,3V | 3,3V |
PREZZO | ±25 | ±5,50 |
L’Arduino Nano 33 IoT possiede 8 pin analogici, 14 digitali di cui 5 PWM, ed un led integrato connesso al pin digitale D13. Troviamo anche qui l’interfaccia I2C sui pin analogici A4 (SDA) e A5 (SCL), l’interfaccia UART e la SPI, adoperando i pin digitali D11 (COPI), D12 (CIPO), D13 (SCK) e utilizzando qualsiasi GPIO per il Chip Select (CS).
Per quanto concerne la tensione, Arduino Nano 33 IoT lavora con i 3,3V, a differenza di tanti altri sui fratelli che prediligono i 5V. Ogni pin digitale erogherà una corrente non superiore ai 7 mA. Tuttavia, possiamo alimentare la scheda con una tensione compresa tra i 5V e i 18V. Occorre però fare delle precisazioni; sulla dev-board è presente un pin di 5V, tuttavia esso non eroga direttamente tale tensione, ma per far sì che ciò avvenga, devono essere soddisfatte due condizioni: la prima, che i 5V provengano dal connettore USB della scheda, mentre la seconda, è che si crei un ponte di saldatura sui due pad contrassegnati come VUSB. In ogni caso, possiamo fornire i 5V direttamente dal pin Vin, ma in nessun modo sarà possibile ottenere i 5V dall’omonimo pin. L’unico pin che fornisce costantemente tensione è solo il pin 3V3, erogando quindi una tensione da 3,3V, adatta ad alimentare correttamente ogni tipo di sensore che funzioni con tale tensione.
Quanto detto fin ora ci fa capire che questa dev-board è pensata solamente per impiegare i 3,3V, escludendo quasi del tutto i 5V, ormai considerati desueti. Di fatti, lo vediamo sempre più spesso, i 3,3V sono da considerarsi un nuovo standard. Pertanto, è necessario prestare attenzione quando si collegano sensori e attuatori, per garantire che questo limite di 3,3V non venga mai superato. Il collegamento di segnali di tensione più elevati, come il 5V, comunemente usato con le altre schede Arduino, danneggerà Arduino Nano 33 IoT.
La scheda, infine, contiene anche il sensore LSM6DS3, un accelerometro che opera con la tensione di 3,3V e un Real Time Clock (RTC).
Fase preliminare
Per programmare correttamente la dev-board con la IDE di Arduino, dovremmo prima configurarla: aperta la IDE, andiamo nella barra dei menu su Strumenti->Scheda->Gestore schede e digitare nella casella di ricerca “Arduino SAMD”. Procediamo all’installazione dell’unica libreria che ci apparirà.
Una volta installata, verifichiamo che sia presenta la nostra dev-board nella sezione Scheda di Strumenti.
Il passo successivo sarà installare 4 librerie, fondamentali per utilizzare il Wi-Fi, il Bluetooth, il sensore LSM6DS3 e il modulo RTC integrato. Stiamo parlando delle librerie WiFiNINA, ArduinoBLE, Arduino LSM6DS3 e RTCZero, tutte installabili dalla IDE di Arduino, andando su Strumenti->Gestione Librerie.
Codice
Iniziamo testando il nostro Arduino Nano 33 IoT adoperando gli esempi presenti nelle librerie sopra scaricate. Il primo è lo ScanNetwork che troviamo al percorso File->Esempi->WiFiNINA della IDE di Arduino. Carichiamolo, ricordandoci di selezionare Arduino Nano 33 IoT come scheda. Otterremo la lista della reti Wi-Fi disponibili.
Il secondo sketch, selezionabile dal percorso File->Esempi->ArduinoBLE->Central->Scan, ci permetterà di adoperare il Bluetooth per trovare altri device.
Il terzo sketch adoperiamo l’accelerometro integrato, muovendoci sul percorso File->Esempi->Arduino_LSM6DS3->SimpleAccelerometer. Una volta caricato lo sketch, basterà muovere sugli assi X,Y e Z l’Arduino Nano 33 IoT per ottenere quanto segue.
Il quarto sketch ed ultimo sketch pervede l’utilizzo del RTC integrato. Andando sul percorso File->Esempi->RTCZero->SimpleRTC, modifichiamo lo sketch in modo tale che il conteggio parta dall’orario e data corrente e carichiamolo sulla dev-board.
Arduino IoT Cloud
Arduino IoT Cloud è una piattaforma online che semplifica la creazione, la distribuzione e il monitoraggio di progetti IoT. Possiamo configurare il nostro Arduino Nano 33 IoT per funzionare sulla piattaforma. Per farlo basterà effettuare il login sul sito di https://create.arduino.cc/iot/things e andare sulla voce Device per aggiungere un nuovo dispositivo. La procedura è semplice e guidata; vi chiederà come prima cosa di scegliere se configurare un dispositivo Arduino o altro dispositivo.
Ci verrà richiesto di scaricare e installare l’Arduino Create Agent, un software che permetterà di caricare gli sketch sulla dev-board direttamente da Cloud.
Scaricato, procediamo all’installazione, anch’essa guidata e semplice.
Una volta terminata l’installazione del programma, ci verrà chiesto di collegare l’Arduino Nano 33 IoT al computer.
L’identificazione del dispositivo richiede qualche secondo al massimo e, se tutto è andato a buon fine, apparirà la schermata che segue, dove apparirà il nome del dispositivo e la porta a cui è connesso. Passiamo così alla configurazione del dispositivo.
La configurazione consiste, prevalentemente, nel dare un nome al vostro dispositivo. Sceglietene uno ed il gioco è fatto.
Vedremo prossimamente come programmare il nostro Arduino Nano 33 IoT su piattaforma cloud.