LoginSignup
2
5

More than 5 years have passed since last update.

NefryでGrove温湿度センサーをAdafruitライブラリから使う

Last updated at Posted at 2017-03-02

概要

NefryでGrouve温湿度センサー(Temperature&Humidity Sensor)を使うときのメモです。

環境

環境構築

Arduino IDEにライブラリを追加

Adafruitのライブラリを利用します。GitHubから次の2つのライブラリをダウンロードし、Arduino IDEに追加します。

コーディング

今回は、スケッチ例の[DHT sensor library]→[DHTtester]を利用します。

まずは元コード(コメントは適宜削除)


#include "DHT.h"
#define DHTPIN 2     // what digital pin we're connected to

//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");

  dht.begin();
}

void loop() {
  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

これをNefry用に書き換えます。

#include <Nefry.h> // Nefryのライブラリをインクルード

#include "DHT.h"
#define DHTPIN D4     // 値をD4に変更(接続するピンに応じて変更)

#define DHTTYPE DHT11   // DHT 11に変更

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  //Serial.begin(9600); 削除
  Nefry.println("DHTxx test!"); // SerialをNefryへ変更
  dht.begin();
}

void loop() {
  Nefry.ndelay(2000); // Serial.delayをNefry.ndelayへ変更

  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!"); // SerialをNefryへ変更
    return;
  }

  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);

  Nefry.print("Humidity: ");    // SerialをNefryへ変更
  Nefry.print(h);               // SerialをNefryへ変更
  Nefry.print(" %\t");          // SerialをNefryへ変更
  Nefry.print("Temperature: "); // SerialをNefryへ変更
  Nefry.print(t);               // SerialをNefryへ変更
  Nefry.print(" *C ");          // SerialをNefryへ変更
  Nefry.print(f);               // SerialをNefryへ変更
  Nefry.print(" *F\t");         // SerialをNefryへ変更
  Nefry.print("Heat index: ");  // SerialをNefryへ変更
  Nefry.print(hic);             // SerialをNefryへ変更
  Nefry.print(" *C ");          // SerialをNefryへ変更
  Nefry.print(hif);             // SerialをNefryへ変更
  Nefry.println(" *F");         // SerialをNefryへ変更
}

実行の様子

接続はこんな感じ(^o^)
DHT11.JPG

Nefryに書き込んだ後にNefry Consoleに接続すると図のように表示されます。

nefry_console.png

留意点

  • Nefryへの接続は、NefryのWi-fiに接続した方がいい。他のアクセスポイント経由だと、タイムアウトする場合が多い。
  • Seed Studioのライブラリ(Seeed-Studio/Grove_Temperature_And_Humidity_Sensor)も試したが、ハードウェアが対応していないとコンパイルエラーに。。。

参考文献

ArduinoでDHT11デジタル温度センサーをAdafruitライブラリから使う
NefryでGrove温湿度センサー(DHT11)を使うメモ

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5