Monthly FB NEWS 月刊FBニュース 月刊FBニュースはアマチュア無線の電子WEBマガジン。ベテランから入門まで、楽しく役立つ情報が満載です。

楽しいエレクトロニクス工作

第89回 温度/湿度計

JA3FMP 櫻井紀佳

こちらの記事を印刷する(PDF 形式)

以前の「第87回 雨量計」で雨量計測の実験をしましたが、雨量以外に温度と湿度も測れたらいいのではないかと思いつきました。インターネットで調べてみると、温度湿度のセンサーは安価で簡単に手に入ることが分かり検討してみることにしました。

そのユニットは秋月電子通商で販売している「SHT31使用 高精度温湿度センサーモジュールキット」で、通販で購入しました。


秋月電子通商の広告より

このモジュールに使っているセンサーはSENSIRION社のSHT31という小さなセンサーで、これで温度も湿度も測れるのが不思議な気がします。詳細は巻末の資料をご覧ください。接続端子は電源とGND、アドレス設定用端子とI2C通信端子2本となっています。

このセンサーICは温度と湿度のセンサー機能だけではなく、そのデータの通信機能も入っています。通信機能はI2C方式でユニットの端子にシリアルクロック(SCL)とシリアルデータ(SDA)として割り振られています。I2C(Inter Integrated Circuit)はフィリップス社が提唱した2本の線でIC等素子間の通信を行うもので大変便利です。

このセンサーユニットと接続するコントローラーは、今回もワンボードコンピューター Raspberry Pi3(ラズパイ)を使うことにしました。センサーユニットとラズパイとの信号のやり取りはラズパイのGPIO端子に接続して行います。GPIOの端子3と5はI2Cのソフトsmbusを働かせると専用端子に変わります。


インターネットにはラズパイを使ったSHT31についての記事が数多く載っており、すごく参考になります。それらの記事を参考にSHT31のセンサーを制御するソフトをラズパイ付属のThonny Python IDEで作ってみました。


ソフトの概略を説明しますと、I2Cのライブラリーsmbusをimportしてアドレス等設定の後、温度、湿度のデータを取り込みます。次のようなデータの中から温度と湿度の部分を取り出して摂氏℃と湿度%に変換して表示するものです。


このソフトを使って動作させたものが次のようになりました。


ラズパイ本体と温度、湿度表示

室内で正常に動作することが確認できたので以前の「第87回 雨量計」で作った雨量計のカバーの中に取り付けたいと思っています。

雨量計の製作時にはCMOS ICを使ったユニットを作ってハード的に計測し表示していましたが、今回の温度、湿度計と同様にソフト的に計測する方法を考えてみます。この雨量計の転倒マスが動いた時に出るリードスイッチからのON-OFF信号を取り出してラズパイのGPIO BCM23番ピンに入力します。そのソフトは次のようになりました。


このソフトを概略説明しますと、必要なライブラリーをimportした後、入力端子の入力方法や端子番号など設定して、時間当たりのカウントか累計のカウントか選択を促します。累計のカウントでは継続したカウントを始めるとリセットするまでカウントを続けます。また、時間当たりのカウントを選ぶと毎正時になるとカウンターにリセットがかかります。ここの説明だけでは分かり難いかもしれませんので「第87回 雨量計」もご覧ください。

このソフトを動かすと次のような結果がでました。


累計表示                 時間当たり表示

雨量計の計量マスが動作する毎に0.5mmずつカウンターが上がっていきます。

雨量計カバーの中に温度湿度センサーを取り付けようとすると、雨量計は当然屋外で、ラズパイは屋内になりますので、長い6芯のケーブルが必要です。雨量計のカバーは雨の収集部を兼ねていますが、下部に隙間を作っているので大雨の時にどうしても雨粒が入り込んできます。温度湿度センサーに水滴が付くと使えなくなってしまいますが、水滴が付かないようセンサーの周りを囲ってしまうと、正確な温度、湿度の計測ができないのではないかと悩んでいます。

これで、雨量に加えて、温度、湿度も同じラズパイの画面で表示できるようになりましたが、温度湿度センサーを雨量計カバーに入れるかどうかと、その取り付け方が課題となっています。



楽しいエレクトロニクス工作 バックナンバー

トップへ戻る

次号は 12月 1日(木) に公開予定

サイトのご利用について

©2024 月刊FBニュース編集部 All Rights Reserved.