Arduino Nano

Schema dei pin PWM sull'Arduino Nano, e poi una descrizione dettagliata di ciascuno.
Pin PWM sull'Arduino Nano:
I pin PWM (Pulse Width Modulation) sono utilizzabili per simulare l'uscita analogica, ovvero creare segnali variabili in frequenza e larghezza di impulso. Sui modelli Arduino Nano, i pin PWM sono:
Altri pin e la loro funzione:
- D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13: Questi sono pin digitali usabili sia per ingresso che per uscita. I pin D3, D5, D6, D9, D10, e D11 sono i pin PWM.
- A0 - A7: Pin analogici utilizzabili per misurare segnali analogici o, in alcuni casi, come pin digitali.
- 3.3V: Fornisce una tensione di 3.3V.
- 5V: Fornisce una tensione di 5V.
- GND: Terra (ground).
- VIN: Viene usato per alimentare il dispositivo con una tensione esterna (generalmente tra 6 e 12V).
- RX0/TX1: Pin utilizzati per la comunicazione seriale (RX è per ricevere e TX per trasmettere).
- RST: Pin di reset, che può essere usato per riavviare l'Arduino.
I pin utilizzati per la comunicazione I2C (Inter-Integrated Circuit) sono:
- A4 (SDA - Data line)
- A5 (SCL - Clock line)
Descrizione:
-
A4 (SDA): Questo pin è utilizzato come linea dati per la comunicazione I2C. Viene utilizzato per inviare e ricevere i dati tra Arduino e i dispositivi I2C.
-
A5 (SCL): Questo pin è utilizzato come linea di clock per la comunicazione I2C. Determina la velocità di trasmissione dei dati tra Arduino e i dispositivi I2C.
I dispositivi I2C utilizzano queste due linee per la comunicazione: una per i dati (SDA) e una per il clock (SCL). In generale, il bus I2C può essere utilizzato per collegare più dispositivi, con un'unica coppia di fili (SDA e SCL) che collega tutti i dispositivi al microcontrollore Arduino.
I pin che supportano gli interrupt (cioè che possono rilevare eventi di cambiamento di stato o segnale su di essi) sono i seguenti:
Descrizione degli interrupt:
-
D2 (INT0): Questo è uno dei pin digitali che supportano gli interrupt. È utilizzato per rilevare cambiamenti di stato, come un fronte di salita o discesa, e può essere utilizzato per attivare una funzione ogni volta che si verifica un determinato evento.
-
D3 (INT1): Anche il pin D3 supporta gli interrupt. Come per il pin D2, può essere utilizzato per monitorare segnali e attivare una routine di gestione in risposta a un cambiamento di stato.
Utilizzo degli interrupt:
Gli interrupt sono utili per gestire eventi che si verificano in modo asincrono, come la lettura da sensori esterni, senza dover continuamente controllare lo stato di un pin in un ciclo di loop. I pin D2 e D3 possono essere configurati per reagire a segnali esterni e attivare specifiche routine, migliorando l'efficienza di programmazione.
Se stai utilizzando un expander di I/O, come un modulo MCP23017 o simili, che gestisce gli interrupt, di solito questi moduli hanno pin dedicati per inviare un segnale di interrupt alla scheda Arduino. In questo caso, puoi collegare l'uscita dell'interrupt del modulo a uno dei pin D2 o D3 del Nano, per rispondere agli eventi in tempo reale.
Il pin per il LED interno è il D13 (Digital Pin 13).
Descrizione:
- D13: Questo pin è collegato a un LED integrato sulla scheda, che si accende quando il pin è messo in modalità HIGH e si spegne quando è messo in modalità LOW. È molto utile per fare test o per visualizzare lo stato di un'operazione senza bisogno di componenti aggiuntivi.
void setup() {
pinMode(13, OUTPUT); // Imposta il pin 13 come uscita
}
void loop() {
digitalWrite(13, HIGH); // Accende il LED
delay(500); // Aspetta 1 secondo
digitalWrite(13, LOW); // Spegne il LED
delay(500); // Aspetta 1 secondo
} |
Questo codice accende e spegne il LED interno ogni secondo.
Il connettore ICSP (In-Circuit Serial Programming) su Arduino Nano è un gruppo di 6 pin situato sulla scheda, nella parte opposta rispetto alla porta USB. Questo connettore è utilizzato per la programmazione seriale in circuito del microcontrollore, cioè per caricare il firmware direttamente nel chip senza utilizzare la connessione USB.
I 6 pin ICSP:
- MOSI (Master Out Slave In): Utilizzato per inviare dati dal programmatore al microcontrollore.
- MISO (Master In Slave Out): Utilizzato per ricevere dati dal microcontrollore al programmatore.
- SCK (Serial Clock): Il pin di clock che sincronizza la trasmissione dei dati tra il programmatore e il microcontrollore.
- RESET: Permette di resettare il microcontrollore durante la programmazione.
- VCC: Fornisce alimentazione (tipicamente 5V) al microcontrollore durante la programmazione.
- GND: Terra (ground), per completare il circuito di alimentazione e comunicazione.
Funzione principale:
Il connettore ICSP è principalmente utilizzato per il programming del microcontrollore (di solito l'ATmega328p nel caso di Arduino Nano), in particolare quando:
- Si desidera ripristinare o riprogammare il chip, ad esempio in caso di corruzione del bootloader.
- Si utilizzano strumenti di programmazione esterni (come un programmatore USBasp o simili) per caricare il firmware direttamente nel microcontrollore.
Questo connettore è utile soprattutto quando non è possibile utilizzare la porta USB, o quando si desidera programmare l'Arduino in modalità "standalone" (senza passare per il bootloader).
Utilizzo comune:
- Ripristino del Bootloader: Se il bootloader è stato danneggiato, è possibile utilizzare l'ICSP per caricarne uno nuovo.
- Programmazione diretta: Invece di caricare il programma via USB, si può caricare tramite il connettore ICSP.
Posizione dei pin ICSP:
Quando guardi il connettore ICSP sulla scheda Arduino Nano (con il connettore USB in alto):
- Il pin 1 (MISO) si trova nel pin in basso a sinistra (questo è il pin numerato che vedrai sulla scheda).
- Il pin 2 (MOSI) è il pin in basso al centro.
- Il pin 3 (SCK) è il pin in basso a destra.
Nella riga superiore:
- Il pin 4 (RESET) è il pin in alto a sinistra.
- Il pin 5 (VCC) è il pin in alto al centro.
- Il pin 6 (GND) è il pin in alto a destra.
1. Pin Analogici (A0 - A7):
I pin da A0 a A7 sono pin analogici che possono essere utilizzati per letture analogiche, ma non solo. Questi pin possono anche essere utilizzati come pin digitali (da D14 a D19) se necessario, ampliando il numero di pin digitali disponibili.
- A0 - A5: Utilizzati per leggere valori da sensori analogici (tensione variabile tra 0 e 5V) tramite il convertere analogico-digitale (ADC) integrato.
- A6 - A7: Questi pin sono anch'essi analogici, ma sono meno comunemente usati perché la loro funzionalità principale è la lettura analogica. Su alcune versioni del Nano, A6 e A7 sono pin di ingresso analogico, ma non sono sempre facilmente accessibili o utilizzati.
2. Pin PWM (Pulse Width Modulation):
Abbiamo già parlato dei pin che supportano il PWM (D3, D5, D6, D9, D10, D11). Il PWM consente di simulare una tensione analogica utilizzando una sequenza di impulsi digitali. Questo è utile per il controllo della luminosità di un LED, il controllo della velocità di un motore DC, o altri dispositivi che richiedono un controllo variabile.
3. Pin per la comunicazione seriale (RX0, TX1):
- RX0 (D0) e TX1 (D1) sono utilizzati per la comunicazione seriale (UART), permettendo la trasmissione e ricezione di dati tra Arduino e dispositivi esterni (come PC o moduli di comunicazione seriale). Tuttavia, se usi questi pin per la comunicazione seriale, non saranno disponibili per altre funzionalità durante il debug o la comunicazione con il computer.
4. Pin per la comunicazione SPI (Serial Peripheral Interface):
- D10 (SS): Pin per la selezione del dispositivo SPI (Slave Select).
- D11 (MOSI): Pin per inviare i dati dal master al dispositivo slave (Master Out Slave In).
- D12 (MISO): Pin per ricevere i dati dal dispositivo slave al master (Master In Slave Out).
- D13 (SCK): Pin per il clock SPI.
Questi pin sono utilizzati per la comunicazione tra Arduino e dispositivi SPI (ad esempio, moduli SD, display, ecc.). La comunicazione SPI è più veloce rispetto all'I2C e viene utilizzata quando sono richieste alte velocità di trasferimento.
5. Pin di Reset (RST):
Il pin RST serve per resettare manualmente l'Arduino Nano. È utile quando si collega un programmatore esterno o si desidera forzare un reset della scheda durante il programma.
6. Pin di alimentazione:
- 5V: Fornisce 5 volt, di solito per alimentare il microcontrollore e i dispositivi collegati.
- 3.3V: Alcuni moduli, come sensori o display, potrebbero richiedere una tensione inferiore a 5V. Questo pin fornisce 3.3V.
- GND: Serve come riferimento per tutti gli altri segnali e come ritorno per l'alimentazione.
7. Pin VIN:
- VIN è il pin di ingresso per l'alimentazione della scheda. Se alimenti il tuo Arduino Nano con una batteria o una fonte esterna, la tensione deve essere compresa tra 6V e 12V. Arduino fornisce automaticamente la tensione regolata di 5V al resto dei circuiti.
8. Pin per l'oscillatore (A7):
Su alcuni modelli di Arduino Nano, il pin A7 è utilizzato come una linea di ingresso per l'oscillatore esterno, se presente.
9. Pin per il controllo della tensione (VCC, GND):
Questi pin sono utilizzati per alimentare il modulo esterno con la stessa tensione di alimentazione che riceve l'Arduino. Questi sono essenziali per collegare sensori o moduli elettronici che necessitano di un'alimentazione esterna.
10. Altri dettagli:
- Il pin D13 è collegato a un LED integrato sulla scheda Arduino. Se usi questo pin, il LED si accende e si spegne in base alla configurazione del pin (HIGH o LOW).
- I pin digitali D0 (RX) e D1 (TX) sono utilizzati per la comunicazione seriale, quindi quando li usi per altri scopi (ad esempio, per collegare sensori o dispositivi), non potrai usarli per la programmazione seriale.
I pin SPI (D10, D11, D12, D13) replicano effettivamente le funzionalità del connettore ICSP, che viene utilizzato principalmente per la programmazione diretta del microcontrollore.
Pin analogici utilizzabili anche come digitali
Gli ingressi analogici di Arduino Nano possono essere utilizzati anche come pin digitali, aumentando il numero totale di pin digitali disponibili. La corrispondenza tra i nomi analogici (A0-A7) e le loro equivalenti numerazioni digitali è la seguente:
Pin Analogico |
Corrispondenza Digitale |
A0 |
D14 |
A1 |
D15 |
A2 |
D16 |
A3 |
D17 |
A4 (SDA - I²C) |
D18 |
A5 (SCL - I²C) |
D19 |
A6 |
Solo Analogico |
A7 |
Solo Analogico |
Nota:
- A6 e A7 sono solo ingressi analogici e non possono essere usati come pin digitali.
- I pin A4 e A5 hanno anche la funzione di I²C (SDA e SCL), quindi se usi un modulo I²C, questi pin saranno riservati alla comunicazione.
- Il pin 13 non può essere utilizzato come input pull-up va in conflitto
|