TCA9548A I2C Multiplexer: Use Multiple Devices with the Same Address on Arduino

preview_player
Показать описание
The TCA9548A I2C switch / multiplexer allows directing I2C traffic between one main bus and up to 8 other switchable buses. Two main advantages of being able to switch between separate buses are
1. Each bus can operate at a different voltage, allowing level translation between devices that talk to the same master controller
2. Devices that are configured for the same I2C address can't exist on a single bus without conflict but they can co-exist in the same system if they are isolated on separate buses.

Here's a demo project showing how to get the TCA9548A module working with Arduino, using 3 PCF8574 GPIO expanders. 2 of the expanders are configured for the same address so they are wired to 2 separate switch buses in order to interact with Arduino Uno over one main I2C bus.

Sketch and Wiring Diagram

TCA9548A Datasheet

Adafruit TCA9548A module

#ElectronicsCreators
Рекомендации по теме
Комментарии
Автор

4 year old video and it's still giving some great and relevent content. Thank you for a very straightforward explanation. I can't thank you enough.

BrianThomas
Автор

Nice job! I had not thought about needing this, so far all my i2c are configurable or on unique addresses. Very well explained. Off to ali I go...

stevesfascinations
Автор

Great product and nice clear explanation! 👍

onecircuit-as
Автор

It's a nice chip, but you have to try and keep as much on the same bus as you can to keep the bus switching overhead to a minimum If you require full speed. Still it's a nice way of getting out of an conflicting address hole.

TheEmbeddedHobbyist
Автор

The best!!
Just one doubt. What is the control register address for channel selection.

manasbuzruk
Автор

yeah, small oled screens are cheap enough to make e.g. a clock (1 oled = 1 char), but some can not change i2c address, perfect.
black on white = daytime high visibility probably, white on black = nighttime

jyvben
Автор

Hello mam.... Begin just a beginner and have started learning very basic of arduino... I came across how we can expand are I/O pin in arduino... But i was wondering can we store the status of those pins in the eeprom of arduino... So even if power cuts the expander regain its previous state before the power cut

burhanuddinbhiwaniwala
Автор

Is there a tutorial as good as this, but deals with switches?
I'm looking to have 'several' switches on a PCF8574, but connected via a TCA9548A.

paulwoodroffe
Автор

Luv the work u r doing. I want monitor the capacity of my 14.6v valence batteries shud I use amp connector to rs485 to logic level converter to 4 module relay to arduino. And please how to connect?

kamalhussain
Автор

Hello, I'm a beginner and I would like to know :
Can I control relays with this address?

Thank you in advance 😊.

Cordially.

kevinhoublon
Автор

Hi. Sorry i ask (i think you explain this but i dont understand well english, and i do not know much about electronic). Im using a tca9548a i2c with a raspberry pi zero w. I connect the tca9548a to 3.3v. and have 4 mcp23017 connected to that tca, also that mcp23017 with the same 3.3v. from the rpizero. But, i also want to connect a ht16k33 to the sda sdc of the tca9548a but, i want to connect the ht16k33 to a 5v (power from a cellphone). When i do this my program fail to execute... but if i put the ht16k33 to 3.3v works fine... so the problem here is that the tca9548a is not playing well with the different values. How i can get to work this? i mean some modules with 3.3.v and other with 5v?

ErdosainNueve
Автор

going from video to video wanting see something other than the blink sketch. My teacher gave me a big with a bunch of stuff I have 3 of these

amelliamendel
Автор

Hi friend, interesting device.

So, could you (or some one else) please tellme if i'm getting this right?
I'm trying to work with 5 GLCD SSD1306 with a pic18f4550. But this exceeds the ram's space.

With this device, can i just have one single oled graphic display ssd1306 on my pic's program, and just declare 5 different variables that will define the 5 different adress to each glcd? (While connecting them to this device...)

Or, i'm still having to declare the 5 GLCDs on program to recognize them? (Which is sadly not gonna help me saving ram)

Thanks and Have a nice day.

rawlc.
Автор

Hello
when I am configure TCA9548A with node mcu with temp sensor and Oximeter it's not working together but it's working on the Arduino what is problem with the node muc because same Programing is Done on the Both Board
Please tell me???? it's Imp For my project

ujwaladhaimbekar
join shbcf.ru