書式 | 引数 | 説明 |
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 件のコメント:
コメントを投稿