ArduinoでTXS0108E電圧レベルシフターの使用方法

How to Use the TXS0108E Voltage Level Shifter with Arduino

TXS0108Eは、3.3Vや5Vなどの異なる電圧レベルで動作するデバイス間の安全な通信を可能にする双方向電圧レベルシフターです。一般に、3.3Vセンサーまたはモジュールを備えた5Vマイクロコントローラー(Arduinoなど)のインターフェイスに使用されます。このチュートリアルでは、Arduinoを使用してTXS0108Eを使用することをガイドします。


あなたが必要とするもの

  1. TXS0108E電圧レベルシフターモジュール
  2. Arduino委員会(例:UNO、MEGA、NANO)
  3. 3.3Vおよび5Vデバイス(センサー、モジュールなど)
  4. ブレッドボードとジャンパーワイヤ
  5. 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:セットアップをテストします

  1. USBを介してArduinoをコンピューターに接続します。
  2. Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
  3. クリックしてコードをアップロードします アップロード.
  4. シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します 9600.
  5. BMP280センサーからの温度と圧力の読み取り値を観察します。

TXS0108Eのアプリケーション

  1. 3.3Vセンサーまたはモジュールを備えた5Vマイクロコントローラーをインターフェースします。
  2. SPI、I2C、UART、またはその他の通信プロトコルのレベルシフト。
  3. 混合電圧デバイス間の双方向通信を有効にします。

トラブルシューティング

  • コミュニケーションなし: VCCA、VCCB、およびOEの配線を確認します。正しいI2Cアドレスが使用されていることを確認してください。
  • 不安定なデータ: 短いワイヤを使用して、安定した電源を確認してください。
  • 応答しないデバイス: 両側の電圧互換性とダブルチェック接続を確保します。

結論

Arduinoを使用してTXS0108Eレベルシフターを使用して、異なる電圧レベルで動作するデバイス間の通信を有効にすることに成功しました。この汎用性の高いモジュールは、混合シグナルシステムの電圧ギャップを橋渡しするために不可欠です。他のデバイスを接続し、プロジェクトでアプリケーションを探索してさらに実験してください!

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.