PCA9306による電圧レベル変換 [Arduino]
PCA9306を使用して「電圧が異なる機器同士を接続」する方法です。
このような電圧レベルの変換は「ロジックレベル変換」「電圧レベルシフタ」などと呼ばれています。

今回のPCA9306は主にI2C接続用ですがSPI接続などでも動作する場合があります。それ以外のレベル変換はFXMA108を使用してみてください。
使用部品・材料
総額で約420円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
I2Cバス用双方向電圧レベル変換モジュール(PCA9306) | ¥150 | 秋月電子の通販コード(M-05452) |
配線図
Arduino Unoの動作電圧5Vから3.3V機器へアクセスします。

この配線図では「PCA9306」の左は3.3V、右は5Vですが電圧を反対(左5V / 右3.3V)にしても動作可能です。
標準状態で「SCL1、SDA1、SCL2、SDA2」は1kΩの内部プルアップ抵抗になっています。外部プルアップを利用する場合は基盤裏にある「J2からJ5」をオープン(切断された状態)にします。
※内部プルアップ抵抗がないFXMA2102を使用する方法もあります。
スポンサーリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
公開日:2017年06月10日 最終更新日:2017年07月09日
記事NO:02415