日々の記録

学習時の備忘録や思いついた事をダラダラ記載

温湿度センサーから絶対湿度(水蒸気量)を計算してみた

前回の記事では、「SHT31-D」という温湿度センサーから、温湿度を取得して「TM1637Displayモジュール」に出力する回路を作成した。 

diary-gdb3288.hatenablog.jp

 

今回は、そのスケッチを少し改良して、絶対湿度(水蒸気量)を表示するようにしてみた。

 

スケッチ

#include <cactus_io_SHT31.h>

cactus_io_SHT31 sht31;

#include <TM1637.h>

#define CLK 10 // 10pinをCLK信号に設定
#define DIO 8 // 8pinをDIO信号に設定

TM1637 disp(CLK, DIO); //set up the 4-Digit Display.

void setup()
{
if (!sht31.begin())
{
Serial.println("Count not find sensor. Check wiring and I2C address");
while (1) delay(1);
}

disp.set(0);
disp.init(D4056A);
}

void loop()
{
float Humidity, Temperature, Pressure, AbsoluteHumidity;

Humidity = sht31.getHumidity();
Temperature = sht31.getTemperature_C();

// 飽和水蒸気圧(hPa)の計算
Pressure = 6.11 * pow(10 ,(7.5 * Temperature / (Temperature + 237.3)));

// 絶対湿度(水蒸気量(g/m3))
AbsoluteHumidity = 217 * Pressure / (Temperature + 273.15) * Humidity / 100;

// 温度(摂氏(°C))
disp.display(Temperature);
delay(3000);

// 相対湿度(RH(%))
disp.display(Humidity);

delay(3000);

// 絶対湿度(水蒸気量(g/m3))
disp.display(AbsoluteHumidity);

delay(3000);
}

 

3秒毎に、温度・相対湿度・絶対湿度が表示される。


温湿度センサー(SHT31-D)とTM1637モジュール (2)

 

除湿機の動作確認や、性能評価等にも使えそうだ。