TXS0108Eは、3.3Vや5Vなどの異なる電圧レベルで動作するデバイス間の安全な通信を可能にする双方向電圧レベルシフターです。一般に、3.3Vセンサーまたはモジュールを備えた5Vマイクロコントローラー(Arduinoなど)のインターフェイスに使用されます。このチュートリアルでは、Arduinoを使用してTXS0108Eを使用することをガイドします。
あなたが必要とするもの
- TXS0108E電圧レベルシフターモジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- 3.3Vおよび5Vデバイス(センサー、モジュールなど)
- ブレッドボードとジャンパーワイヤ
- Arduino IDEがインストールされたコンピューター
ステップ1:TXS0108Eモジュールの理解
TXS0108Eモジュールには2つのパワードメインがあります。
- VCCA: 低電圧側の電源(1.2V -3.6V、たとえば3.3Vデバイス)。
- VCCB: 高電圧側の電源(1.65V -5.5V、たとえば5Vデバイス)。
最大8つの双方向のデータラインを処理でき、両方向の通信が可能になります。
TXS0108Eピンアウト
ピン | 関数 |
---|---|
VCCA | 低電圧サイド電源 |
VCCB | 高電圧サイド電源 |
GND | 地面 |
OE | 出力イネーブル(アクティブハイ) |
斧 | 低電圧サイドデータライン(A1-A8) |
BX | 高電圧サイドデータライン(B1-B8) |
ステップ2:TXS0108EをArduinoに配線します
以下は、TXS0108EをArduinoおよび3.3V I2Cデバイス(BMP280センサーなど)に接続する例です。
接続
TXS0108Eピン | Arduino Pin | 3.3Vデバイスピン |
---|---|---|
VCCA | 3.3V | 3.3V |
VCCB | 5V | n/a |
GND | GND | GND |
A1 | A4(SDA、低電圧) | SDA |
A2 | A5(SCL、低電圧) | SCL |
B1 | デバイスSDA | n/a |
B2 | デバイスSCL | n/a |
OE | 5V | n/a |
注記: VCCAとVCCBの両方がそれぞれの電圧供給に接続されていることを確認し、
OE
モジュールを有効にするために高(5V)に結び付けられています。
ステップ3:Arduinoコードをアップロードします
TXS0108Eを介して3.3V I2Cデバイス(BMP280センサーなど)と通信するためのスケッチの例を次に示します。
例コード
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp; // Create BMP280 object
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("Initializing BMP280...");
if (!bmp.begin(0x76)) { // Default I2C address for BMP280
Serial.println("Could not find a valid BMP280 sensor. Check wiring.");
while (1);
}
Serial.println("BMP280 initialized.");
}
void loop() {
Serial.print("Temperature: ");
Serial.print(bmp.readTemperature());
Serial.println(" °C");
Serial.print("Pressure: ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
delay(1000); // Wait for a second before the next reading
}
ステップ4:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをアップロードします アップロード.
- シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します
9600
. - BMP280センサーからの温度と圧力の読み取り値を観察します。
TXS0108Eのアプリケーション
- 3.3Vセンサーまたはモジュールを備えた5Vマイクロコントローラーをインターフェースします。
- SPI、I2C、UART、またはその他の通信プロトコルのレベルシフト。
- 混合電圧デバイス間の双方向通信を有効にします。
トラブルシューティング
- コミュニケーションなし: VCCA、VCCB、およびOEの配線を確認します。正しいI2Cアドレスが使用されていることを確認してください。
- 不安定なデータ: 短いワイヤを使用して、安定した電源を確認してください。
- 応答しないデバイス: 両側の電圧互換性とダブルチェック接続を確保します。
結論
Arduinoを使用してTXS0108Eレベルシフターを使用して、異なる電圧レベルで動作するデバイス間の通信を有効にすることに成功しました。この汎用性の高いモジュールは、混合シグナルシステムの電圧ギャップを橋渡しするために不可欠です。他のデバイスを接続し、プロジェクトでアプリケーションを探索してさらに実験してください!