Di tanto in tanto potresti ritrovarti a dover utilizzare più di un dispositivo con lo stesso indirizzo bus I2C con il tuo Arduino.
Come quattro OLED per un display di grandi dimensioni o sette sensori di temperatura collegati a un pollaio.
Questi tipi di problemi possono essere risolti con il breakout multiplexer I2C da 1 a 8 TCA9548A e in questa guida analizzeremo come farlo accadere con alcuni dispositivi di esempio.
Innanzitutto, prendere in considerazione lo stesso TCA9548A. È il gateway tra il tuo Arduino e otto bus I2C separati. Hai un solo bus su un lato, collegato al tuo Arduino.
Dall'altro lato del TCA9548A, ci sono otto bus I2C e solo uno di questi può essere collegato ad Arduino alla volta. Ad esempio (dalla scheda tecnica):
TCA9548 può funzionare con tensioni comprese tra 1,8 e 5 V CC ... e funzionare con dispositivi che hanno tensioni di funzionamento tra 1,8 e 5 V CC. Questo è molto conveniente, poiché (ad esempio) è possibile utilizzare dispositivi realizzati per il funzionamento a 3,3 V con Arduinos 5 V o viceversa. Eccezionale. Quindi iniziamo.
La scheda di breakout include pin di intestazione in linea, che non sono saldati alla scheda. Quindi devi farlo. Un modo semplice per allineare correttamente i perni è farli cadere in una breadboard senza saldatura, in quanto tale:
Il Multiplexer I2C TCA9548A permette di utilizzare fino ad 8 diversi dispositivi con lo stesso indirizzo bus I2C con il tuo Arduino.
Sulla scheda sono presenti la connessione al bus I2C del microcontrollore, le connessioni degli 8 dispositivi da controllare ed i tre pin per la selezione dell'indirizzo I2C del dispositivo che combinati opportunamente permettono di ottenere 8 indirizzi I2C (da 0x70 a 0x77)
Il Multiplexer I2C TCA9548A può funzionare con tensioni comprese tra 1,8Vcc e 5Vcc e può controllare dei dispositivi che hanno tensioni di funzionamento tra 1,8 e 5 Vcc, questo permette di utilizzare dei dispositivi realizzati per il funzionamento a 3,3 V con un Arduino 5V o viceversa.
Caratteristiche:
- Alimentazione da 1,8Vcc a 5Vcc
- Compatibile con bus I2C e SMBus
- Fino a 8 indirizzi I2C
- Consente l'adattamento del livello tra bus a 1,8Vcc, 2,5Vcc, 3,3Vcc e 5Vcc
- Frequenza di clock da 0 a 400KHz
- Basso consumo a riposo
Documenti: