I2C (Arduino)

(2014.5.9 作成)

(2017.8.27 更新)

Arduino用のI2Cライブラリです。

 Arduinoとしてはwireライブラリという優れたライブラリがあり、多くのサイトで使用法も詳しく説明されているので、そちらが使いやすいと思います。

 しかしこのサイトで紹介するさまざまな部品をSTM32と同じコードで使用出来るようにラッパークラスとして作成しました。

 Wire.hを使用していますので、I2Cの周波数変更は対応していません。周波数変更にはWire.hで使用しているtwi.hの

#define TWI_FREQ 100000L

の値を変更する必要があります。

('17.8更新)Wire.h内にsetClock関数があるのを発見したので、これを利用して周波数変化を行うようにしました。

 

 またバッファサイズに制限があるため32Byte以上を連続して送受信することが出来ません。

('17.8更新)32バイトを超えるデータについては分割して送信するように修正しました。

 

実際のファイルはこちらからダウンロードしていただけます。

関数一覧

コンストラクタ

プロトタイプ

I2C();

戻り値

なし

引数

なし

備考

 

ピン設定

Arduino UNO R3でのピン設定は以下のようになります。

SCL

A5

SDA

A4

※Arduino UNOは5Vで動作していますので、3.3Vで動作する電子部品にはレベル変換が必要です。この部品で動作することは確認しました。

 ライブラリはこちらからダウンロード可能です。