04_Temp-Humidity

温度と湿度を測定する

温湿度センサーから温度と湿度を読み取り、シリアルモニターに表示します。

温湿度センサーモジュール
1

準備する

CherryIoTとモジュールを接続する

CherryIoTの指定コネクタに以下のモジュールを接続し、CherryIoTをPCのUSB-A挿入口に接続します。

温湿度センサーモジュール

温湿度センサーモジュール

接続先:A

Arduino IDEに必要なライブラリをインストールする

このサンプルでは、次のライブラリを追加する必要があります。

  • DHT20 by Rob Tillaart

初めて使用する場合のみインストールしてください。

ライブラリをインストールする
2

サンプルコード

GitHubで公開しているサンプルコードです。コードをコピーして Arduino IDEで使用します。

04_Temp-Humidity.ino
GitHubで開く
GitHubからコードを読み込んでいます...
3

プログラムを書き込む

上のサンプルコードをコピーし、Arduino IDEに貼りつけます。

ボードとポートの設定を確認し、左上の 「→(書き込みボタン)」を押してCherryIoTに書き込みます。

初めて書き込む方は「はじめてのCherryIoT」で詳しい手順を確認してください。

4

動作確認

Arduino IDEの画面右上にあるアイコンをクリックすると、 画面下にシリアルモニターが表示されます。

Arduino IDEでシリアルモニターを表示する場所

シリアルモニターに温度と湿度が繰り返し表示されるなら成功です。

5

コードの解説

I2C通信でDHT20から測定値を取得し、温度と湿度をそれぞれ表示します。

04_Temp-Humidity.ino
GitHubで開く
GitHubからコードを読み込んでいます...

#include <DHT20.h>DHT20温湿度センサーを操作するため、DHT20ライブラリを読み込みます。ライブラリとは、センサーを簡単な命令で扱えるようにまとめられたプログラムです。

#include <Wire.h>DHT20とI2C通信を行うため、Wireライブラリを読み込みます。I2Cは、SDAとSCLの2本の信号線でデータをやり取りする通信方式です。

DHT20 DHT;DHT20センサーを操作するため、DHT20型のDHTオブジェクトを作ります。以降はDHTに命令を書くことで、温度や湿度を取得できます。

void setup() {setup関数は電源を入れたときやリセットしたときに1回だけ実行されます。ここでシリアル通信とI2C通信を開始します。

Serial.begin(115200);温湿度センサーで測定した結果をPCへ表示するため、115200bpsでシリアル通信を開始します。

Wire.begin(1, 3);コネクタAのSDAに対応するGPIO1と、SCLに対応するGPIO3を指定してI2C通信を開始します。DHT20から測定値を受け取るために必要です。

void loop() {loop関数は繰り返し実行されます。DHT20から温度と湿度を読み取り、シリアルモニターへ表示します。

DHT.read();DHT20へ測定を指示し、現在の温度と湿度のデータを読み取ります。

float Temperature = DHT.getTemperature();読み取った温度を取得し、小数を扱えるfloat型の変数Temperatureへ保存します。

float Humidity = DHT.getHumidity();読み取った湿度を取得し、float型の変数Humidityへ保存します。

Serial.print(String(Temperature) + "℃");Temperatureを文字列へ変換し、単位の「℃」を付けて表示します。

Serial.print(" / ");温度と湿度を見分けやすくするため、区切りの「 / 」を表示します。

Serial.println(String(Humidity) + "%");Humidityを文字列へ変換し、単位の「%」を付けて表示して改行します。

delay(500);0.5秒待ちます。