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.

| Specification | Details |
|---|---|
| Microcontroller | ESP32 (Dual-core 32-bit) |
| Clock Speed | 240 MHz |
| Flash Memory | 4 MB |
| SRAM | 520 KB |
| EEPROM | None |
| USB Interface | Micro-USB |
| Wireless Connectivity | Wi-Fi, Bluetooth |
| Special Features | Built for IoT applications, includes Wi-Fi and Bluetooth 4.2, more processing power, ideal for high-performance projects |
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.

| Specification | Details |
|---|---|
| Microcontroller | Raspberry Pi RP2040 |
| Clock Speed | 133 MHz |
| Flash Memory | 16 MB Flash (external) |
| SRAM | 264 KB |
| EEPROM | None |
| Power Input | 5V via USB or external 5V input |
| Digital I/O Pins | 22 (3 PWM) |
| USB Interface | Micro-USB |
| Wireless Connectivity | Wi-Fi, Bluetooth (Nina W102 uBlox ESP32) |
| Special Features | Built for IoT, includes uBlox Nina W102 chip, ideal for wireless applications |
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.

| Specification | Details |
|---|---|
| Microcontroller | Microchip ATMega4809 |
| Clock Speed | 20 MHz |
| Operating Voltage | 5V |
| Digital I/O Pins | 14 |
| Flash Memory | 48 KB |
| SRAM | 6 KB |
| EEPROM | 256 Bytes |
| USB Interface | Micro-USB |
| Wireless Connectivity | None |
| Special Features | Compatible with Arduino Nano form factor, improved memory, and speed |
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.

| Specification | Details |
|---|---|
| Microcontroller | Microchip SAMD21G18A (Cortex-M0+) |
| Clock Speed | 48 MHz |
| Flash Memory | 256 KB |
| SRAM | 32 KB |
| EEPROM | None |
| Operating Voltage | 3.3V |
| Digital I/O Pins | 14 |
| USB Interface | Micro-USB |
| Wireless Connectivity | Wi-Fi, Bluetooth (Nina W102 ESP32) |
| Special Features | Built for IoT, includes NINA W102 module, sensors, hardware encryption |
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.

| Specification | Details |
|---|---|
| Microcontroller | Nordic nRF52840 (Cortex-M4F) |
| Clock Speed | 64 MHz |
| Flash Memory | 1 MB |
| SRAM | 256 KB |
| Operating Voltage | 3.3V |
| Digital I/O Pins | 14 |
| USB Interface | Micro-USB |
| Wireless Connectivity | Bluetooth 5.0 (U-blox NINA B306 module) |
| Special Features | Low power consumption, suitable for wearables, includes 9-axis sensor |
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.

| Specification | Details |
|---|---|
| Microcontroller | Nordic nRF52840 (Cortex-M4F) |
| Clock Speed | 64 MHz |
| Flash Memory | 1 MB |
| SRAM | 256 KB |
| Operating Voltage | 3.3V |
| Digital I/O Pins | 14 |
| USB Interface | Micro-USB |
| Wireless Connectivity | Bluetooth 5.0 (U-blox NINA B306 module) |
| Special Features | Includes additional sensors for temperature, pressure, humidity, light, and gesture recognition |
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.
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.




