Apakah yang dimaksud dengan inter-integrated circuit (iic) ?

Modul I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data.

Apakah yang dimaksud dengan Inter Integrated Circuit IIC?

Antarmuka I2C (Inter-Integrated Circuit) adalah salah satu jenis komunikasi serial yang sering digunakan pada perangkat elektronika, sensor dan mikrokontroler selain dari komunikasi UART dan ISP. Komunikasi ini sangat fleksibel karena bisa digunakan hingga 128 device dalam 1 bus dengan transfer- rate yang cepat.

Apa itu LCD I2C 16×2?

LCD adalah media tampilan yang paling mudah untuk diamati karena menghasilkan tampilan karakter yang baik dan cukup banyak. Pada LCD 16×2 dapat ditampilkan 32 karakter, 16 karakter pada baris atas dan 16 karakter pada baris bawah.

Mengapa serial I2C digunakan saat menghubungkan LCD ke Arduino Uno?

Sehingga, tujuan dari rangkaian ini adalah untuk menghemat pin pada Arduino dan meringkas koneksi sehingga dapat meminimalisir galat dan memudahkan dalam memecahkan masalah ketika terjadi masalah pada tampilan LCD.

Untuk menghidupkan LCD 16×2 dengan I2C menggunakan dua pin yang terhubung ke Arduino sebutkan pin apa saja yang terhubung?

Arduino uno sudah mendukung komunikasi I2C dengan module I2C lcd, kita dapat mengkontrol LCD Karakter 16×2 hanya menggunakan 2 Pin yaitu Analog Input Pin 4(SDA) dan Analog Input Pin 5 (SCL).

LCD 16×2 apa itu?

LCD 16×2 adalah salah satu penampil yang sangat populer digunakan sebagai interface antara mikrokontroler dengan user nya. Dengan penampil LCD 16×2 ini user dapat melihat/memantau keadaan sensor ataupun keadaan jalanya program. Penampil LCD 16×2 ini bisa di hubungkan dengan mikrokontroler apa saja.

Apa itu I2C Arduino?

I2C merupakan sebuah modul komunikasi serial dua arah yang berfungsi untuk mengirim dan menerima data. Keduanya adalah SCL (Serial Clock) dan SDA (Serial Data), kedua pin ini tentu sangat menghemat penggunaan pin pada Arduino jika dibandingkan dengan pemakaian LCD tanpa I2C.

I2C singkatan dari Inter Integrated Circuit, adalah sebuah protokol untuk komunikasi serial antar IC, dan sering disebut juga Two Wire Interface (TWI). Bus yang digunakan untuk komunikasi antara mikrokontroler dan divais periferal seperti memori, sensor temperatur dan I/O expander. Komunikasi dilakukan melalui dua jalur: SDA (serial data) dan SCL (serial clock). Setiap divais I2C memiliki …

Continue reading

Komunikasi I2C (Inter-Integrated Circuit) / Two-wire (TWI)

Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Komunikasi I2C (Inter-Integrated Circuit)

Salam Otomatisasi, Sebelum membahas lebih dalam tentang komunikasi I2C, jangan lupa singgah ke blog saya à http://festyy.com/wNiBaj untuk membaca materi-materi lainnya tentang mikrokontroler dan jangan lupa subscribe serta Like channel youtube saya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk melihat hasil dari percobaan-percobaan dengan mikrokontroler.

Baiklah sekarang kita akan membahas tentang “Komunikasi I2C (Inter-Integrated Circuit) / Two-wire (TWI)”. Pembahasan kali ini kita akan berbagi tentang pengertian apa itu I2C, mekanisme kerja dari I2C, cara mengakses komunikasi I2C Pada Arduino dengan sedikit contoh program untuk mengetahui alamat I2C sebuah modul yang akan dihubungkan ke Arduino.

Bus adalah sistem pengantar yang dilengkapi dengan komponen pengendali untuk melayani pertukaran data antara komponen Hardware satu dengan komponen Hardware lainnya. Pada sistem mikrokontroler terdapat bus Data, bus Alamat, dan beberapa pengantar pengendali. Semakin tinggi frekuensi clock prosesor, maka semakin lebih cermat pengembang untuk memperhatikan Timing dari seluruh komponen yang terlibat, agar tidak terjadi kesalahan dalam transaksi data.

Bus yang cukup sering digunakan adalah bus bersifat paralel. Transaksi data dilakukan secara paralel sehingga transaksi data lebih cepat. Akan tetapi disisi lain sistem ini tergolong Mahal. Jika sistem relatif tidak membutuhkan transaksi yang cepat, maka penggunaan Serial Bus menjadi pilihan. Salah satu pilihan sistem data bus yang sering digunakan adalah I2C (Inter Integrated Circuit). Sistem Bus I2C sendiri pertamakali diperkenalkan oleh Firma Philips pada tahun 1979.

Agar data dapat didistribusikan oleh master dengan tepat ke beberapa slave, menurut konsep I2C, semua jenis IC I2C diproduksi dengan nomor group tersendiri yang diatur oleh Philips, sehingga produsen IC lain yang memproduksi IC I2C harus mendaftarkan produknya ke Philips untuk mendapatkan nomor group.

contohnya,

  • IC serial EEPROM  memiliki no group = 1010 biner,
  • IC Remote 8 bit I/O Expander  memiliki no group =  0111 biner. dll

No group dimasukan ke 4 bit msb untuk  mensetting device adress  dan  3 bit berikutnya  A0, A1 ,A2  kaki  ic yg bersangkutan.  Dengan demikian pada I2C Bus total bisa dipasang paling banyak 8 IC sejenis.

contoh : IC EEPROM 24C02 kaki  A2, A1 dan A0 kita groundkan, maka device address Ic 24C02 tsb adalah 1010 000x  , x = 1 jika operasi baca , x=0 jika operasi tulis.


Komunikasi I2C (Inter-Integrated Circuit) merupakan koneksi dibuat untuk menyediakan komunikasi antara perangkat-perangkat terintegrasi, seperti sensor, RTC, dan juga EEPROM. Komunikasi I2C bersifat synchronous namun berbeda dengan SPI karena I2C menggunakan protocol dan hanya menggunakan dua kabel untuk komunikasi, yaitu Sychronous clock (SCL) dan Sychronous data (SDA). Secara berurutan data dikirim dari master ke slave kemudian (setelah komunikasi master ke slave selesai) dari slave ke master.

Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Gambar 1. Konfigurasi Komunikasi I2C

Sinyal dasar I2C meliputi sinyal STARTSTOP dan ACK sebagai berikut: SCK merupakan sinyal clock untuk ‘mendorong’ data di SDA, dalam keadaan tidak ada transfer data SDA dan SCK harus dalam keadaan ‘1’. Data di SDA boleh berubah hanya pada saat SCK=’0’ seperti digambarkan dalam diagram waktu Gambar 2, isi SDA diambil peralatan I2C pada saat SCL berubah dari ‘1’ menjadi ‘0’. Jika terjadi perubahan SDA pada saat SCL = ‘1’, perubahan itu diartikan sebagai sinyal START atau STOP.

Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Gambar 2. Sinyal SDA & SCL
  • Sinyal START menandakan master akan mulai mengirim data,  sinyal ini terlihat di bagian kiri Gambar 3 berupa perubahan tegangan SDA dari ‘1’ menjadi ‘0’ pada saat SCK=’1’.
  • Sinyal STOP menandakan master akan mengakhiri komunikasi data, sinyal ini terlihat di bagian kanan Gambar 3 berupa perubahan tegangan SDA dari ‘0’ menjadi ‘1’ pada saat SCK=’1’.
Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Gambar 3. Start & Stop Sinyal I2C
  • Sinyal ACK, merupakan sinyal balasan dari slave setelah menerima data 1 byte. Pada kondisi ini, slave “menarik” sda menjadi low selama satu sinyal clock. Sinyal ACK ini dapat dilihat pada Gambar 4, dimana pengiriman sinyal ini menandakan bahwa slave telah menerima 1 byte data.
Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Gambar 4. Transfer Data I2C

Perangkat  I2C  menggunkan  2  buah  pin  open-drain  dua  arah  dengan memberikan pull-up resistor untuk setiap garis bus sehingga berlaku seperti AND menggunakan kabel. AVR dapat menggunakan 120 jenis perangkat untuk berbagi pada bus I2C yang masing-masing disebut sebagai node. Setiap node beroperasi sebagai master atau slave. Master merupakan perankat yang menghasilan clock untuk sistem, menginisiasi, dan juga memutuskan sebuah transmisi. Slave merupakan node yang menerima clock dan dialamatkan oleh master. Baik master dan slave dapat menerima dan mentransmisikan data

Setelah diawal kita membahas lebih dalam tentang komunikasi I2C mulai dari apa itu komunikasi I2C, proses kerjanya dan logika kerjanya. Kali ini untuk lebih membuat semua memahami komunikasi I2C, maka langsung saja kita contohkan dalam implementasi menggunakan sebuah modul PCF8574 yang biasa digabungkan dengan modul LCD 16X2 maupun LCD dengan dimensi lainnya.

Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Gambar 05. Rangkaian LCD I2C dengan NodeMCU


Catatan: Pastikan sambungan modul LCD I2C yang ke NodeMCU benar merupakan Port atau Pin jalur i2c yang disediakan pada NodeMCU.

Listing program ujinya sebagai berikut:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x3F for a 16 chars and 2 line display

LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup() { lcd.begin();}

void loop()

{

  lcd.clear();

  lcd.setCursor(0,0);

  lcd.print("hello, world!");

  delay(1000);

}

Program pengujian diatas menggunakan library khusus untuk dapat menggunakan module LCD, #include <LiquidCrystal_I2C.h> merupakan library dari LCD yang dimana setiap akan menggunakannya library ini harus disertakan. LiquidCrystal_I2C lcd(0x3F, 16, 2); adalah konfigurasi hardware dimana interfacing antara pin NodeMCU dengan pin LCD memiliki alamat 0x3F. Alamat 0x3F merupakan alamat i2c yang digunakan oleh modul yang disambungkan ke LCD seperti pada pembahasan jalur komunikasi i2c. Alamat I2C setiap hardware berbeda-beda, maka lakukan proses scanning terlebih dahulu untuk mengetahui alamat yang digunakan oleh perangkat yang akan kamu gunakan.

Perintah lcd.clear(); ini berfungsi untuk menghapus seluruh tampilan yang ada di LCD. Baris 1 dan baris 2 yang semula terdapat tulisan akan terhapus. Perintah lcd.begin(); tersebut adalah inisialisasi ukuran LCD 16 baris 2 kolom. lcd.print("hello, world!"); menulis ke LCD dengan karakter yang ada dalam tanda kurung(), perhatikan bahwa ada tanda petik dua, berarti tipe datanya string.

lcd.setCursor(0, 0); untuk menempatkan cursor pada kolom 1 baris 1, indeks kolom dan baris dimulai urutan ke nol (0). Program diatas diupload ke NodeMcu ESP8266 dan jika sambungan dari rangkaian LCD 16x2 benar dan alamat i2c sesuai, setelah sistem dinyalakan maka tulisan dari program yang telah dirancang diatas akan tertampil pada LCD sebagaimana pada Gambar 6.
Apakah yang dimaksud dengan inter-integrated circuit (iic) ?
Gambar 6. Hasil Pengujian Tampilan LCD 16x2

Demikian penjabaran singkat tentang “Komunikasi I2C (Inter-Integrated Circuit) / Two-wire (TWI)”. Untuk selanjutnya, buat yang ingin mempelajari Arduino dan lebih mengenal Arduino silakan follow akun sosial media saya di facebook “fungkyking” juga diblog saya di http://festyy.com/wNiBaj dan jangan lupa subscribe channel youtube saya juga di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk penelitian ataupun alat untuk syarat kelulusan.

Demikian pembahasan singkat yang dapat dibahas, mohon maaf jika terdapat kesalahan dalam penulisan yang mana semua ini semata-mata hanya opini pribadi berdasarkan pengalaman. Jika ada kekurangan dan tambahan dari materi pembahasan yang dibahas silahkan dapat teman-teman sertakan pada kolom komentar tambahan materi yang ingin disampaikan, sampaikan pertanyaan dan isi kolom komentar dengan bijak.

Terima Kasih,

Salam Otomatisasi

Afriansyah, S.T.

(Fungky King)

http://fungkynotes.blogspot.co.id

Kata Kunci / Keywords: ATMEGA, Arduino, Arduino IDE, Arduino UNO, Bahasa C, fungkynotes.blogspot.co.id, fungky corporation, fungky king, microcontroller, otomatis, pemprograman, programming, plc, NodeMCU, ESP8266, Internet of Things (IoT), Wi-Fi, PWM, ADC, LED, Blink, I2C (Inter-Integrated Circuit), Two-wire (TWI)

Referensi / Reference: