반응형
TCA954X i2c Multiplexer 멀티플렉서
Summary
- I2C Multiplexer TCA954X 동작에 대해서 간단히 정리한다.
Texas Instruments TCA954X 멀티플렉서
- TCA954X 는 Texas Instruments (텍사스 인스트루먼트) 에서 만든 저전압 n채널 I2C Multiplexer 이다.
- TCA954X 의 끝자리 품번에 따라서 channel 수가 결정된다.
Example
I2C Multiplexer 의 용도를 빠르게 이해하기 위해서, 다음과 같은 예제를 살펴본다. MCU I2C 포트 하나에 4 개의 I2C device 가 연결되어있다.
I2C를 통해 BME280 로부터 읽은 온도, 습도 및 대기압을 3개 I2C OLED Display 에 출력하는 예제로, Micom 과 TCA954X 가 연결된 i2c 채널은 1개이다.
TCA954X port | i2c device |
ch 1 | BMP280 |
ch 2 | OLED LCD SSD1306 |
ch 6 | OLED LCD SSD1306 |
ch 7 | OLED LCD SSD1306 |
TCA9548A 를 이용한 예제 코드 (출처 : 하단첨부 Youtube link)
//==============================
//I2C Mutiplexing using TCA9548A
//==============================
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <Adafruit_SSD1306.h>
//----------------------------------------------------------
Adafruit_SSD1306 display(128, 64, &Wire, 4);
Adafruit_BME280 bme;
float temp, hum, pressure;
//----------------------------------------------------------
void TCA9548A(uint8_t bus)
{
Wire.beginTransmission(0x70);
Wire.write(1 << bus);
Wire.endTransmission();
}
//=============================================================================
void setup()
{
TCA9548A(1);
bme.begin(0x76, &Wire);
TCA9548A(2);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
TCA9548A(6);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
TCA9548A(7);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
//=============================================================================
void loop()
{
TCA9548A(1);
temp = bme.readTemperature();
hum = bme.readHumidity();
pressure = bme.seaLevelForAltitude(195.0, bme.readPressure())/100.0;
//-------------------------------------------------------------------------
TCA9548A(2);
display.setTextColor(WHITE); display.clearDisplay();
display.setTextSize(2); display.setCursor(30,0); display.print("Temp C");
display.setTextSize(3); display.setCursor(20,30);
display.print(temp);
display.display();
//-------------------------------------------------------------------------
TCA9548A(6);
display.setTextColor(WHITE); display.clearDisplay();
display.setTextSize(2); display.setCursor(0,0); display.print("Humidity %");
display.setTextSize(3); display.setCursor(20,30);
display.print(hum);
display.display();
//-------------------------------------------------------------------------
TCA9548A(7);
display.setTextColor(WHITE); display.clearDisplay();
display.setTextSize(2); display.setCursor(5,0); display.print("Pressr hPa");
display.setTextSize(3); display.setCursor(0,30);
display.print(pressure);
display.display();
delay(1000);
}
TCA954X 관련 자료
- https://www.youtube.com/watch?v=HLd_ZyfEFGc
반응형
'메이크 프로젝트 > 부품 리뷰' 카테고리의 다른 글
Raspberry Pi Camera Module 3 공식 출시 (0) | 2023.01.17 |
---|---|
[부품리뷰] Yeelight 1SE RGBW Smart 전구 (0) | 2021.12.11 |
[부품리뷰] 엔비디아 젯슨 AGX Orin 개발자 키트 (0) | 2021.11.21 |
[부품리뷰] Tesla Model 3 OBD2 Cable (0) | 2021.10.03 |
[부품리뷰] 한솔테크닉스 태양광 인버터 HSPV-3005 (2) | 2021.10.02 |