L’Arduino Nano è una scelta popolare per creatori, hobbisti e ingegneri che necessitano di un microcontrollore capace per i loro progetti elettronici. È dotato di un ingombro ridotto e flessibilità. Che tu stia costruendo una semplice applicazione basata su sensori o un dispositivo IoT più complesso, l’Arduino Nano fornisce tutte le funzionalità essenziali in un pacchetto portatile e facile da usare. In questo articolo, introdurremo le sue caratteristiche, specifiche, schema dei pin e tutorial di programmazione.
Cos'è un Arduino Nano?
L’Arduino Nano è una scheda microcontrollore compatta e versatile che offre prestazioni notevoli nonostante le sue dimensioni ridotte. Progettato per adattarsi a spazi ristretti, è una scelta ideale per progetti in cui le dimensioni contano, come dispositivi indossabili, robotica e sistemi embedded. Basato sul microcontrollore ATmega328P (sulla Nano 3.0), il Nano offre 14 pin di I/O digitali (6 dei quali possono generare un output PWM), 8 ingressi analogici e una velocità di clock di 16 MHz. A differenza delle schede Arduino più grandi, si collega tramite una porta Mini-B USB, rendendolo perfetto per la prototipazione basata su breadboard senza la necessità di hardware aggiuntivo.

Caratteristiche e specifiche principali
- Processore: ATmega328P (versione Nano 3.0)
- Tensione di esercizio: 5V
- Tensione di ingresso consigliata: 7–12V
- Intervallo di tensione di ingresso: 6–20V
- Pin di I/O digitali: 14 (6 dei quali possono essere utilizzati per l’output PWM)
- Pin di ingresso analogici: 8
- Corrente CC per pin di I/O: 40mA
- Memoria Flash: 32KB
- SRAM: 2KB
- EEPROM: 1KB
- Velocità di clock: 16 MHz
- Interfaccia USB: porta Mini-B USB per la programmazione e la comunicazione
Configurazione dei pin dell'Arduino Nano
L’Arduino Nano dispone di un totale di 32 pin, con funzioni multiple assegnate a ciascuno. Questi pin sono raggruppati in tre porte principali: PortB, PortC e PortD. Ecco una ripartizione dei pin importanti e della loro funzionalità:

- Pin 1 (RX) e Pin 2 (TX): Questi sono pin di comunicazione seriale, utilizzati per ricevere e trasmettere dati tra il Nano e un computer host. Il Nano utilizza il chip CH340 per convertire i segnali USB in dati seriali TTL.
- Pin 3: Pin di reset, utilizzato per resettare il microcontrollore.
- Pin 4: Pin di massa (GND).
- Pin 5–16: Pin di I/O digitali; i pin 5 e 6 sono anche pin di interrupt esterni.
- Pin 17: Uscita di alimentazione a 3,3 V dal chip USB CH340, utile per alimentare sistemi a 3,3 V.
- Pin 18: AREF (Riferimento analogico), utilizzato per le conversioni analogico-digitali. In genere, questo pin non viene utilizzato a meno che non si desideri fornire una tensione di riferimento esterna.
- Pin 19–26: Pin di ingresso analogici (A0 ad A7).
- Pin 27: Pin di alimentazione bidirezionale, utilizzato per fornire 5 V a dispositivi esterni o accettare input da una fonte di alimentazione esterna a 5 V.
- Pin 28: Pin di reset del sistema.
- Pin 29: Pin di massa (GND).
- Pin 30: Ingresso di alimentazione esterno (Vin), tipicamente utilizzato quando si fornisce alimentazione esterna tramite una batteria o un adattatore CC.
Modelli Arduino Nano
Ci sono diverse varianti di Arduino Nano, ognuna adatta a diversi tipi di progetti. Ecco una panoramica dei modelli chiave e delle loro specifiche:
Arduino Nano ESP32
L’Arduino Nano ESP32 è una scheda potente basata sul microcontrollore ESP32, che offre elaborazione dual-core, più memoria e funzionalità wireless integrate (Wi-Fi e Bluetooth), rendendola adatta ad applicazioni IoT e progetti più impegnativi.

| Caratteristica | Dettaglio |
|---|---|
| Microcontrollore | ESP32-S3 (NORA-W106, Xtensa LX7 ×2) |
| Frequenza di clock | Fino a 240 MHz |
| Memoria flash | 16 MB |
| SRAM | 512 kB + 8 MB PSRAM |
| EEPROM | Nessuna EEPROM dedicata |
| Interfaccia USB | USB-C |
| Connettività wireless | Wi-Fi 2.4 GHz; Bluetooth 5 LE |
| Funzioni della scheda | 3.3 V GPIO; Arduino Cloud; MicroPython |
Arduino Nano RP2040 Connect
Il Nano RP2040 Connect è progettato per applicazioni IoT, con supporto Wi-Fi e Bluetooth grazie al chip Nina W102 ESP32 integrato. È ideale per dispositivi connessi e rilevamento remoto.

| Caratteristica | Dettaglio |
|---|---|
| Microcontrollore | RP2040 (Arm Cortex-M0+ ×2) |
| Frequenza di clock | 133 MHz |
| Memoria flash | 16 MB |
| SRAM | 264 kB |
| EEPROM | Nessuna EEPROM dedicata |
| Alimentazione / livelli logici | USB: 5 V; VIN: 4–20 V; logica: 3,3 V |
| Pin digitali di I/O | 14 pin digitali; le funzioni analogiche e PWM dipendono dal pin |
| Interfaccia USB | Micro-USB |
| Connettività wireless | Wi-Fi; Bluetooth LE (NINA-W102) |
| Funzioni della scheda | LSM6DSOX IMU; microfono MEMS |
Arduino Nano Every
Il Nano Every offre più memoria e capacità di I/O rispetto al Nano standard, rendendolo adatto a progetti più avanzati. Mantiene la compatibilità con il classico fattore di forma Nano.

| Caratteristica | Dettaglio |
|---|---|
| Microcontrollore | Microchip ATmega4809 |
| Frequenza di clock | 16 MHz con il core ufficiale megaAVR; hardware specificato fino a 20 MHz |
| Tensione operativa | 5 V |
| Pin digitali di I/O | 14 (D0–D13) |
| Memoria flash | 48 kB |
| SRAM | 6 kB |
| EEPROM | 256 byte |
| Interfaccia USB | Micro-USB |
| Connettività wireless | Non integrata |
| Funzioni della scheda | Logica a 5 V; formato Nano, ma occorre verificare le funzioni dei pin e la compatibilità software |
Arduino Nano 33 IoT
Il Nano 33 IoT è dotato di connettività wireless (Wi-Fi e Bluetooth) ed è progettato per applicazioni IoT. Include anche un accelerometro e un giroscopio a 6 assi, rendendolo ideale per progetti che coinvolgono il rilevamento del movimento.

| Caratteristica | Dettaglio |
|---|---|
| Microcontrollore | Microchip SAMD21G18A (Arm Cortex-M0+) |
| Frequenza di clock | 48 MHz |
| Memoria flash | 256 kB |
| SRAM | 32 kB |
| EEPROM | Nessuna EEPROM dedicata |
| Tensione operativa | 3.3 V |
| Pin digitali di I/O | 14 (D0–D13) |
| Interfaccia USB | Micro-USB |
| Connettività wireless | Wi-Fi; Bluetooth LE (NINA-W102) |
| Funzioni della scheda | LSM6DS3 IMU; ATECC608A |
Arduino Nano 33 BLE
Il Nano 33 BLE offre connettività Bluetooth a basso consumo, rendendolo ideale per dispositivi indossabili, sensori di salute e altre applicazioni basate su Bluetooth. Dispone inoltre di sensori avanzati come un accelerometro, un giroscopio e un magnetometro a 9 assi.

| Caratteristica | Dettaglio |
|---|---|
| Microcontrollore | Nordic nRF52840 (Arm Cortex-M4F) |
| Frequenza di clock | 64 MHz |
| Memoria flash | 1 MB |
| SRAM | 256 kB |
| Tensione operativa | 3.3 V |
| Pin digitali di I/O | 14 (D0–D13) |
| Interfaccia USB | Micro-USB |
| Connettività wireless | Bluetooth 5 LE (NINA-B306) |
| Funzioni della scheda | Nano 33 BLE originale: IMU LSM9DS1 a 9 assi. Rev2 utilizza sensori diversi. |
Arduino Nano 33 BLE Sense
Il Nano 33 BLE Sense è simile al Nano 33 BLE ma è dotato di sensori integrati aggiuntivi, tra cui temperatura, umidità, pressione, luce, riconoscimento dei gesti e un microfono digitale. Questo lo rende perfetto per applicazioni con molti sensori, tra cui il monitoraggio ambientale e i dispositivi indossabili.

| Caratteristica | Dettaglio |
|---|---|
| Microcontrollore | Nordic nRF52840 (Arm Cortex-M4F) |
| Frequenza di clock | 64 MHz |
| Memoria flash | 1 MB |
| SRAM | 256 kB |
| Tensione operativa | 3.3 V |
| Pin digitali di I/O | 14 (D0–D13) |
| Interfaccia USB | Micro-USB |
| Connettività wireless | Bluetooth 5 LE (NINA-B306) |
| Funzioni della scheda | Nano 33 BLE Sense originale: LSM9DS1, HTS221, LPS22HB, APDS9960 e microfono. Rev2 utilizza sensori diversi. |
Programmare l'Arduino Nano
L’Arduino Nano può essere programmato utilizzando l’Arduino IDE, come altre schede Arduino. Viene precaricato con un bootloader, il che significa che non è necessario un programmatore esterno per caricare il codice.
Passaggio 1: Installare l'Arduino IDE
Scarica l’Arduino IDE:
Vai al sito web ufficiale Arduino e scarica l’ultima versione dell’Arduino IDE adatta al tuo sistema operativo (Windows, macOS o Linux).

- Installa l’IDE:
Segui le istruzioni di installazione per il tuo sistema operativo. Dopo l’installazione, avvia l’Arduino IDE.
Passaggio 2: Aggiungi la scheda ATtiny all'Arduino IDE
L’Arduino IDE non supporta ATtiny85 per impostazione predefinita, quindi è necessario aggiungere la scheda ATtiny nell’Arduino IDE. Apri File->Preferenze e inserisci in URL dei gestori di schede aggiuntivi:
http://drazzy.com/package_drazzy.com_index.json

Passaggio 3: Seleziona la tua scheda Arduino Nano e la porta
Seleziona la scheda Arduino Nano:
- Vai al menu
Strumentinella parte superiore dell’IDE. - Seleziona
Scheda>Arduino Nano. - Se stai utilizzando una versione specifica del Nano (come Nano Every o Nano 33 IoT), seleziona la versione appropriata dall’elenco.
- Vai al menu

Seleziona il Processore Corretto:
- Ancora nel menu
Tools, vai aProcessor. - Per l’Arduino Nano standard (ATmega328P), seleziona
ATmega328P. Se stai usando un modello Nano più recente come l’Arduino Nano Every, seleziona il processore corrispondente.
- Ancora nel menu

Seleziona la Porta Seriale:
- Nel menu
Tools, vai aPorte seleziona la porta a cui è collegato il tuo Arduino Nano. Sulla maggior parte dei sistemi, l’Arduino apparirà come qualcosa comeCOM3(Windows) o/dev/ttyUSB0(Linux/macOS).
- Nel menu

Installa i Driver Necessari (opzionale):
Se stai usando l’Arduino Nano 3.0 con il chip USB-to-Serial CH340, potresti dover installare driver aggiuntivi per il tuo sistema per riconoscere correttamente il Nano.
Passaggio 4: Collega ATtiny85 ad Arduino Nano
| ATtiny85 Pin | Arduino Nano Pin |
|---|---|
| Pin 8 (VCC) | 5V |
| Pin 4 (GND) | GND |
| Pin 1 (RESET) | D10 |
| Pin 5 (MOSI) | D11 |
| Pin 6 (MISO) | D12 |
| Pin 7 (SCL) | D13 |

Passaggio 5: Scrivi il Tuo Primo Programma
Una volta che tutto è configurato, puoi iniziare a scrivere il tuo codice. Ecco un esempio del classico programma “Blink” che fa lampeggiare un LED collegato al pin 13.
Apri il File menu e seleziona Examples > 01.Basics > Blink. Questo caricherà un programma semplice che fa lampeggiare un LED.

E poi aggiungi il codice in questo modo:
void setup() {
pinMode(13, OUTPUT); // Set pin 13 as an output
}
void loop() {
digitalWrite(13, HIGH); // Turn the LED on
delay(1000); // Wait for one second
digitalWrite(13, LOW); // Turn the LED off
delay(1000); // Wait for one second
}
Spiegazione:
setup(): Questa funzione viene eseguita una sola volta all’avvio del programma. Imposta il pin 13 come output.loop(): Questa funzione viene eseguita ripetutamente. Accende e spegne il LED ogni secondo.
Passaggio 6: Carica il Codice sul Tuo Arduino Nano
Prima di caricare il codice Blink, assicurati di aver collegato il tuo Arduino Nano al computer tramite un cavo USB.
- Nell’IDE di Arduino, fai clic sul pulsante Upload (icona della freccia a destra) in alto a sinistra della finestra. Questo compilerà il tuo codice e lo caricherà sull’Arduino Nano.

- Una volta completato il caricamento, il LED di bordo (collegato al pin 13) sull’Arduino Nano dovrebbe iniziare a lampeggiare, indicando che il programma è stato caricato correttamente.
Controlli della piedinatura Arduino Nano prima dell'accensione
Il nome Nano comprende schede con processori, livelli logici e funzioni dei pin differenti. Identificare quindi il modello esatto prima di seguire una piedinatura. Leggere la serigrafia della scheda e selezionare nell’IDE la combinazione corretta di scheda e processore. Lo stesso numero di pin su due varianti non garantisce uguali limiti elettrici o funzioni alternative.
- Alimentazione: Distinguere VIN dalla linea regolata, verificare l’alimentazione USB e non presumere la tolleranza a 5 V.
- Segnali: Mappare PWM, interrupt, SPI, I2C, UART e funzioni analogiche del modello scelto.
- Analogico: Controllare intervallo ADC, riferimento e possibile uso digitale dei pin analogici.
- Avvio: Collegare prima la massa, provare un programma minimo e aggiungere i carichi uno alla volta.
Conclusione
L’Arduino Nano è una scheda versatile e compatta, ideale per una varietà di progetti di elettronica. Che tu stia lavorando su un piccolo sistema embedded o su un dispositivo IoT, le dimensioni ridotte del Nano, combinate con potenti funzionalità come pin di I/O digitali, ingressi analogici e supporto per vari protocolli di comunicazione, lo rendono uno strumento prezioso sia per i principianti che per i maker esperti. Le molteplici varianti dell’Arduino Nano, inclusi i modelli con Wi-Fi, Bluetooth e sensori aggiuntivi, offrono ancora più flessibilità per un’ampia gamma di applicazioni.




