Arduino ile TXS0108E voltaj seviyesi vites değiştirici nasıl kullanılır

How to Use the TXS0108E Voltage Level Shifter with Arduino

TXS0108E, 3.3V ve 5V gibi farklı voltaj seviyelerinde çalışan cihazlar arasında güvenli iletişime izin veren iki yönlü bir voltaj seviyesi değiştiricidir. Genellikle 5V mikrodenetleyicileri (Arduino gibi) 3.3V sensör veya modül ile arayüzlemek için kullanılır. Bu öğretici, Arduino ile TXS0108E'yi kullanarak size rehberlik edecektir.


Ne İhtiyacınız Olacak

  1. TXS0108E Voltaj Seviyesi Değiştirici Modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. 3.3V ve 5V cihazlar (örneğin, sensörler, modüller)
  4. Breadboard ve jumper telleri
  5. Arduino IDE kurulu bir bilgisayar

1. Adım: TXS0108E Modülünü Anlama

TXS0108E modülünün iki güç alanı vardır:

  • VCCA: Düşük voltaj tarafı için güç kaynağı (1.2V - 3.6V, örneğin 3.3V cihazlar).
  • VCCB: Yüksek voltaj tarafı için güç kaynağı (1.65V - 5.5V, örn. 5V cihazlar).

Her iki yönde iletişime izin vererek en fazla 8 iki yönlü veri hattını işleyebilir.

TXS0108E Pinout

Pin İşlev
VCCA Düşük voltajlı yan güç kaynağı
VCCB Yüksek voltajlı yan güç kaynağı
Gnd Zemin
Oe Çıktı Etkinleştir (etkin yüksek)
Balta Düşük voltajlı yan veri hatları (A1-A8)
Bx Yüksek voltajlı yan veri hatları (B1-B8)

Adım 2: TXS0108E'yi Arduino'ya bağlama

Aşağıda TXS0108E'yi bir Arduino ve 3.3V I2C cihazına (örn. BMP280 sensörü) bağlamanın bir örneği verilmiştir:

Bağlantılar

TXS0108E PIN Arduino pimi 3.3V Cihaz Pimi
VCCA 3.3v 3.3v
VCCB 5V N/A
Gnd Gnd Gnd
A1 A4 (SDA, düşük voltaj) SDA
A2 A5 (SCL, düşük voltaj) Scl
B1 Cihaz SDA N/A
B2 Cihaz SCL N/A
Oe 5V N/A

Not: Hem VCCA hem de VCCB'nin ilgili voltaj malzemelerine bağlı olduğundan emin olun ve OE modülü etkinleştirmek için yüksek (5V) 'e bağlıdır.


Adım 3: Arduino kodunu yükleyin

İşte TXS0108E üzerinden 3.3V I2C cihaz (örn. BMP280 sensörü) ile iletişim kurmak için örnek bir taslak:

Örnek Kodu

#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. Adım: Kurulumu test edin

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. BMP280 sensöründen sıcaklık ve basınç okumalarını gözlemleyin.

TXS0108E'nin uygulamaları

  1. 3.3V sensörleri veya modülleri ile 5V mikrodenetleyicilerin arayüzü.
  2. SPI, I2C, UART veya diğer iletişim protokolleri için seviye kaydırma.
  3. Karışık voltaj cihazları arasında iki yönlü iletişimin sağlanması.

Sorun giderme

  • İletişim yok: VCCA, VCCB ve OE için kablolamayı doğrulayın. Doğru I2C adresinin kullanıldığından emin olun.
  • Kararsız Veri: Kısa kablolar kullanın ve kararlı güç kaynaklarını kontrol edin.
  • Cihaz yanıt vermiyor: Her iki taraftaki voltaj uyumluluğunu ve çift kontrol bağlantılarını sağlayın.

Çözüm

Farklı voltaj seviyelerinde çalışan cihazlar arasında iletişimi sağlamak için Arduino ile TXS0108E seviye vites değiştiricisini başarıyla kullandınız. Bu çok yönlü modül, karma sinyal sistemlerinde voltaj boşluklarını köprüleme için gereklidir. Diğer cihazları birbirine bağlayarak ve uygulamalarını projelerinizdeki inceleyerek daha fazla deneyin!

Yorum bırak

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.