| 書式 | 引数 | 説明 |
| int SimpleDHT11::read(int pin, byte* ptemperature, byte* phumidity, byte pdata[40]) |
int pin:ピンNO byte* ptemperature:温度 byte* phumidity:湿度 byte pdata[40]:取得データ |
温度・湿度・データを取得する |
/*************************************************
* 【 Elegoo:12 】DHT11 温度・湿度センサー
* 温度・湿度をシリアルモニタに表示する
*************************************************/
/*--------------------------------------------*/
/* SimpleDHT11ライブラリ */
/*--------------------------------------------*/
#include <simpledht.h>
// SimpleDHT11オブジェクトを作成
SimpleDHT11 objDHT11;
// ピン
#define PIN_DHT11 2
/********/
/* loop */
/********/
void loop() {
Serial.println("=================================");
Serial.println("DHT11 サンプリング中...");
byte byteTemperature = 0; //温度
byte byteHumidity = 0; //湿度
byte byteData[40] = {0}; //取得データ
// --------------------------------------------------
// DTH11から温度・湿度・データを取得する
// --------------------------------------------------
if (objDHT11.read(PIN_DHT11, &byteTemperature, &byteHumidity, byteData)) {
// 取得 失敗
Serial.print("Read DHT11 failed");
return;
}
// --------------------------------------------------
// 取得した温度・湿度・データをシリアルモニタに表示する
// --------------------------------------------------
Serial.print("Read DHT11 OK : ");
// --------------------------------------------------
// 温度
Serial.print((int)byteTemperature); Serial.print(" *C, ");
// --------------------------------------------------
// 湿度
Serial.print((int)byteHumidity); Serial.println(" %");
// --------------------------------------------------
// データ
// [湿度(整数)8Bit][湿度(小数)8Bit][温度(整数)8Bit][温度(小数)8Bit][チェックサム8bit]
// チェックサム=温度・湿度のByteDataを足した下位8Bit
Serial.print("RAW Bits: ");
for (int i = 0; i < 40; i++) {
Serial.print((int)byteData[i]);
if (i > 0 && ((i + 1) % 4) == 0) {
Serial.print(' ');
}
}
Serial.println("");
// サンプリング:2秒以上
delay(2000);
}
/*********/
/* setup */
/*********/
void setup() {
// シリアルモニタ開始
Serial.begin(9600);
}


0 件のコメント:
コメントを投稿