一部の人にしかありがたくないネタだが、 一部の人にはありがたいと思うので書く。 まぁ、備忘録だ。 先日とある工作をする際にI2Cで外付けのデバイスを動かす必要があった。 めんどくさいのでとりあえずプラットフォームはArduinoを使うことにした。 実際に使ったのは手元にあった『Arduino Uno』 ちなみにI2Cで書き込む時ってデータのやりとりはこんなカンジで、 最初のコントロールバイトは 7bitのアドレス+リードならHigh, ライトならLowだ。 ライトのときは int device_address = 0×12; // I2C通信するデバイス依存の値なのでここではテキトー byte control_byte = (device_address リードのときは int device_address = 0×34; // I2C通信するデバイス依存の値なのでここではテキトー