温度湿度检测1教程温湿度_第1页
温度湿度检测1教程温湿度_第2页
温度湿度检测1教程温湿度_第3页
温度湿度检测1教程温湿度_第4页
温度湿度检测1教程温湿度_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、控制功能实现-温度湿度检测一、用途环境对人有着极其重要的影响,研究表明温、湿度对人思维活动有影响,最适宜的温湿度应是人的精神状态好,思维最敏捷,工作效率高。最宜人的室内温湿度是:1、冬天温度为 18 至 25,湿度为 30%至 80%;2、夏天温度为 23 至 28,湿度为 30%至 60%,在此范围内感到舒适的人占 95%以上。因此本节讨一下如何时时了解你家中的温湿度。就来探二、原理DHT11 采用单总线方式与cpu 进行数据传输,与 DS18B20 相似,对时序的要求比较高,不同之处在于写程序的时候数据必须间隔 1s 以上,不然会失败。传感器通过数字线连接 Arduino。将到的数据通过单

2、总线传递给 arduino,经过处理就可以将数据输出。三、器材介绍本节中实验需要的器材包括:arduino 板、DHT11、1602 显示屏、面包板、杜邦线、电阻。主要来介绍一下DHT11 数字传感器。DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用的数字模块技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、能力强、性价比极高等优点。每个DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式在OTP 内

3、存中,传感器在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达 20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装,连接方便。四、代码首先将各个器材连接起来,其中将 LCD 的 RS, E, D4, D5, D6, D7 依序接到12, 11, 5, 4, 3, 2 引脚上, 将 LCD 的 GND 及 RW 接到 GND,Vdd 接到 +5V,电阻1K 引脚接到 LCD 的 Vo,剩下引脚,一支接到 GND,DHT11 接数字口 8.arduino5v 和GND 分别接到面包板上的

4、+,-两极。源代码如下:#include #include #include dht11 DHT;#define DHT11_PIN 4LiquidCrystal_I2C lcd(0 x20,16,2); /设置 LCD 的地址为 0 x20,每行 16 个字符,共 2 行void setup()lcd.init();lcd.backlight();void loop()chk;Serial.pr(DHT11, t);chk = DHT.read(DHT11_PIN);/ READ DATAswitch (chk)case DHTLIB_OK:Serial.pr(OK,t);break;cas

5、e DHTLIB_ERROR_CHECKSUM:Serial.pr(Checksum error,t);break;case DHTLIB_ERROR_TIMEOUT:Serial.pr(Time out error,t);break;default:Serial.pr(Unknown error,t);break;/ DISPLAT DATAlcd.home();lcd.pr(shidu:);lcd.pr(DHT.humidity); /输出湿度数值lcd.setCursor(0, 1);lcd.pr(wendu:); /输出温度数值lcd.pr(DHT.temperature);delay

6、(1000);五、应用拓展在上面的程序中对 DTH11 一个初步的了解,并尝试使用来检测环境的温湿度,但这显然不是一个完整的智能家居产品,因此有必要行进一步的探究,可以添加一个继电器模块,通过与空调连接,当温湿度超过规定的范围的时候,自动启动空调来调节,在控制家电这块中了这一方法,所以在本节中就不再进行探案。也可以通过与网络连接,可以随时随地了解室况,在下面的例子中就来探讨这个情况。接下来的例子中,温湿度传感器与网络连接起来,将 DHT11 传感器探测的温度与湿度数据传送到网络上可以很方便的通过网络查看当前家里的温度与湿度,使用器材中添加了一个网络模块,这里是W5100。首先将w5100 插到

7、 arduino 板上,然后将 DTH11 接到w5100 的接口上。示例代码如下:#include #include #include dht11 DHT;#define DHT11_PIN 13/设置传感器端口 byte mac = 0 xDE, 0 xAD, 0 xBE, 0 xEF, 0 xFE, 0 xED; /设置 w5100 模块的MAC 地址IPAddress ip(192, 168, 1, 177); /设置 w5100 模块的 IP 地址EthernetServer server(80); void setup() / 打开串口通信 Serial.begin(9600);

8、while (!Serial) ; /等待连接串口,只有 Leonardo 需要/ start the Ethernet connection and the server:Ethernet.begserver.begin();ac, ip);Serial.pr(server is at );Serial.prln(Ethernet.localIP();void loop() /客户端EthernetC nt cnt = server.available(); if (cnt) Serial.prln(new cnt);/ an http request ends wicurrentLineI

9、sBlblline= true;while (cnt.connected() if (cnt.available() char c = cnt.read(); Serial.write(c);/ if youve gotten toof the line (received a newline/ character) and the line is bl/ so you can send a replyif (c = n & currentLineIsBl, the http requess ended,) /发送一个标准的 http 响应头cnt.prccnt.pr responseccnt

10、.prc cln(HTTP/1.1 200 OK);nt.prln(Content-Type: text/html);ln(Connection: close); / the connection will be closed after completion of theln(Refresh: 5); / 每 5 秒自动刷新一次页面nt.prln();nt.pr nt.prln();ln();/ 输出监测到的传感器数据到页面cnt.prc c c cnt.pr(shidu );nt.prnt.pr nt.pr nt.pr(DHT.humidity);( wendu ); (DHT.temperature); ln();cln();break;if (c = n) / youre starting a new linecurrentLineIsBl= true;else if (c != r) / youve gotten a character on the current linecurrentLineIsBl= false;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论