このブログへの投稿/アップロードについて(コメントは誰でも、投稿は受講者+スタッフのみ)
コメント/投稿/ラベルについて(基本事項)投稿時間の設定(下書き/予定など)プログラム(ソースコード)を投稿する際の注意点Processingのプログラム(Applet)を表示する方法
ArduinoやProcessingについては「建築発明工作ゼミ2008」の方にまとめてあります。
秋葉原の電子工作マップ、Arduino販売店についてはこちら。 :

2009年7月21日火曜日

温・湿度センサ SHT-71

 SHTシリーズのセンサをArduinoに接続し、温度と湿度を両方計測してみます。


 センサはSHT-71を使いました。SHTシリーズではSHT-11が有名なのですが、小型の基盤にセットしなければ使いづらそうなので、ちょっと値段は高くなりますが4本のピンが並んでいるこちらを使う事にします。センサとしての性能は全く同じですが、SHT-11とはピンの配置が異なるので注意が必要です。
 このセンサの利点はまずその小ささです。センサ部分が4mm×5mmしかありません。あと、Arduinoへの入力はデジタルインピンを使うので貴重なアナログインピンを節約できます。この小ささで正確な温度と湿度が計測できます。


















材料
温湿度センサ SHT-71 データシート
10kΩの炭素皮膜抵抗 2個

参考
Arduino と Ruby で温湿ネットロガー
SHT1X Humidity & Temperature Sensor Code
2線式 温・湿度センサSHT11 アーカイブ
プルアップ、プルダウン



 参考リンク先にも詳しく記述してありますが、このSHTシリーズの温湿度センサを簡単に扱えるようにArduino用のライブラリがあります。ダウンロードしてきたsht11ライブラリを解凍し、フォルダごと
arduino-0016/hardware/libraries/
以下に設置します。



回路図

 まだあまり理解していませんが、VDDからプルアップ抵抗をSCKとDATAに挟まないと正しく計測できません。SHT-11センサは、参考リンク先のエレキジャックさんがとても詳しく書かれているので、大変参考になります。


























 SHT-71センサを電線にハンダ付けし、防水用にエキポシ樹脂で固めます。

















 参考リンク先からコピーしたArduinoのスケッチです。湿度と温度をSerial.print()する時に、センサの値を湿度と温度に変換しています。

#include "sht1x.h"
void setup(){
int timeout = 0;
Serial.begin(19200);
delay(11);
sht1x_init();
if (sht1x_read_humidity() < 0) {
Serial.println("soft reset");
sht1x_reset();
}
}
void loop(){
unsigned int h = sht1x_read_humidity();
unsigned int t = sht1x_read_temp();
while (millis() % 1000);
Serial.print(millis(), DEC);
Serial.print(",");
Serial.print(-4.0 + 0.0405 * h - 2.8e-6 * h * h, DEC);
Serial.print(",");
Serial.println(-40.0 + 0.01 * t, DEC);
}

 スケッチを実行し、Arduino IDE のシリアルモニタで表示させます。左の値が湿度、右が温度になっています。

















植物・農業・エレクトロニクス・音楽...。実験とプロジェクトのblog。
projects : Biotope

0 件のコメント:

コメントを投稿

*