Aralin 18: I2C Communication Protocol and Compass Module
Ang TWI o Two Wire Interface Communication Protocol ay gumagamit ng dalawang wires upang makipag-usap sa ibang mga aparato. Ito rin ay kilala bilang I2C o Inter Integrated Circuit Communication Protocol na binuo ng Philips Semiconductor noong 1982. Ang I2C bus ay binubuo ng dalawang signal, ito ang SCL o serial clock at SDA o Serial Data line. Ang natatanging address ng bawat I2C slave device ay maaring malaman sa paggamit ng I2C_Scanner.ino sketch mula sa github.

Ang Arduino microcontroller ay tinatawag na master device at kaya nitong sumuporta ng maramihang slave devices. Ang SDA line na galing sa master device ang naghahatid ng komunikasyon sa mga slave devices at ang SCL naman ang nag-aasikaso ng tiyempo ng paghahatid ng mensahe sa bawat natataging address ng slave device. Ang linya ng SCL at SDA ay kinakabitan ng pull-up resistor patugungo ng 5v para sa mas maayos at stable na daloy ng mensahe. Ang pull-up resistor na maaring ikabit ay mula sa pagitan ng 1.5K ohms hanggang 100K ohms.
Compass Module
Madalas gamitin ang compass sa nabigasyon ng mga mobile robots upang malaman ang oryentasyon nito mula sa hilaga o magnetic north. Ang HMC5883L compass module ay gumagamit ng multi-chip magnetic sensors na sumusukat ng pinakamalakas na magnetic force. Ang sensor ng compass ay palaging hahanay sa linya ng magnetic north kahit saan man sa mundo. Ang magnetic north o hilaga ay nakatalaga bilang zero degrees o 360 degrees. Ang ibang direksyon tulad ng silangan ay 90 degrees, timog ay 180 degrees at ang kanluran naman ay 270 degrees.

Kailangang ilayo ang compass sa anumang bagay na gawa sa metal o mga bagay na naglalabas ng electromagnetism tulad ng DC motor dahil ito ay nakakaimpluwensya sa kawastuhan ng pagbasa ng compass. Kailangan din na ang compass ay maayos na nakalatag ng pahalang sa patag na patungan.
Arduino Sketch: HMC5883L Compass Module