圣源电子制作

标题: Arduino LCD1602 DHT11传感器 温度湿度的显示 [打印本页]

作者: sydz    时间: 2012-4-28 12:05
标题: Arduino LCD1602 DHT11传感器 温度湿度的显示
正如你可能知道,Geeetech位于中国南部城市深圳,。 那里的天气,所有一年之久,几乎是炎热和潮湿的。 越来越来使用它,是不容易的,尤其是当你来到这个国家的北部。  3月在深圳越来越温暖潮湿。 但是经过最近阴雨天,气温又开始下降。 使电动温度计可以测量当前的温度和湿度的液晶读数,用我们的Arduino是一个好主意。

我们需要的是:
  Arduino的乌诺或兼容
  DHT11温湿度传感器模块
  16×2字符液晶显示模块
  10K欧姆电位器
面包板和跳线的捆绑

我们可以建立它一步一步,如果你有DHT11传感器和16个没有使用以往的经验×2液晶显示模块。

(, 下载次数: 90)

首先,我们应采取DHT11温度和湿度传感器,在深入了解。 这种传感器包括湿度测量元件和一个NTC温度测量元件,并连接到一个高性能8位microcontroller.DHT11的电源是3-5.5V DC。

有趣的是在这个模块中使用MCU和DHT11传感器之间的数据传输协议。 所有的传感器读数发送通过一个单线总线,从而降低了成本,并延长距离。 一个沟通的过程关于4ms.Data是由十进制和不可分割的组成部分。 一个完整的数据传输是40位,和传感器发出更高的数据位第一。

数据格式:
  8位积分RH数据+ 8位十进制湿度数据
  + 8位组成T数据+ 8位十进制T数据
  + 8位校验和。

  DH11传感器模块的更多细节,请访问我们的Wiki。

因为阅读DHT11传感器模块的原代码是如此“晦涩”,我们可以导入一个DHT的传感器库,使其工作更明显,更方便用户。 你可以在这里下载的DHT库,然后将其拖动到的阿尔杜伊诺/图书馆/夹DHT的文件夹,然后重新启动IDE.It的很容易连接起来DHT11模块的Arduino,针S是数据输出。

现在加载例子DHT的DHTtester草图。 由于DHT的传感器库不仅DHT11传感器模块,同时也为其他类型的DHT的传感器,如DHT12,DHT22。 因此,该代码需要改变装修传感器模块位,否则,它不能正常工作。

(, 下载次数: 90)

在下面的步骤中,我们需要一个16×2字符液晶显示模块,IC控制器HD44780的或兼容的,这些通常是在零售商店发现的共同。 有许多方法Arduino板,4位,8位并行接口液晶等。 在这里,我们选择了最简单的方法4位并行接口。

(, 下载次数: 89)

液晶显示模块有16个引脚,引脚标签的详细信息,请访问我们的wiki。 针不同类型的标签,可能有一点点的变化,但总的来说,它是几乎相同。 现在,我们可以连接16×2液晶屏使用Arduino板图。

  10k欧姆电位器应连接contrast.Likewise调整显示器PIN3,为方便起见,我们可以使用它应该在的Arduino IDE预装的LiquidCrystal库。 我们可以加载的例子LiquidCrystal-HelloWorld的检查,如果液晶sreeen正常工作。

我们下一步要做的是更容易,只是DHT11传感器模块连接到Arduino的board.Schematic是继。

(, 下载次数: 97)
(, 下载次数: 81)

代码
  1. #include “DHT.h”
  2. #include <LiquidCrystal.h>
  3. #define DHTPIN 8
  4. #define DHTTYPE DHT11
  5. DHT dht(DHTPIN, DHTTYPE);
  6. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  7. void setup() {
  8. Serial.begin(9600);
  9. lcd.begin(16, 2);
  10. dht.begin();
  11. }
  12. void loop() {
  13. float h = dht.readHumidity();
  14. float t = dht.readTemperature();
  15. if (isnan(t) || isnan(h)) {
  16. Serial.println(“Failed to read from DHT”);
  17. }
  18. else {
  19. lcd.setCursor(0,0);
  20. lcd.print(“Temp=”);
  21. lcd.print(t);
  22. lcd.print(” *C”);
  23. lcd.setCursor(0,1);
  24. lcd.print(“Humidity=”);
  25. lcd.print(h);
  26. lcd.print(“% “);
  27. delay(500);
  28. }
  29. }
复制代码

作者: 哈哈    时间: 2012-10-9 20:32
问一下dht库在哪下载   找了半天没找到啊




欢迎光临 圣源电子制作 (https://syyyd.com/) Powered by Discuz! X3.4