4と3の両方で動作確認済みですブログ管理者のP.Hです!今回はI2Cの使い方を説明したいと思います。複数デバイスを制御したいときに便利な方式になります。I2Cの配線I2Cを有効にする制御するデバイスのアドレスを確認するI2Cデバイスからデータを読み込むI2Cデバイスからデータを書き込むPythonプログラムでI2C制御I2Cのプルアップ抵抗それでは、I2Cの使い方を紹介していきます。2本のシングルクロック(SCL)とシングルデータ(SDA)ライン配線で通信する方式です。下記のように配線をします。GNDI2Cはマスター/スレーブ運転になります。Piがマスターになります。raspi-configコマンドを実行して、I2C機能を有効にします。その後、リブートします。制御するデバイスのアドレスを確認するI2Cは複数台接続が可能です。そのため、デバイスには識別するためのアドレスがあります。下記のコマンドを実行して、アドレスを調べます。いうことがわかります。I2Cデバイスからデータを読み込むi2cgetコマンドでデータを読み込むことができます。読み込みたいデータのアドレス以下はコマンドの例になります。0x01I2Cデバイスからデータを書き込むi2csetコマンドでデータを書き込むことができます。書き込みたいデータ以下はコマンドの例になります。0xF0PythonプログラムでI2C制御smbusモジュールがインストールされてない場合は、下記コマンドでインストールしてください。smbus下記コードのコメントを見ると理解できると思います。time#SMBusの引数に1を指定する。2本のシングルクロック(SCL)とシングルデータ(SDA)ライン配線で通信する方式です。3は、この2線はともに1.8kΩで3.3Vにプルアップされています。接続する機器にもプルアップ抵抗が付いてる場合は、抵抗値により波形がきれいな方形波にならず、通信エラーになってしまう場合があります。通信エラーになるという現象も起きますので、I2Cを使う場合は、オシロスコープで波形を確認することをおすすめします。注意事項RaspberryPiのプルアップの電圧は3.3Vです。5V機器を接続する場合は、3.3V⇔5V変換をする必要があります。Piの使い方、設定をわかりやすく解説。長年、ソフトウェア開発に携わっています。8はてなブログをはじめよう!raspberrypiさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。