Komunikasi antar-perangkat elektronik memegang peran krusial dalam dunia teknologi modern. Salah satu metode komunikasi yang umum digunakan adalah I2C, singkatan dari Inter-Integrated Circuit. Modul I2C menyediakan cara efisien untuk berkomunikasi antara mikrokontroler, sensor, dan perangkat elektronik lainnya. Artikel ini akan membahas pengertian, prinsip kerja, dan berbagai aplikasi modul I2C dalam dunia teknologi.
Pengertian Modul I2C
Contents
I2C adalah protokol komunikasi serial yang dikembangkan oleh Philips (sekarang NXP Semiconductors) pada tahun 1982. Protokol ini memungkinkan beberapa perangkat terhubung melalui jalur komunikasi yang sama, menggunakan hanya dua kabel, yaitu SDA (Serial Data) dan SCL (Serial Clock). Kedua kabel ini mengizinkan transfer data antar-perangkat secara sinkron.
Modul I2C mendefinisikan dua jenis perangkat dalam jalur komunikasi: master dan slave. Master adalah perangkat yang menginisiasi dan mengontrol jalur komunikasi, sementara slave adalah perangkat yang merespons perintah master.
Prinsip Kerja Modul I2C
Modul I2C beroperasi berdasarkan prinsip transmisi data secara serial, yang berarti data dikirim bit per bit secara berurutan. Komunikasi dimulai dengan sinyal start (start condition) yang dikirim oleh master, diikuti oleh alamat slave dan bit kontrol tulis/baca. Setiap byte data diikuti oleh bit acknowledge yang memungkinkan slave merespons.
Kecepatan transfer data dalam modul I2C dapat diatur sesuai kebutuhan aplikasi. Kecepatan umumnya diukur dalam kilobit per detik (kbps) atau megabit per detik (Mbps), dan biasanya dapat diatur oleh pengguna.
Keunggulan Modul I2C:
- Penghematan Kabel: Hanya membutuhkan dua kabel untuk menghubungkan beberapa perangkat, mengurangi kompleksitas kabel dan penyusunan fisik.
- Alamat Unik: Setiap perangkat slave memiliki alamat unik, memungkinkan banyak perangkat terhubung ke jalur komunikasi yang sama tanpa konflik.
- Protokol Master-Slave: Kemampuan untuk memiliki satu perangkat master yang mengendalikan beberapa perangkat slave menyederhanakan arsitektur komunikasi.
- Kecepatan Transfer yang Dapat Diatur: Fleksibilitas dalam mengatur kecepatan transfer data sesuai kebutuhan aplikasi.
Penggunaan Modul I2C:
- Sensor: Banyak sensor, seperti sensor suhu, tekanan, dan cahaya, menggunakan modul I2C untuk berkomunikasi dengan mikrokontroler atau mikroprosesor.
- EEPROM (Electrically Erasable Programmable Read-Only Memory): Modul I2C sering digunakan untuk menyimpan dan membaca data pada EEPROM.
- Display OLED: Layar OLED kecil sering menggunakan modul I2C untuk mengurangi jumlah pin yang diperlukan untuk mengontrol layar.
- Komunikasi Antar-Mikrokontroler: Menghubungkan beberapa mikrokontroler atau mikroprosesor dalam suatu sistem menggunakan modul I2C untuk pertukaran data.
Pin I2C pada Arduino
Pada papan Arduino, pin yang digunakan untuk I2C biasanya terletak pada pin A4 untuk SDA (Serial Data) dan pin A5 untuk SCL (Serial Clock). Berikut adalah penjelasan lebih rinci tentang pin I2C pada Arduino:
- SDA (Serial Data):
- Deskripsi: SDA adalah jalur komunikasi data pada bus I2C. Ini adalah saluran dua arah di mana data dikirim antara perangkat master dan perangkat slave.
- Penempatan pada Arduino: Pada sebagian besar papan Arduino, pin untuk SDA biasanya terletak di pin A4.
- SCL (Serial Clock):
- Deskripsi: SCL adalah jalur sinyal clock yang digunakan untuk mengatur kecepatan transfer data antar perangkat pada bus I2C.
- Penempatan pada Arduino: Pada sebagian besar papan Arduino, pin untuk SCL biasanya terletak di pin A5.
- VCC dan GND:
- VCC (Voltage Common Collector): Menyediakan daya atau tegangan positif untuk perangkat yang terhubung.
- GND (Ground): Merupakan koneksi ground atau tanah yang bersamaan antara perangkat yang terhubung.
Pin I2C pada NodeMCU
SDA menggunakan pin D2. SCL menggunakan pin D1