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
- TXS0108E Voltaj Seviyesi Değiştirici Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- 3.3V ve 5V cihazlar (örneğin, sensörler, modüller)
- Breadboard ve jumper telleri
- 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
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak yükleyin Yüklemek.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - BMP280 sensöründen sıcaklık ve basınç okumalarını gözlemleyin.
TXS0108E'nin uygulamaları
- 3.3V sensörleri veya modülleri ile 5V mikrodenetleyicilerin arayüzü.
- SPI, I2C, UART veya diğer iletişim protokolleri için seviye kaydırma.
- 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!