DS18B20/AM2301ライブラリ

PIC16F1454用に作成した温度センサー(DS18B20/AM2301)ライブラリをArduinoに移殖してみた。

DS18B20は”OneWire+DallasTemperature”、AM2301は”DHT_sensor_library”などが知られているが仕様的に若干気になることもある。

【DallasTemperature】
1.温度データ型と内部演算にfloat型を使っている。非力なCPUには辛い。
2.デバイスの全機能を実装しただけとも言える。使いやすいとは言えない。
3.単体接続時であってもデバイス・アドレス指定を行なうので遅い。単体接続の場合、デバイス・アドレスをスキップするだけでかなり早く処理(数ミリ秒程度)できるようになるのだが...

【DHT_sensor_library】
1.温度データ型と内部演算にfloat型を使っている。非力なCPUには辛い。
2.デバイスとの通信時、(6-7ミリ秒程度)割り込み禁止にしないと誤動作することがある。

ということで、本ライブラリはfloat型を使わない単体接続仕様となっている。得られる温湿度データは小数点以下が必要なければ右に4ビットシフトするだけで良い。参考まで。

【サンプル・コード】

【ライブラリ】