the invention of t88

工作、資格取得、データ分析のことなど

ラズパイで温湿度測定

だいぶ間が空いてしまいましたが、
少しずつ水耕栽培器の立ち上げを進めて行きたいと思います。

今日は、温湿度センサの立ち上げを行います。

室内環境の植物への影響を検討する際に使用予定です。
いつかは、温湿度をトリガとして空調を操作するなどの
応用も行ってみたいと思っています。

温湿度センサ DHT22

DHT11という廉価版もあるようですが、
こちらのほうが精度が高いようなので、こちらにしました。
どちらにせよ、大した額ではないです。

あと、本体のみで4端子のものと、
プルアップ抵抗などが載った基板に実装されている3端子のものが、
巷に出回っているようです。

今回は後者を購入。
前者の場合、端子間に抵抗を噛ませる必要あり。

ラズパイに接続

f:id:take213uv:20180930015007j:plain
無駄にブレッドボードを使う。ジャンパー線の色が適当...

3.3V電源とGPIOポートにつなぎます。

センサ端子(左) ー ラズパイ端子1(3.3V)
センサ端子(中) ー ラズパイ端子15(GPIO22)
センサ端子(右) ー ラズパイ端子6(GND)

ラズパイでデータ取得

DHT制御用のライブラリを入手します。

$ sudo git clone https://github.com/adafruit/Adafruit_Python_DHT.git  
$ cd Adafruit_Python_DHT  
$ sudo python setup.py install  


データ取得用のpythonコードを作成。

# coding: UTF-8
import Adafruit_DHT as DHT
from decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN

# センサー種類
SENSOR_TYPE = DHT.DHT22

# GPIOポート
DHT_GPIO = 22

# 測定
h,t = DHT.read_retry(SENSOR_TYPE, DHT_GPIO)

# 四捨五入
h = Decimal(h).quantize(Decimal('0.1'), rounding=ROUND_HALF_UP)
t = Decimal(t).quantize(Decimal('0.1'), rounding=ROUND_HALF_UP)

## 結果表示
print ('温度:' + str(t) + '℃')
print ('湿度:' + str(h) + '%')

結果

f:id:take213uv:20180930022432p:plain

f:id:take213uv:20180930015011j:plain

まあ、妥当なところでしょうか。

今後

残ったCO2センサで一旦、センサ取り付けは終了。
そのあとは、データ蓄積の仕組み構築に移りたいです。

参考

コードなど、ほぼそのまま使わせていただきました。 qiita.com


前の記事:植物観察用のカメラモジュール

水耕栽培器IoT化 目次