TXS0108E jest dwukierunkowym przemiennikiem poziomu napięcia, który umożliwia bezpieczną komunikację między urządzeniami działającymi na różnych poziomach napięcia, takich jak 3,3 V i 5 V. Jest powszechnie używany do interfejsu mikrokontrolerów 5 V (takich jak Arduino) z czujnikami lub modułami 3,3 V. Ten samouczek poprowadzi Cię do używania TXS0108E z Arduino.
Czego będziesz potrzebować
- Moduł zmiany zmiany biegów TXS0108E
- Arduino Board (np. UNO, Mega, Nano)
- Urządzenia 3,3 V i 5 V (np. Czujniki, moduły)
- Druty chleba i skoczków
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie modułu TXS0108E
Moduł TXS0108E ma dwie domeny mocy:
- VCCA: Zasilacz po stronie niskiego napięcia (1,2 V - 3,6 V, np. Urządzenia 3,3 V).
- VCCB: Zasilacz po stronie wysokiego napięcia (1,65 V - 5,5 V, np. Urządzenia 5 V).
Może obsłużyć do 8 dwukierunkowych linii danych, umożliwiając komunikację w obu kierunkach.
TXS0108E Pinout
Szpilka | Funkcjonować |
---|---|
VCCA | Zasilacz po stronie niskiego napięcia |
VCCB | Zasilacz po stronie wysokiego napięcia |
GND | Grunt |
Oe | Włącz wyjście (Active High) |
Topór | Linie danych bocznych niskiego napięcia (A1-A8) |
Bx | Linie danych bocznych wysokiego napięcia (B1-B8) |
Krok 2: Okablowanie TXS0108E do Arduino
Poniżej znajduje się przykład podłączenia TXS0108E do Arduino i urządzenia 3.3V I2C (np. Czujnik BMP280):
Znajomości
TXS0108E PIN | PIN Arduino | PIN urządzenia 3.3 V. |
---|---|---|
VCCA | 3,3 V. | 3,3 V. |
VCCB | 5v | Nie dotyczy |
GND | GND | GND |
A1 | A4 (SDA, niskie napięcie) | SDA |
A2 | A5 (SCL, niskie napięcie) | Scl |
B1 | Urządzenie SDA | Nie dotyczy |
B2 | Urządzenie SCL | Nie dotyczy |
Oe | 5v | Nie dotyczy |
Notatka: Upewnij się, że zarówno VCCA, jak i VCCB są podłączone do odpowiednich zasobów napięcia i tak że
OE
jest powiązany z wysokim (5 V), aby włączyć moduł.
Krok 3: Prześlij kod Arduino
Oto przykład szkicu do komunikacji z urządzeniem 3.3V I2C (np. Czujnik BMP280) przez TXS0108E:
Przykładowy kod
#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
}
Krok 4: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Obserwuj odczyty temperatury i ciśnienia z czujnika BMP280.
Zastosowania TXS0108E
- Interfejs mikrokontrolerów 5 V z czujnikami lub modułami 3,3 V.
- Przesuwanie poziomu dla SPI, I2C, UART lub innych protokołów komunikacyjnych.
- Włączanie dwukierunkowej komunikacji między urządzeniami mieszanego napięcia.
Rozwiązywanie problemów
- Brak komunikacji: Sprawdź okablowanie dla VCCA, VCCB i OE. Upewnij się, że używany jest prawidłowy adres I2C.
- Niestabilne dane: Użyj krótkich przewodów i sprawdź stabilne zasilacze.
- Urządzenie nie odpowiada: Upewnij się, że kompatybilność napięcia i podwójne połączenia po obu stronach.
Wniosek
Z powodzeniem użyłeś zmiany zmiany biegów TXS0108E z Arduino, aby umożliwić komunikację między urządzeniami działającymi na różnych poziomach napięcia. Ten wszechstronny moduł jest niezbędny do mostkowania szczelin napięciowych w systemach mieszanego sygnału. Eksperymentuj dalej, łącząc inne urządzenia i badając jego aplikacje w twoich projektach!