ESP8266はWi-Fiに対応した安価なモジュールです。私はESP-WROOM-02Dというモジュールを使っています。 ESP-WROOM-02DはESP8266の技適取得済みパッケージです。
Arduino Unoでは、wire.begin(SDA, SCL) のように SDA と SCL のピンを任意に変更することはできません。 ピン番号を指定しようとするとコンパイルエラーになります。 Arduino Uno のハードウェア仕様では、I2C通信は専用のピンに固定されています。
SDA (データ線): A4 ピン
SCL (クロック線): A5 ピン
ESP8266では、wire.begin()で初期化するとIO4, IO5にアサインされます。
SDA (データ線): IO4 ピン
SCL (クロック線): IO5 ピン
#include <Wire.h> #define SDA 12 #define SCL 13 setup(){ wire.begin(SDA,SCL); }
上記のようにプログラムするとI2CのピンをIO12, IO13に移動できます。
SDA (データ線): IO12 ピン
SCL (クロック線): IO13 ピン