Arduino Nano Board: Caratteristiche, schema dei pin, modelli e tutorial di programmazione

Indice

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.

Arduino Nano Boards V3.0
Arduino Nano Boards V3.0

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à:

3561cc39f592f1f5a2672e0653f6bd2704807edf
Scheda Nano V3.0 (Credito immagine: forum.arduino)
  • 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.

Arduino Nano ESP32 Board (Image Credit: store.arduino)
SpecificationDetails
MicrocontrollerESP32 (Dual-core 32-bit)
Clock Speed240 MHz
Flash Memory4 MB
SRAM520 KB
EEPROMNone
USB InterfaceMicro-USB
Wireless ConnectivityWi-Fi, Bluetooth
Special FeaturesBuilt 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.

Arduino Nano RP2040 Connect Board (Image Credit: store.arduino)
SpecificationDetails
MicrocontrollerRaspberry Pi RP2040
Clock Speed133 MHz
Flash Memory16 MB Flash (external)
SRAM264 KB
EEPROMNone
Power Input5V via USB or external 5V input
Digital I/O Pins22 (3 PWM)
USB InterfaceMicro-USB
Wireless ConnectivityWi-Fi, Bluetooth (Nina W102 uBlox ESP32)
Special FeaturesBuilt 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.

Arduino Nano Every Board (Image Credit: store.arduino)
SpecificationDetails
MicrocontrollerMicrochip ATMega4809
Clock Speed20 MHz
Operating Voltage5V
Digital I/O Pins14
Flash Memory48 KB
SRAM6 KB
EEPROM256 Bytes
USB InterfaceMicro-USB
Wireless ConnectivityNone
Special FeaturesCompatible 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.

Arduino Nano 33 IoT Board (Image Credit: store.arduino)
SpecificationDetails
MicrocontrollerMicrochip SAMD21G18A (Cortex-M0+)
Clock Speed48 MHz
Flash Memory256 KB
SRAM32 KB
EEPROMNone
Operating Voltage3.3V
Digital I/O Pins14
USB InterfaceMicro-USB
Wireless ConnectivityWi-Fi, Bluetooth (Nina W102 ESP32)
Special FeaturesBuilt 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.

Arduino Nano 33 BLE Board (Image Credit: store.arduino)
SpecificationDetails
MicrocontrollerNordic nRF52840 (Cortex-M4F)
Clock Speed64 MHz
Flash Memory1 MB
SRAM256 KB
Operating Voltage3.3V
Digital I/O Pins14
USB InterfaceMicro-USB
Wireless ConnectivityBluetooth 5.0 (U-blox NINA B306 module)
Special FeaturesLow 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.

Arduino Nano 33 BLE Sense Board (Image Credit: store.arduino)
SpecificationDetails
MicrocontrollerNordic nRF52840 (Cortex-M4F)
Clock Speed64 MHz
Flash Memory1 MB
SRAM256 KB
Operating Voltage3.3V
Digital I/O Pins14
USB InterfaceMicro-USB
Wireless ConnectivityBluetooth 5.0 (U-blox NINA B306 module)
Special FeaturesIncludes 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).

Arduino IDE 2.3.4
  • 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
Setting Boards Manager URLs on Arduino IDE
Setting Boards Manager URLs on Arduino IDE

Passaggio 3: Seleziona la tua scheda Arduino Nano e la porta

Seleziona la scheda Arduino Nano:

    • Vai al menu Strumenti nella 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.
Select Arduino Nano Board
Select Arduino Nano Board

Seleziona il Processore Corretto:

      • Ancora nel menu Tools, vai a Processor.
      • 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.
Select ATmega328P Processor
Select ATmega328P Processor

Seleziona la Porta Seriale:

    • Nel menu Tools, vai a Port e seleziona la porta a cui è collegato il tuo Arduino Nano. Sulla maggior parte dei sistemi, l’Arduino apparirà come qualcosa come COM3 (Windows) o /dev/ttyUSB0 (Linux/macOS).
Select Serial Port
Select Serial Port

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 PinArduino 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
Wiring ATtiny 85 and Arduino Nano Board
Wiring ATtiny 85 and Arduino Nano Board

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.

Select Built in Examples for Arduino Nano
Select Built-in Examples for Arduino Nano

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.
Upload Blink Code to Arduino Nano Board
Upload Blink Code to Arduino Nano Board
  • 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.

Iscriviti

Unisciti alla nostra lista di iscritti per ricevere aggiornamenti mensili sul blog, notizie tecnologiche, casi di studio. Non invieremo mai spam e potrai annullare l’iscrizione in qualsiasi momento.

Informazioni sull'autore

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Hai bisogno di aiuto?

Torna in alto

Instant Quote