PCA9548A I2C Multiplexer
IC PCA9548A adalah sebuah switch I2C 8 saluran yang memungkinkan kita untuk menggunakan banyak perangkat I2C, meskipun menggunakan alamat yang sama. Dalam artikel ini, kita akan belajar cara menggunakan IC PCA9548A 8-Channel I2C Switch yang di kontrol oleh Arduino board serta memberikan contoh kodingannya.
Spesifikasi IC PCA9548A
- Jumlah Saluran: 8 saluran
- Protokol Komunikasi: I2C (Inter-Integrated Circuit)
- Tegangan Kerja: 2.3V hingga 5.5V
- Arus Keluaran Saluran: 10mA
PCA9548A Pinout dan Alamat
Gambar | Penjelasan |
---|---|
SD0, SC0 hingga SD7, SC7 Pin-pin ini adalah saluran data (SD) dan saluran clock (SC) untuk masing-masing saluran 0 hingga 7 pada IC PCA9548A. Pin-pin ini terhubung ke perangkat slave yang ingin Anda kendalikan menggunakan saluran yang sesuai. | VIN Pin ini untuk memberikan tegangan operasional ke IC, biasanya sekitar 2.3V hingga 5.5V. GND Pin ini terhubung ke ground (tanah) dan merupakan referensi tegangan nol untuk IC. SDA SCL Pin-pin ini adalah saluran komunikasi I2C. SDA (Serial Data) sedangkan SCL (Serial Clock). RST (opsional) Pin ini adalah pin reset, yang dapat digunakan untuk mereset atau mengaktifkan kembali IC PCA9548A. A0, A1, A2 Pin-pin berfungsi untuk menentukan alamat IC PCA9548A. Konfigurasi alamat sebagai berikut: |
Rangkaian Dasar
Untuk menggunakan IC PCA9548A dengan Arduino, berikut ini adalah rangkaian yang diperlukan:
Pin IC PCA9548A | Koneksi ke Arduino | Perangkat I2C |
---|---|---|
VCC | 5V | VCC |
GND | GND | GND |
SDA | SDA | – |
SCL | SCL | – |
RST | Pin Reset | – |
A0 | Low | – |
A1 | Low | – |
A2 | Low | – |
SD0 – SD7 | – | SDA |
SC0 – SC7 | – | SCL |
Kode Program
Contoh Penggunaan dengan Arduino Berikut adalah contoh penggunaan IC PCA9548A dengan Arduino untuk mengontrol dua perangkat slave, masing-masing terhubung ke saluran 0 dan saluran 1:
#include <Wire.h>
byte pca9548aAddress = 0x70;
void setup() {
Wire.begin(); // Inisialisasi Wire library
}
void loop() {
// Memilih saluran 0
selectChannel(0);
// Tambahkan kode program untuk mengambil dari atau kirim data ke Perangkat I2C
// yang terhubung ke saluran SDA0 SCL0
// Memilih saluran 1
selectChannel(1);
// Tambahkan kode program untuk mengambil dari atau kirim data ke Perangkat I2C
// yang terhubung ke saluran SDA1 SCL1
selectChannel(2);
selectChannel(3);
selectChannel(4);
selectChannel(5);
selectChannel(6);
selectChannel(7);
}
void selectChannel(byte channel) {
Wire.beginTransmission(pca9548aAddress);
Wire.write(1 << channel);
Wire.endTransmission();
}
Sekarang silahkan uploda kode diatas ke Arduino board anda. Dengan menggunakan IC ini, kitaa dapat mengontrol multiple slave devices dengan menggunakan saluran I2C yang berbeda-beda.
Catatan: Pastikan untuk mengacu pada dokumentasi resmi IC PCA9548A dan Arduino serta melakukan pengujian untuk memastikan kecocokan dengan konfigurasi dan kebutuhan spesifik Anda.