这边主要是为解说前几篇关於AHT10的程序码,此次主要讲的部分是loop中的程序码,因为透过上次讲解已经知道ESPAsyncWebServer不是透过loop分析数值的了,所以这边会讲解loop的部分。
void loop(){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
// save the last time you updated the AHT values
previousMillis = currentMillis;
// Read temperature as Celsius (the default)
float newT = myAHT10.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
//float newT = AHT.readTemperature(true);
// if temperature read failed, don't change t value
if (isnan(newT)) {
Serial.println("Failed to read from AHT sensor!");
}
else {
t = newT;
Serial.println(t);
}
// Read Humidity
float newH = myAHT10.readHumidity();
// if humidity read failed, don't change h value
if (isnan(newH)) {
Serial.println("Failed to read from AHT sensor!");
}
else {
h = newH;
Serial.println(h);
}
}
}
第137行,AHT10会读取温度(单位预设为摄氏)
第149行,AHT10会读取湿度
第141行,判断newT的值是否为空值(nan)
第151行,判断newH的值是否为空值(nan)
其实这边程序码大多都重复,因为就先读取数值,在判断是否空值(nan),如果是显示错误讯息,如果不是就输出数值,最需要注意的是读取数值的资料型态,一定需要是浮点数(因为读取的温湿度值都有小数点)。
好了,铁人赛30天说长不长说短不短,如果从开头看到这里,那就代表你已经入门这块领域了(师父引进门修行在个人),因为大多数简单的程序码都比我现在贴得可能都还少行,那复杂更困难的都会破百破千甚至更多,那今天讲解稍微少点,因为下一篇会更加精彩,所以就留给明天的精彩表演拉(我是不是超级大划水阿)。
<<: D22-(9/22)-长荣航(2618)-差了一个字,就是涨倍和涨十倍的差别
大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...
参赛动机 笔者正在转职前端工程师的路上,过去一直知道有铁人赛,也有参加的念头,但由於本人的惰性及害怕...
上次文章终於迎来续集 我的第一个RWD网页 这次的网页练习跟上次的网页是同系列的,不过这次可是有记起...
上次开场白说明了NNI最基本的Hyper-parameters(超参)调整,其实只是其中的功能之一。...
昨天介绍完硬碟管理,来实作吧~ TIPS: Array在unRaid指的是资料池,并非POOL(在u...