前回に続き、今回はGroveの温湿度センサーを使ってみます。
Grove - Temperature&Humidity Sensor
ライブラリなどを調べるときはDHT11
で調べましょう。
ライブラリ追加
Arduino IDE > スケッチ > ライブラリのインクルード > ライブラリの管理
からライブラリマネージャを開きます。
DHT11
で検索しましょう。
DHT sensor library by Adafruit
をインストールします。
次に https://github.com/adafruit/Adafruit_Sensor から.zipファイルをダウンロードして、Arduino IDEから Arduino IDE > スケッチ > ライブラリのインクルード > .zip形式のライブラリをインストール
を選択します。
温度を計測しつつ、湿度によってLEDを変化させる
見出し通りですが、湿度が60%を超えたら青く、59%以下なら赤くするプログラムです。
#include <Nefry.h>
#include "DHT.h"
#define DHTPIN D4 // what digital pin we're connected to
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Nefry.println("DHTxx test!");
Nefry.setLed(0,0,0);
dht.begin();
}
void loop() {
Nefry.ndelay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Nefry.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Nefry.print("Humidity: ");
Nefry.print(h);
Nefry.print(" %\t");
Nefry.print("Temperature: ");
Nefry.print(t);
Nefry.print(" *C ");
Nefry.print(f);
Nefry.print(" *F\t");
Nefry.print("Heat index: ");
Nefry.print(hic);
Nefry.print(" *C ");
Nefry.print(hif);
Nefry.println(" *F");
//湿度が60%を超えたらLEDが青く光り、59%以下だと赤く光る
if(h > 60){
Nefry.setLed(0,0,200,50);
}else{
Nefry.setLed(200,0,0,50);
}
}