概要
M5StickCでENV HAT(DHT12搭載)を使用しようと、ArduinoIDEで公式ドキュメントを参考に基本コードを書こうとしたら、”DHT12' has no member named 'readTemperature' のエラーでつまづいた話。
訂正前コード(公式ドキュメント参考)
envhat.ino
#include <M5StickC.h>
#include <DHT12.h>
#include "Adafruit_Sensor.h"
DHT12 dht12;
float tmp;
float hum;
void setup() {
M5.begin();
}
void loop() {
float tmp = dht12.readTemperature();
float hum = dht12.readHumidity();
M5.Lcd.setCursor(0, 20, 2);
M5.Lcd.printf("Temp: %2.1f Humi: %2.0f%%", tmp, hum);
省略
}
そうすると、>> DHT12' has no member named 'readTemperature' ENVのエラーがかえってきます。
問題点
直接DHT12のライブラリを参照してみると、readTemperatureではなく、getTemperatureになっていました。
訂正後
float tmp = dht12.getTemperature();
float hum = dht12.getHumidity();
M5.Lcd.setCursor(0, 20, 2);
M5.Lcd.printf("Temp: %2.1f Humi: %2.0f%%", tmp, hum);
参考
ENV HAT
https://www.switch-science.com/catalog/list/?keyword=ENV+HAT
Git HUB公式ドキュメント
https://github.com/m5stack/M5StickC/tree/master/examples/Hat/ENV