Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
Wire

このライブラリを使うとI2C/TWIデバイスと通信することができる。R3レイアウト(1.0ピンアウト)のArduinoボードでは、SDA(データライン)とSCL(クロックライン)はAREFピンの近くのピンヘッダにある。Arduino Dueでは、2つのI2C/TWIインターフェイスがあり、SDA1とSCL1がAREFピンの近くにあり、もう一方は20番ピンと21番ピンである。

以下に様々なArduinoボードで、TWIピンがどこにあるかを示す。

ボード I2C/TWIピン
Uno、Ethernet A4(SDA)、A5(SCL)
Mega2560 20(SDA)、21(SCL)
Leonardo 2(SDA)、3(SCL)
Due 20(SDA)、21(SCL)、SDA1、SCL1

Arduino 1.0からは、このライブラリはStreamクラスを継承していて、他のread/writeライブラリとの整合性をとっている。このため、send()とreceive()は、write()とread()に変更された。

Wire
begin() Wireライブラリを初期化し、I2Cバスにマスターあるいはスレーブとして参加する。
requestFrom() マスターがスレーブデバイスにデータを要求するのに使われる。
beginTransmission() 指定したアドレスに対応するI2Cスレーブデバイスへの通信を開始する。
endTransmission() beginTransmission()によって開始したスレーブデバイスへの通信を終了し、write()によってキューイングされたデータを実際に送信する。
write() マスターデバイスからの要求に対応してスレーブデバイスからデータを送信する。もしくは、マスターデバイスからスレーブデバイスにデータを送信する際にデータをキューイングする。
available() read()で取得可能なデータ長を返却する。
read() データを受信する。
onReceive() スレーブデバイスがマスターデバイスから送信されたデータを受信したときに呼び出される関数を登録する。
onRequest() マスターデバイスがスレーブデバイスからのデータを要求したときに呼び出される関数を登録する。

注意

I2Cアドレスには7ビットのものと8ビットのものとがある。7ビットはデバイスを指定し、8ビット目は書き込みか読み出しかを決定する。Wireライブラリは7ビットアドレスだけを利用する。8ビットアドレスを使うデータシートやサンプルコードがある場合は、最下位ビットを落とし(値を1ビット右にシフトする)、アドレスを0から127の間にする必要がある。しかし、0から7のアドレスは予約されているため使われないので、利用できる最初のアドレスは8である。

バージョン

Arduino 1.8.3

オリジナルのページ

https://www.arduino.cc/en/Reference/Wire



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system