ESP8266 と I2C
ESP8266 における I2C の配線とプログラム方法を示します。 2015.10.24
I2C は、SCL と SDA 信号を使用し、使用する為には、ピン番号を設定する必要があります。
I2C の配線は Liblary の Wire で定義します。
スケッチは、以下。
#include <Wire.h>
void setup(){
Wire.begin(SDA,SCL) ;
}
例:Wire.begin(0,2) ; : GPIO_0 と OLED の SDA を接続。 GPIO_2 と OLED の SCL を接続。
確認方法:
「ESP8266 単体で I2C OLED を動かす」の回路を使用し、全てのピンの組み合わせを確認しました。
例:Wire.begin(0,2) ; Wire.begin(14,0) ;
結果:
左、SDA 端子 0,2,4,4,12,13,14 と 右、SCL端子 0,2,4,4,12,13,14 の組み合わせを全て確認。
全ての端子は Wire.begin(SDA,SCL) の設定で使用可能である事が解かりました。
SCL | ||||||||
SDA | ||||||||
GPIO | 0 | 2 | 4 | 5 | 12 | 13 | 14 | |
0 | – | OK | OK | OK | OK | OK | OK | |
2 | OK | – | OK | OK | OK | OK | OK | |
4 | OK | OK | – | OK | OK | OK | OK | |
5 | OK | OK | OK | – | OK | OK | OK | |
12 | OK | OK | OK | OK | – | OK | OK | |
13 | OK | OK | OK | OK | OK | – | OK | |
14 | OK | OK | OK | OK | OK | OK | – |
メモ:
ESP8266 のマニュアルは、I2C の記載があいまいで分かり難い。
ネットの記事では、動いた、動かない、GPIO_14=SCL固定 である等、多数の記事がある。
その為に、実際に全てのピン動作を確認しました。
今回は、ESP-WROOM-02 で確認しました。
確認するピンの数は多く時間を要しましたが、動く事が確認でき便利になりました。
結果論ですが、ESP-01(GPIO_0,GPIO_2 )でも使用する事が必要ですから、当たりまえといえば当たり前。
ESP-01は、同じ CPU を使用し端子は 8本です。CPUのGPIO端子を引き出せば、使える事になります。
コメントを残す