在我们的上一篇文章中,我们学习了如何使用Arduino接口温度湿度传感器,并在Arduino IDE的串行监视器上读出。在此帖子中,我们将学习如何在使用Arduino的建议数字温度/湿度计上显示16x2 LCD显示器的读数。
介绍
该项目可以用作室温计以及湿度计,因为这两个功能都集成到一个传感器中。
如果你还没有读过前一篇文章,请查看一下。它覆盖了DHTXX系列传感器的基础知识。
现在,您了解了关于DHTXX传感器的一点。最好使用DHT22传感器进行长期使用的项目。
原型图像:
该设计:
LCD和arduino之间的连接是标准的,你可以在其他地方找到类似的连接基于LCD的项目。
该程序是以这样的方式编写的,您只需要将DHT11插入Arduino上的右端口。这将减少原型在原型设计过程中的电线拥塞。
如果要在某些区域周围感测环境温度/电路,则可能在传感器中的电线。因此,您的整个设置可以在垃圾箱内进行,传感器延伸出垃圾箱,如探头。
您可以使用您最喜欢的Arduino Board为此项目,但我的建议是使用更便宜且尺寸小的“Arduino Pro Mini”,这可以很容易地适合这类简单项目的小型垃圾箱。
DHT库中编写了许多错误检测机制来通知用户错误。但为了使程序简单,我只添加了一个错误检测机制,如下图所示:
主要是由于传感器和arduino之间的错误连接,因此在arduino和传感器之间传输了微小的数据。这并不意味着不会发生其他类型的错误。
要了解与该传感器相关的各种错误,请查看“DHTlib”中的示例代码。
以上程序代码说明了利用Arduino实现的数字温湿度计:
计划代码
//------------------ 项目由R.Girish -----------------//
# include < LiquidCrystal.h >
# include < dht.h >
DHT DHT;
液晶LCD(12,11,5,4,3,2);
#define dhtxxpin a1
int p = A0;
int n = A2;
int ack;
int f;
无效的设置()
{
LCD.BEGIN(16,2);
PinMode(P,输出);
pinMode (n、输出);
}
void循环()
{
DigitalWrite(p,1);
DigitalWrite(n,0);
ACK = 0;
int chk = dht.read11(dhtxxpin);
开关(CHK)
{
案例dhtlib_error_connect:
ACK = 1;
休息;
}
if(ack == 0)
{
f = dht.temperature * 1.8 + 32;
lcd.clear ();
lcd.setCursor(0,0);
lcd.print(“Temp:”);
lcd.print(dht.temperature);
lcd.print (C / ");
lcd.print(f);
lcd.print(“F”);
lcd.setCursor(0,1);
lcd.print(“湿度:”);
lcd.print (DHT.humidity);
lcd.print(“%”);
延迟(500);
}
if(ack == 1)
{
lcd.clear ();
lcd.setCursor(0,0);
lcd.print(“没有数据,请”);
lcd.setCursor(0,1);
lcd.print(“检查连接”);
延迟(500);
}
}
//------------------ 项目由R.Girish -----------------//
注意:该程序仅使用DHT11传感器兼容
您的评论太有价值!但请看看它们与上述文章有关,并没有偏离主题!