Pin di comunicazione i2c nelle schede Arduino

Pin di comunicazione i2c nelle schede Arduino
I2C, o circuito inter-integrato, è un protocollo di comunicazione utilizzato per collegare i dispositivi a qualsiasi scheda di microcontrollore Arduino e utilizza una linea di dati condivisa (SDA) e una linea di clock (SCL) per la comunicazione. La libreria di filo integrata nell'IDE Arduino consente una facile comunicazione con dispositivi I2C attraverso funzioni di alto livello e supporta più bus i2c.

Questo articolo copre:

  • Cos'è la comunicazione I2C in Arduino
  • Pin i2c in Arduino Uno
  • Pin i2c in arduino mega
  • Pin i2c in arduino nano
  • Breve confronto di pin Arduino I2C
  • Collegamento di due Arduino Board usando I2C come master e slave
  • Conclusione

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:

  • Linea dati (SDA): Riga di dati per lo scambio di dati tra dispositivi master e slave.
  • Linea dell'orologio (SCL): Linea di clock per la sincronizzazione della comunicazione I2C tra i dispositivi.

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:

  • SDA - A4 e 20
  • SCL - A5 e 21

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.