■ デジタル 温度&湿度センサー SHT11・DHT22 を制御する ■
1つのセンサーモジュールで、温度と湿度を測定できる、SHT11 (SENSIRION) と、DHT22 (Aosong Electronics) の2種類のセンサーを、AVRマイコンで制御します。
両センサーは、温度と湿度の計測値をデジタル・データで取得できるので、ノイズの影響を抑え精度の良い測定が可能です。
通信はシリアル・データで行われるので、配線数が少なく、長距離の設置も容易です。
型 名
SHT11
DHT22
(AM2302)
電源電圧
2.4V 〜 5.5V
3.3V 〜 6V
消費電力(電流)
測定中:MAX 1mA
待機中:MAX 1.5μA
測定中:MAX 1.5mA
待機中:MAX 50μA
測定範囲
温度
-40 〜 123.8℃
-40 〜 80℃
湿度
0 〜 100%RH
0 〜 100%RH
精 度
温度
±0.4℃
<±0.5℃
湿度
±3.0%RH
±2%RH
感度と解像度
(分解能)
温度
0.01℃ 12/14bit
0.1℃ 16bit
湿度
0.05%RH 8/12bit
0.1%RH 16bit
再 現 性
温度
±0.1℃
±0.2℃
湿度
±0.1%RH
±1%RH
湿度ヒステリシス
±1%RH
±0.3%RH
長期安定性
温度
<0.04℃ / 年
湿度
<0.5%RH / 年
±0.5%RH / 年
サンプリング周期
1秒以上
2秒以上
接 続
2線式(電源込みで4線)
1線式(電源込みで3線)
・制御のテストは、当ページに掲載の
AVR & BASCOM-AVR トレーニング・ボード
を使用しています。
・もちろん、各種のAVRやポートを選択することも
可能です。
SHT11 (SENSIRION)
・測定範囲: 温度 -40℃〜123.8℃ ±0.4℃ 湿度 0% 〜100% ±3%RH
・解像度は、温度0.01℃、湿度0.05%RHなので、小数点以下2桁まで測定ができ
ます。
・センサーとの通信は2線式で、クロック[CLK]とデータ[DATA]の同期式です。
・I2C規格に似ていますが、通信のフォーマットが違うので、混在はできません。
・サンプリング周期は1秒ですが、温度と湿度を交互に測定しますので、個々の
測定間隔は2秒です。
SHT11 日本語マニュアル
・このセンサーのシリーズには、SHT10、SHT15、SHT71、SHT75がありますが、
精度と形状の違いなので、同じプログラムが使用できます。
●
回 路
・回路図は、SHT11とDHT22の共用です。
・データ/クロック線[DATA/SCK]に接続するポートは、任意に選択できます。
・データ線[DATA]は、必ず4.7K〜10KΩの抵抗器で、電源からプルアップして下さい。
(距離が長い場合は4.7KΩ)
抵抗器の接続は、マイコン側・センサー側のどちらでも可能です。
・センサーとの距離が長くなる場合は、シールド線を使用して下さい。
回 路 図
GIF版
SHT11_DHT22Cir.gif
PDF版
SHT11_DHT22Cir.pdf
注意! この図面を使用した、いかなる損害にも責任を負いません。
●
プログラム
・Timerの1秒割り込みで、1秒毎に温度と湿度を交互に測定し、LCDの1行目に表示します。
(1秒割り込みルーチンに、時計機能を持たせることもできます)
・温度および湿度の測定は、それぞれの測定開始コマンドを送信してから、12bit時で80mS、14bit時で
320mS待つ必要があります。
・測定終了は、データ線[DATA]が[L]になることでも検出できるので、掲載のプログラムでは[L]レベルを
検出してから計測データを読み出して表示します。
・LCDの2行目には、受信した3バイトの16進(HEX)データと、チェックサムの計算結果が表示されます。
・計測処理と表示処理がモジュール化してありますので、用途に合わせて使用して下さい。
・センサーからの測定値は、特定の係数(マニュアル参照)によって補正する必要があり、計算値に
2通りの方法があります。
○ 「V3」−整数のみで計算できるので、プログラム容量が少なくできます。
○ 「V4」−小数点演算が必要になるので、プログラム量、処理時間共に多くなりますが、湿度値の
精度が改善されます。
・エラー表示
・「
Error: no ACK
」 −SHT11が接続されていない、または機能していない。
SHT11の接続を確認して下さい。
・「
Error: CRC error
」 −SHT11との通信にノイズ等の影響があった、またはデータ線[DATA]が
[L]レベル。 ケーブル等のノイズ対策を行って下さい。データ線[DATA]を確認して下さい。
・「
Error: Time out
」 −温度と湿度の変換中に、SHT11との通信が途絶えた。
SHT11の故障やケーブルの接触不良を確認して下さい。
・いずれのエラー状態も、通信が回復した時点で通常の動作に戻ります。
● プログラムの容量節約のため、湿度変換係数に「V3」を使用したバージョン。
プログラム
テキスト形式 ソースファイル
SHT11TestV3_101.TXT
(18.7KB)
BASCOM-AVR用 ソースファイル
SHT11TestV3_101.bas
(18.7KB)
● 湿度変換係数に、精度が最適化された「V4」を使用したバージョン。
プログラム
テキスト形式 ソースファイル
SHT11TestV4_101.TXT
(19.6KB)
BASCOM-AVR用 ソースファイル
SHT11TestV4_101.bas
(19.6KB)
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
(記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)
DHT22 (AM2302) (Aosong Electronics)
・測定範囲: 温度 -40 〜 80℃ ±0.5℃ 湿度 0% 〜100% ±2%RH
・解像度は、温度0.1℃、湿度0.1%RHなので、小数点以下1桁まで測定ができ
ます。
・センサーとの通信は1線式で、データ線[DATA]のみの非同期式です。
・1-Wire規格に似ていますが、通信のフォーマットが違うので、混在はできません。
・仕様上は、センサーとの距離を20mまで伸ばすことができます。
・センサーがケースに内蔵されているので、取扱や設置が簡単です。
・サンプリング周期は2秒で、温度と湿度を同時に測定します。
・DHT22の日本語マニュアルが見つからないので、私的に翻訳してあります。
DHT22 日本語マニュアル
個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、いかなる
損害にも責任を負いません。
●
回 路
・回路図は、SHT11とDHT22の共用です。
・データ線[DATA]に接続するポートは、任意に選択できます。
・データ線[DATA]は、必ず4.7K〜10KΩの抵抗器で、電源からプルアップして下さい。
(距離が長い(20m)場合は4.7KΩ)
抵抗器の接続は、マイコン側・センサー側のどちらでも可能です。
・電源ラインが数十cmより長くなる場合は、VDD-GND間に0.1μFのコンデンサーを入れて下さい。
(センサーの近くへ)
・センサーとの距離が長くなる場合は、シールド線を使用して下さい。
回 路 図
GIF版
SHT11_DHT22Cir.gif
PDF版
SHT11_DHT22Cir.pdf
注意! この図面を使用した、いかなる損害にも責任を負いません。
●
プログラム
・Timerの1秒割り込みで、2秒毎に温度と湿度を同時に測定し、LCDの1行目に表示します。
(1秒割り込みルーチンに、時計機能を持たせることもできます)
・LCDの2行目には、受信した5バイトの16進(HEX)データが表示されます。
・計測処理と表示処理がモジュール化してありますので、用途に合わせて使用して下さい。
(2秒毎にこのルーチンを呼び出すだけで、温度と湿度値が得られます)
・受信したデータは、そのまま温度・湿度値として利用できます。
・マイナス温度値のデータ表現が、通常の16進表記と異なりますので注意して下さい。
・エラー表示
・「
Time out
」 −DHT22が接続されていない、または機能していない。
DHT22の接続を確認して下さい。
・「
CRC error
」 −DHT22との通信にノイズ等の影響があった、またはデータ線[DATA]が[L]レベル。
ケーブル等のノイズ対策を行って下さい。データ線[DATA]を確認して下さい。
・いずれのエラー状態も、通信が回復した時点で通常の動作に戻ります。
プログラム
テキスト形式 ソースファイル
DHT22Test_101.TXT
(13.5KB)
BASCOM-AVR用 ソースファイル
DHT22Test_101.bas
(13.5KB)
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
(記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)
SHT11 と DHT22 の同時比較
●
プログラム
・上記のSHT11とDHT22の制御プログラムを併用し、比較試験を行うプログラムです。
・SHT11は1秒毎、DHT22は2秒毎に通信を行います
・LCDの1行目(上)に、SHT11の温度・湿度値を表示します。 (係数は「V3」)
・LCDの2行目(下)に、DHT22の温度・湿度値を表示します。
・エラー表示は、各センサーの項目と同じです。
プログラム
テキスト形式 ソースファイル
SHT11DHT22V3_101.TXT
(25.8KB)
BASCOM-AVR用 ソースファイル
SHT11DHT22V3_101.bas
(25.8KB)
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
(記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)
電子工作の部屋 Top へ
前のページへ戻る