I2C – Inter Integrated Circuit

I2C bermakna Inter-Intergrated Circuit, satu protokol yang digunakan untuk Komunikasi Serial antara dua IC Chip.

serial-data
Pelbagai data dari input-input digital yang lain, ditransformasi kepada bentuk Serial.

Kebanyakan circuit IC  menggunakan komunikasi I2C untuk mengurangkan penggunaan wire-signal. Dengan I2C, pelbagai data binary dan juga data yang kompleks dapat dihantar melalui 2 wayar sahaja.

dsc01259
Lihat bagaimana sambungan wire untuk 8 LCD screen kepada 1 unit Microcontroller dengan menggunakan 4 wire sahaja (2 untuk data) Sumber: http://www.jechavarria.com

Antara beberapa module compatible dengan Arduino yang menggunakan komunikasi IIC adalah seperti :

Perlu diketahui juga, IIC merupakan sejenis Synchronous Communication. Ia berbeza dengan Asynchronous seperti UART, kerana UART tidak mempunyai nadi-Clock.

Komunikasi yang mempunyai nadi-Clock, komunikasinya adalah lebih cepat dan lebih banyak data dapat dihantar kerana setiap bit dihantar bersama satu denyutan clock. Clock untuk Protokol IIC adalahdalam lingkungan 100kHz sehingga 400kHz.

Dalam IIC, pin Clock adalah pin SCL dan pin Data adalah pin SDA. Master akan mengawal denyutan frequency clock dan setiap Slave device akan berdenyut pada nadi-Clock yang sama. Lihat contoh struktur penghantaran data IIC seperti rajah berikut:

image018
Sumber: http://www.ijme.us

SAMBUNGAN SIGNAL & Wiring

Mana-mana module yang menggunakan komunikasi IIC memerlukan 2 sambungan signal ke Arduino:

  1. SCL – Signal Clock
  2. SDA – Signal Data

Voltage input 5V dan juga Ground memang menjadi keperluan setiap module dan komponen. Di bawah adalah contoh satu network IIC, yang menggabungkan pelbagai device dalam satu masa yang sama.

i2c-diagram
Source: http://www.prometec.net

IIC Address/Alamat

Dalam satu network IIC seperti gambar di atas, Arduino atau Master mengenal pasti setiap device melalui Address atau Alamat-nya. Setiap device IIC (slave) pasti mempunyai Alamat-nya yang telah ditetapkan dalam IC chip dalam bentuk binary. Dalam Arduino, Address ini akan dipanggil dalam bentuk HEX seperti contoh, 0x27.

introduction-to-i2c-data-transmission-diagram-address-frame-2
Source: http://www.CircuitBasics.com

Address atau Alamat IIC device, kebiasaannya di berikan dalam Data-Sheet device tersebut.

Namun, terdapat sketch-Arduino mudah yang boleh SCAN address mana-mana device IIC. Sketch ini sangat mudah dan sangat berguna untuk memastikan Alamat IIC device adalah betul.

Projek/Sketch untuk IIC Scanner adalah dalam link di bawah:

MENUKAR ADDRESS/ALAMAT IIC

Terdapat juga sesetengah device IIC, yang dapat ditukar Alamat/Address-nya jika anda dapat menjumpai Soldering-Jumper seperti rajah berikut:

led_matrix_7segjumper.jpg
Source: http://www.Adafruit.com

Dengan Soldering-Jumper seperti ini, device IIC ini boleh mempunyai 8 kombinasi Alamat/Address IIC.

Namun, device yang tidak mempunyai Soldering-Jumper seperti di atas, hanya mempunyai SATU Alamat/Address sahaja.

Pin IIC Pada Arduino UNO

Pada Arduino UNO, pin SDA dan SCL adalah pada pin Analog A4 dan A5. Ini bermakna, apabila menggunakan IIC dengan Arduino, 2 Analog input tidak dapat digunakan. Lihat rajah berikut untuk melihat pin SDA dan SCL pada Arduino UNO:

ArduinoUno_R3_Pinouts

Kaedah sambungan wayar signal dari module device  ke Arduino adalah,
SDA-SDA dan SCL-SCL.

Lihat contoh diagram berikut:

vqgZr
Ini adalah sambungan pada I2C display LCD 16×02

Contoh-contoh Sketch IIC untuk Module/Device:

Jika anda sudah mempunyai module atau device IIC, anda mungkin dapat menguji device tersebut melalui panduan module-module berikut:

  • Module LCD Display 16×2 – Test Hello World!

Jika anda dapati artikel-artikel kami membantu project anda, sharekan artikel-artikel kami pada rakan-rakan anda, agar kami lebih bermotivasi untuk menulis lebih banyak artikel lagi.

Juga, anda boleh ke Online-Webstore kami di URL berikut untuk mendapatkan keperluan-keperluan projek Arduino dan DIY anda:

Published by Mat Gyver

Peneraju Komuniti Digital Maker Malaysia. Pembangunan Komuniti diUtamakan.

Tinggalkan Jawapan

Masukkan butiran anda dibawah atau klik ikon untuk log masuk akaun:

WordPress.com Logo

Anda sedang menulis komen melalui akaun WordPress.com anda. Log Out /  Tukar )

Twitter picture

Anda sedang menulis komen melalui akaun Twitter anda. Log Out /  Tukar )

Facebook photo

Anda sedang menulis komen melalui akaun Facebook anda. Log Out /  Tukar )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: