Questo articolo copre:
Cos'è la comunicazione I2C in Arduino
I pin di comunicazione I2C si riferiscono alle connessioni PIN specifiche su una scheda Arduino che vengono utilizzate per comunicare con i dispositivi I2C. Nella maggior parte delle schede Arduino, i pin di comunicazione I2C si trovano sui pin A4 e A5 e sono etichettati rispettivamente SDA (per i dati) e SCL (per clock).
Alcuni punti salienti principali della comunicazione I2C includono:
Capacità multi-master e multi-slave: I2C supporta più dispositivi master e più dispositivi slave su un singolo bus, consentendo la comunicazione tra più dispositivi contemporaneamente.
Conteggio dei pin basso: I2C utilizza solo due righe, SDA e SCL, per la comunicazione, che riduce il numero di connessioni richieste e semplifica il cablaggio.
Dispositivi indirizzabili: Ogni dispositivo I2C sul bus ha un indirizzo univoco, consentendo una facile identificazione e comunicazione con dispositivi specifici.
Ad alta velocità: La specifica I2C supporta le tariffe di trasferimento dei dati fino a 3.4 Mbps, rendendolo adatto per applicazioni di trasferimento di dati ad alta velocità.
Risparmio energetico: I2C consente una comunicazione a bassa potenza tra i dispositivi consentendo di inserire i dispositivi in modalità a bassa potenza quando non si comunica e si svegliano su richiesta.
Pin i2c in Arduino Uno
Nella comunicazione I2C, vengono utilizzate due righe:
Il dispositivo principale è responsabile del controllo della linea di clock e dell'avvio della comunicazione, mentre i dispositivi slave sono responsabili della risposta alle richieste del master.
Pin i2c in arduino mega
Il mega Arduino ha più pin di comunicazione i2c. Questi pin sono:
Questi pin possono essere utilizzati per collegare dispositivi I2C, come sensori o altri microcontrollori.
Pin i2c in arduino nano
I pin i2c sul nano Arduino sono A4 (SDA) e A5 (SCL), questi pin possono essere usati per comunicare con dispositivi I2C come sensori, display LCD e altri microcontrollori. Per utilizzare questi pin, dovrai utilizzare la libreria di fili, che è integrata nell'IDE Arduino:
È importante notare che i pin i2c sul nano Arduino possono anche essere usati come pin I/O digitali standard se non vengono utilizzati per la comunicazione I2C. Tuttavia, è importante assicurarsi che la comunicazione I2C sia disabilitata o fermata prima di usare questi pin come I/O digitale, in quanto può causare conflitti e errori.
Breve confronto di pin Arduino I2C
Ecco un elenco di alcune bacheche Arduino popolari e dei loro corrispondenti pin I2C:
Asse | Pin i2c |
---|---|
Arduino Nano | SDA-A4 | SCL-A5 |
Arduino Mega | SDA-A4 | SCL-A5 e SDA-20 | SCL-21 |
Arduino Leonardo | SDA-A4 | SCL-A5 |
Arduino Uno | SDA-A4 | SCL-A5 |
Arduino Micro | SDA-02 | SCL-03* |
Arduino Leonardo | SDA-02 | SCL-03 |
Arduino Micro | SDA-02 | SCL-03 |
Arduino pro mini | SDA-A4 | SCL-A5 |
Arduino dovuto | SDA-20 | SCL-21 |
Arduino 101 | SDA-20 | SCL-21 |
*I pin i2c possono variare a seconda della versione della scheda che stai usando gentilmente, consultare i rispettivi fogli dati per maggiori dettagli.
Si prega di notare che alcune delle schede potrebbero avere più di una SDA, SCL pin, in tal caso puoi usarne uno come per le tue esigenze e disponibilità. È anche utile fare riferimento alla documentazione ufficiale della scheda che stai usando, per confermare il pinout i2c.
Collegamento di due Arduino Board usando I2C come master e slave
Per stabilire la comunicazione I2C tra due schede Arduino, il SDA E SCL I pin di entrambe le schede devono essere collegati e condividere un terreno comune. La comunicazione può essere ottenuta utilizzando la libreria di filo integrata in Arduino che contiene funzioni per la configurazione e la comunicazione sul bus i2c.
Schema
L'immagine sotto mostra due schede Arduino Uno collegate in Master-slave configurazione:
Per collegare Arduino Uno con Arduino Nano utilizzando il protocollo Slave Master I2C, seguire la configurazione seguente:
Arduino Mega Connection con Arduino Uno usando I2C:
Conclusione
Le schede Arduino possono essere configurate per comunicare tra loro usando I2C collegando i pin SDA e SCL e configurando le schede come master e slave usando la libreria di filo in Arduino. Ciò consente una comunicazione efficiente e facile tra più dispositivi in qualsiasi progetto basato su Arduino.