TXS0108E เป็นตัวเปลี่ยนระดับแรงดันไฟฟ้าสองทิศทางที่ช่วยให้การสื่อสารที่ปลอดภัยระหว่างอุปกรณ์ที่ทำงานในระดับแรงดันไฟฟ้าที่แตกต่างกันเช่น 3.3V และ 5V มันมักจะใช้ในการเชื่อมต่อไมโครคอนโทรลเลอร์ 5V (เช่น Arduino) กับเซ็นเซอร์ 3.3V หรือโมดูล บทช่วยสอนนี้จะแนะนำคุณผ่านการใช้ TXS0108E กับ Arduino
สิ่งที่คุณต้องการ
- โมดูลตัวเปลี่ยนระดับแรงดันไฟฟ้า TXS0108E
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- อุปกรณ์ 3.3V และ 5V (เช่นเซ็นเซอร์โมดูล)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: ทำความเข้าใจโมดูล TXS0108E
โมดูล TXS0108E มีสองโดเมนพลังงาน:
- VCCA: แหล่งจ่ายไฟสำหรับด้านแรงดันไฟฟ้าต่ำ (1.2V - 3.6V, เช่นอุปกรณ์ 3.3V)
- VCCB: แหล่งจ่ายไฟสำหรับด้านแรงดันไฟฟ้าสูง (1.65V - 5.5V, เช่นอุปกรณ์ 5V)
สามารถจัดการสายข้อมูลได้สูงสุด 8 เส้นสองทิศทางช่วยให้การสื่อสารในทั้งสองทิศทาง
txs0108e pinout
เข็มหมุด | การทำงาน |
---|---|
VCCA | แหล่งจ่ายไฟด้านข้างแรงดันต่ำ |
VCCB | แหล่งจ่ายไฟด้านข้างแรงดันสูง |
gnd | พื้น |
โอ | เปิดใช้งานเอาต์พุต (ใช้งานได้สูง) |
ขวาน | สายข้อมูลด้านแรงดันต่ำ (A1-A8) |
BX | สายข้อมูลด้านแรงดันสูง (B1-B8) |
ขั้นตอนที่ 2: เดินสาย TXS0108E ไปยัง Arduino
ด้านล่างเป็นตัวอย่างของการเชื่อมต่อ TXS0108E กับอุปกรณ์ Arduino และอุปกรณ์ 3.3V I2C (เช่นเซ็นเซอร์ BMP280):
การเชื่อมต่อ
TXS0108E PIN | พิน Arduino | พินอุปกรณ์ 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 |
โอ | 5V | N/A |
บันทึก: ตรวจสอบให้แน่ใจว่าทั้ง VCCA และ VCCB เชื่อมต่อกับอุปกรณ์แรงดันไฟฟ้าที่เกี่ยวข้องและนั้น
OE
เชื่อมโยงกับสูง (5V) เพื่อเปิดใช้งานโมดูล
ขั้นตอนที่ 3: อัปโหลดรหัส Arduino
นี่คือตัวอย่างตัวอย่างในการสื่อสารกับอุปกรณ์ 3.3V I2C (เช่นเซ็นเซอร์ BMP280) ผ่าน TXS0108E:
รหัสตัวอย่าง
#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: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสโดยคลิก อัพโหลด.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - สังเกตการอ่านอุณหภูมิและความดันจากเซ็นเซอร์ BMP280
แอปพลิเคชันของ TXS0108E
- การเชื่อมต่อไมโครคอนโทรลเลอร์ 5V กับเซ็นเซอร์ 3.3V หรือโมดูล
- การเปลี่ยนระดับสำหรับ SPI, I2C, UART หรือโปรโตคอลการสื่อสารอื่น ๆ
- การเปิดใช้งานการสื่อสารแบบสองทิศทางระหว่างอุปกรณ์แรงดันไฟฟ้าผสม
การแก้ไขปัญหา
- ไม่มีการสื่อสาร: ตรวจสอบสายไฟสำหรับ VCCA, VCCB และ OE ตรวจสอบให้แน่ใจว่าใช้ที่อยู่ I2C ที่ถูกต้อง
- ข้อมูลที่ไม่เสถียร: ใช้สายสั้นและตรวจสอบแหล่งจ่ายไฟที่เสถียร
- อุปกรณ์ไม่ตอบสนอง: ตรวจสอบให้แน่ใจว่าเข้ากันได้กับแรงดันไฟฟ้าและการเชื่อมต่อตรวจสอบอีกสองด้าน
บทสรุป
คุณใช้ตัวเปลี่ยนระดับ TXS0108E ได้สำเร็จกับ Arduino เพื่อเปิดใช้งานการสื่อสารระหว่างอุปกรณ์ที่ทำงานในระดับแรงดันไฟฟ้าที่แตกต่างกัน โมดูลอเนกประสงค์นี้เป็นสิ่งจำเป็นสำหรับการเชื่อมช่องว่างแรงดันไฟฟ้าในระบบผสมสัญญาณ ทดลองเพิ่มเติมโดยเชื่อมต่ออุปกรณ์อื่น ๆ และสำรวจแอปพลิเคชันในโครงการของคุณ!