ADS1015/ADS1115ライブラリを改良してみた。

以前投稿したADS1x15ライブラリを改良してみた。

ADS1015を使ってみた。

Single-shotモードだけだと、I2C-100KHzモードでは3300SPSデータレートを生かしきれないため新たにContinuousモード対応をしてみた。さらにADS1015/ADS1115のソースを完全に分けたので両方同時に使うことが可能。って、そんなことする人いないと思うけど...(-_-;)

アプリからは、Single-shot/Continuousモードを気にすることなく同様な手順で使うことができるようになっている。また、待ち時間がないポーリング方式と変換待ちをする両方のスタイルをサポートしているのでアプリに合わせたスタイルで利用することが可能だ。
例えばリアルタイム処理系ならContinuous+ポーリング方式、省電力系ならSingle-shot+変換待ち方式が適切かもしれない。詳細は下記サンプルスケッチを参考にしてほしい。

ちなみにContinuousモードでは新しいADC設定を書き込んでも次回の変換開始まで反映されないため新しい設定での値を確実に取得するには現在の変換終了を待たなければいけない。変換終了を知る最良の方法はチップのALERT/RDYピンをチェックすることであるが途中でADC設定変更を行うことなどそう頻繁にはないであろうと思われることやGPIOを余計に使いALERT/RDYピンをチェックしたところで節約できる時間は平均的に0.5変換時間程度であることから設定変更時に無条件に1変換時間を待つ仕様としている。

【サンプル・スケッチ】

【ADS1015】

【ADS1115】