- インストール
- 基本操作
- 電子工作向けプログラミングの基本
- Excel向けプログラミングの基本
- scikit-learnでの機械学習
- matplotlibでのデータの可視化
- Web関連プログラミング
- RPA関連プログラミング
- その他の各種プログラミング
- リファレンス
I2C接続
各種のセンサーなどを、I2Cで接続することは非常に多いです。
電源(VCC/GND)と、データ(SDA)、クロック(SCL)の4本の線を接続するだけで良く、比較的簡単に使えるというメリットがあります。
このページでは、I2C接続の方法を解説します。
I2C接続に使うピン
マイコンによって、I2C接続に使うピン(SDA/SCL)が固定されている場合と、ピンの割り当てを自由に設定できる場合があります。
ピンが固定されているマイコン
以下のマイコンでは、SDA/SCLのピンが固定になります。
| マイコン | SDAのピン | SCLのピン | ピンの位置 |
|---|---|---|---|
| ESP32(無印) | GPIO21 | GPIO22 | こちらの図のGPIO21/22を参照 |
| Raspberry Pi | GPIO2 | GPIO3 | こちらの図のGPIO2/3を参照 |
| Raspberry Pi Pico(Wではないもの) | GP4 | GP5 | こちらの図のGP4/5を参照 |
SDA/SCLのピンが固定のマイコンで、I2C接続のモジュール等を使う場合は、初期化の際にピン番号の指定がないブロックを使います。
例えば、温度/気圧センサーのBMP280の場合、以下のブロックを使います。
![]()
ピンの割り当てを自由に行えるマイコン
以下のマイコンでは、SDA/SCLに割り当てるピンを自由に変えることができます。
- ESP32-S3
- ESP32-C3
- ESP32-C5
- ESP32-C6
- Raspberry Pi Pico W
- Raspberry Pi Pico 2W
これらのマイコンで、I2C接続のモジュール等を使う場合は、初期化の際にピン番号を指定するブロックを使います。
例えば、温度/気圧センサーのBMP280の場合、以下のブロックを使います。