Setiap device dan komponen I2C mempunyai Alamat/Address mereka sendiri. Terdapat juga device yang boleh ditukar-tukar Alamat/Address I2C mereka, dan terdapat juga device yang mempunyai Alamat I2C yang tetap.
Bagi membolehkan I2C device digunakan bersama Arduino atau Microcontroller (MCU) lain, kita perlu ketahui Alamat I2C mereka yang kebiasaannya berada dalam bentuk HEX 7 bit seperti 0x21, 0X32 dan lain-lain.
Salah satu kaedah mudah untuk mengetahui Alamat I2C sesuatu device adalah dengan masukkan sketch simple berikut dalam Arduino dan Alamat I2C device anda akan dipaparkan dalam Serial Monitor.
SAMBUNGAN I2C PADA ARDUINO
Bagi menggunakan sketch I2C Address Scanner ini, anda perlu sambungakan device I2C anda pada Arduino mengikut sambungan I2C yang normal,
- Voltage Input – 5v
- Ground – Ground
- SDA Device – Pin A4 Uno (SDA pada UNO)
- SCL Device – Pin A5 Uno (SCL pada UNO)
Kaedah sambungan wayar signal dari module ke Arduino adalah,
SDA-SDA dan SCL-SCL. Lihat contoh diagram berikut:

SKETCH : I2C SCANNER
Uploadkan sketch berikut ke dalam Arduino anda.
(Sketch berikut telah dipetik dari https://playground.arduino.cc )
// -------------------------------------- // i2c_scanner // // Version 1 // This program (or code that looks like it) // can be found in many places. // For example on the Arduino.cc forum. // The original author is not know. // Version 2, Juni 2012, Using Arduino 1.0.1 // Adapted to be as simple as possible by Arduino.cc user Krodal // Version 3, Feb 26 2013 // V3 by louarnold // Version 4, March 3, 2013, Using Arduino 1.0.3 // by Arduino.cc user Krodal. // Changes by louarnold removed. // Scanning addresses changed from 0...127 to 1...119, // according to the i2c scanner by Nick Gammon // http://www.gammon.com.au/forum/?id=10896 // Version 5, March 28, 2013 // As version 4, but address scans now to 127. // A sensor seems to use address 120. // Version 6, November 27, 2015. // Added waiting for the Leonardo serial communication. // // // This sketch tests the standard 7-bit addresses // Devices with higher bit address might not be seen properly. // #include <Wire.h> void setup(){ Wire.begin(); Serial.begin(9600); while (!Serial); // Leonardo: wait for serial monitor Serial.println("\nI2C Scanner"); } void loop(){ byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print("Unknown error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); delay(5000); // wait 5 seconds for next scan }
atau anda boleh download sketch ini di URL berikut:
SEMAK ALAMAT I2C DARI SERIAL MONITOR
Setelah berjaya upload sketch, buka Serial Monitor dan tetapkan Baud Rate setting pada 9600.
Serial Monitor anda akan memaparkan address IIC device anda setiap 5 saat!

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: