16ビットポートエクスパンダー(MCP23017)など、さまざまなプロジェクトで使用したいいくつかの便利なI2Cコンポーネントがあります。
これらをArduinoで動作させるには何をする必要がありますか?Arduinoで動作しますか、それとも特定のボードまたはシールドが必要ですか?
16ビットポートエクスパンダー(MCP23017)など、さまざまなプロジェクトで使用したいいくつかの便利なI2Cコンポーネントがあります。
これらをArduinoで動作させるには何をする必要がありますか?Arduinoで動作しますか、それとも特定のボードまたはシールドが必要ですか?
回答:
Arduinoには、I2Cと通信するWire Libraryがあります。
このライブラリを使用すると、I2C / TWIデバイスと通信できます。R3レイアウト(1.0ピン配置)のArduinoボードでは、SDA(データライン)とSCL(クロックライン)はAREFピンに近いピンヘッダーにあります。Arduino Dueには、2つのI2C / TWIインターフェイスがあります。SDA1とSCL1はAREFピンの近くにあり、追加の1つはピン20と21にあります。
ボードI2C / TWIピン
あなたは、見てとることができ、この例を。
@TheDoctorが言ったように:
I2Cデータラインには両方とも3.3Vの抵抗が必要です。これにより、無効になっている場合にドリフトが発生しなくなります。アンディ抵抗値は機能するはずですが、10kオームと47kオームの間の値を使用することをお勧めします。
追加のシールドは必要ありません。
デバイスをSDAとSCLに接続するために必要なのは、Wireライブラリと2本のワイヤだけです。