




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要Arduino是比较常用于智能控制的芯片,在智能仪器、工业检测和控制、机电一体等方面应用广泛。使用Arduino可以实现温湿度全程的监测与控制,而且Arduino控制器的使用还具有易于学习掌握,性价比高等优点。基于Arduino的温湿度控制系统采用一个含有已校准数字信号输出的DHT11传感器来收集环境中的温湿度数据。经过Arduino进行数据处理,再将处理的结果通过LCD显示器进行显示。当环境中的参数达到预先设定的临界值时,报警系统中的无源蜂鸣器就会自动鸣响报警。采用Arduino设计的温湿度控制系统,可以精确的反应环境的温度以及湿度的变化情况。完成升温、降温等一列智能控制行为。在一定的温度波动范围内保持恒温状态。将这样智能系统应用到现代温室种植当中,可以为农作物的生长提供较为适宜的生长环境。对于一些特殊的农业生产诸如大棚种植和花卉种植等,必须使用温湿度装置对其进行监控使其保持恒定环境。本系统可以及时、精确的反映和控制环境中的温湿度的变化。关键词: Arduino;DHT11;传感器;液晶显示器;温湿度; 仅供参照!ABSTRACTArduino is relatively commonly used in the control chip, smart instrumentation, industrial inspection control; mechatronics achieved impressive results has been widely applied.also a lot of its strength as the temperature and humidity control system. Able to achieve automatic control of temperature and humidity throughout Arduino, the Arduino is easy to learn and master the high cost-effective.This paper designs a temperature and humidity control system based on Arduino,the system uses a containing composite sensor DHT11 digital temperature and humidity calibration of digital signal output to temperature and humidity data acquisition in the environment. . After Arduino treatment, and the treatment results through the LCD display display. When the parameters in the environment reaches the critical value, the alarm will sound the alarmsystem.Use a Arduino-type micro-controller design temperature and humidity control system for, instant accurate reaction greenhouse temperature and moderate changes. Complete, such as the temperature was cooled to a specific temperature,raised to a specific temperature. Maintain constant temperature and other control in the volatilitytemperature range, humidity control is also true. The application of this system to the greenhouse which is no doubt that provides a more suitable environment for vegetation growth. For greenhouse cultivation and flower garden, flower cultivation, you must install certain environmental temperature and humidity device monitor. This system can be timely, accurate reflection of the indoor temperature and humidity changes, able to meet the requirements of the temperature and humidity control.Keywords: Arduino; DHT11; Sensor; LCD; Temperature and Humidity; 目 录第一章 绪 论11.1 课题背景11.2 研究目的及意义11.2.1 生活环境与温湿度的关系11.2.2 温湿度检测的意义21.3 国内外发展历程和状况3第二章 Arduino理论基础52.1 单片机-Arduino的核心器件52.1.1 单片机的概念52.1.2 单片机的作用52.1.3 Arduino的定义62.1.4 Arduino的优势62.2 Arduino开发工具介绍72.3 Arduino语言82.4 本章总结9第三章 系统整体设计103.1 方案论证103.1.1 系统主要功能103.1.2 系统的工作原理简介103.1.3 总体设计简介113.2 系统硬件设计123.2.1 主控模块123.2.2 数据采集模块143.2.3 数据显示模块163.2.4 报警模块183.2.5 原理总图及器件清单193.3 系统软件设计203.3.1 总体程序流程图203.3.2 液晶显示模块程序203.3.3 传感器模块程序223.4 本章小结24第四章 调试过程和注意问题254.1 程序下载说明254.2 硬件问题及解决 274.3 软件问题及解决27第五章 总结与展望295.1 全文总结295.2 未来展望29致 谢31参考文献32附录一34附录二35第一章 绪 论1.1 课题背景农业科学技术与信息科学互相融合、渗透是现代农业生产的显著特点。各种高新技术不断应用于农业的生产,农业信息化的总趋势就是:计算机技术,信息存储和数据处理技术以及各类软件,网络通信,人工智能与智能控制系统等综合应用于现代智能机械化的农业生产1。很长一段时间,对温室环境的监测一般采用人工方式,这种传统的数据收集的方法浪费人力财力,准确性不是很高,而且容易受其它外部因素影响,很难达到期望的目的。特别是在现代化的蔬菜温室的生产和管理过程中,环境的温度和湿度变化对植物的健康成长有重要影响。如果白天和夜里的温湿度变化很大,则会对植物的正常生长产生重要影响2。国内外温室种植业的实践生产经验表明,提高温室环境的管理水平和自动化控制水平可以有效发挥温室作物生产的高效性,其中对作物生长环境的温湿度的数据采集是温室环境监测的重要组成部分。因此,为了提高农作物产量,我们需要对植物生长环境中的温湿度因素进行必不可少的监测与控制,使其保持在有利于作物生长的合理范围内波动,以提高农作物的产量和质量。随着通信网络技术,传感器数据采集技术及计算机控制技术等现代信息技术的迅猛发展,目前设施农业的一个研究热点就是数据自动采集及智能控制系统的开发3。因此,设计一套能够实时对植物生长环境因素有效监测和控制的智能系统对于提高农作物产量具有十分重要的意义。1.2 研究目的及意义湿温度是工业领域内比较重要的两个监测目标。无论是我们的日常生活环境,还是生产领域都需要对温湿度参数进行控制和监测。对温湿度的测量与控制水平直接影响到人类的所有活动。1.2.1 生活环境与温湿度的关系 随着人类社会对生活环境的质量要求不断提高,特别是温度和湿度的变化所带来的不同负面影响,比如温度变化都直接影响到我们这个社会,而湿度的波动也一样会影响着我们的生活以及其他物种的生存条件。近代随着工业革命而带来的二氧化碳的排放导致全球气候变暖,因此对我们的生活带来了一系列的巨大影响。随着全球气候的变暖,导致南北极的冰山融化,进而导致海平面的上升。因此导致全球有上亿的人口收到海平面上升所带来的威胁,类如海水倒灌,岛屿消失等。温度的上升也影响着全球的气候变化。最近几十年厄尔尼诺现象频繁发生,导致无数人的生活受到影响。温度的变化同时也会影响到环境湿度的变化,因为当温度较高时会加剧地面水汽的蒸发,使湿度上升,例如在南美地区温度较高同时也使湿度较高。但是当温度达到很高时也会是空气急剧干燥,例如在北非地区。在国家安全、环境保护、生产制造、气象预测、科学研究等部门,经常需要对环境温度和湿度数据进行控制和监测。随着科技的不断进步,为了保持一起的精确,现在越来越多的紧密仪器需要在恒定环境下工作,对环境中的温湿度要求越来越高。在食材成品加工、生物制药工程等关于国计民生的工业制造领域对于精确监测温度和湿度变化更是有重大的意义。为了生产出合格的产品,有时我们必须精确的控制和监测环境中的温度和湿度的变化。1.2.2 温湿度检测的意义 无论是在现代化工业生产、现代农业生产,还是在仓库保管、气象卫星等领域,对温度和湿度的测量都是随处都可以看到的。有效合理的调解与控制湿温度参数,不但可以减小资源浪费还更有利保障行业生产的正常发展。在工业生产领域,各种高科技自动化精密设备都需要在特定的环境下工作。电器设备是工业生产领域最常见的也是使用频率最高的设备。电器设计人员在设计电器设备时的必须要考虑到的问题之一就是考虑温度和湿度的波动变化。电器工程师为了设计出合格的设备,在设计的时候必须要考虑设备使用过程中散热通风的问题,使产品能适应特定工作环境中温度和湿度的波动。在众多的工业材料中选取性能优秀的材料并且对设备表面进行特别封装可以大大有效提升设备的运行年限。大型的电器设备如果长期处于大电流、高电压和满负荷运行的状态,将导致造成聚集大量热量而不能及时降低温度,因为电流的热效应造成的危害直接影响设备的绝缘安全保护器件,对设备的正常工作和员工的人身安全产生严重的安全隐患,所以对用电机器的温度和湿度变化进行及时精确的测量与控制是十分必要的4。温湿度对动植的生长都有很大的影响,当温度达到了动植物生长所能承受的最高值或最低值时,这些植物和动物就会慢慢的从地球上消失,或者适应环境而演变成其他的一些物种。所以对特定环境下的温湿度我们必须能准确有效的测量。同时我们也要记录他们的的变化情况和变化规律,只有这样这样我们才有可能对我们当前所生活的环境的变化有个更为直观感性的了解与认识。老式的温度计的原理是利用水银遇热膨胀和遇冷收缩来实现的,尽管物美价廉,但是它的精度很低,而且需要很仔细才能读清测量值。干湿球显示测量法是老式的湿度计普遍采用方法,但它不仅构造复杂而且测量精的确度也不是很高5。但是采用Arduino对温湿度进行测量控制,不但控制简单,操作方便和应用灵活等一系列的优点,而且可以大幅度提升温湿度控制的技术指标。用LCD液晶显示屏来显示温湿度的数值,看起来更加直观。1.3 国内外发展历程和状况目前国外先进大型室内环境监控系统大多是多种因素综合控制系统。这些先进控制系统提供了可以人机交互的操作界面,不仅可以方便操作人员对环境参数进行设定和对参数进行显示,而且还可用计算机对各种环境因子进行的远程监视与控制,涉及到的环境因子如二氧化碳浓度、温湿度变化、光照强度等,包含了农作物在各个生长阶段的生命信息甚至包括开花时间的控制等6。在美国,摩托罗拉集团在80年代初就已经研制出了一套专门用于灌溉的中央计算机控制系统,很快这套系统赢得了美国大部分地区的广泛的认可和应用7。GeenAir集团开发的GHCl00型温室环境控制系统在满足低成本通风控制要求的同时也可对温室进行全方位控制8,用户不仅可以通过显示器来进行实时监控和现场设置,还可进行远程数据记录、监测、控制。荷兰具有世界领先的温控技术水平,在全球市场上,其智能温室成套设施备受各国青睐。追溯到上世纪70年代荷兰就开发出了计算机控制系统CECS,并且集成了一系列的计算机软、硬件,实现了温室内施肥、供水以及环境的自动控制等9。荷兰Priva公司是著名的温室系统设备研发及生产的公司10,他们所研制的温室控制系统不但能够协调控制各种环境因子而且也能对温室过程控制、浇水施肥作业进行智能控制。以色列的温室农业技术的发展也非常迅速,它的温室计算机环境控制系统采用比较先进的温室控制结构和空气温湿度调控技术等,并配备了天窗、幕帘及遮阳网等,可依据光线强度的不同自动调节环境因子。此外,该系统在室内还设置了现代化的滴灌和微喷灌智能控制系统,可以方便快捷地通过现场控制器与监控室内的中央计算机之间的通信对室内进行远程遥控灌溉和施肥,使水肥的利用率达80%到90%11。在英国,温室农业大部分都采用远程计算机来控制二氧化碳、温湿度、营养液供给等12,英国自主研发的远程计算机遥控技术可以监测并遥控50km以外温室内的温湿度等环境状况的变化。在日本,其温室监控技术水平发展也很高,比如四国电力集团发明的“Open PLANET”远程双向监测控制系统13,该系统包括检控专用LAN、服务器、数据的收集、分散控制等,也可对温室的群进行管理。此外,ESE公司研发的控制系统可以对温室内的环境因子如温度、二氧化碳浓度等可进行全面的检测和控制14。但是,我国在温室控制检测技术方面的研究相对较晚。在80年代初期,外国高科技温室技术的蓬勃发张也促使我国的农业科技工作人员逐渐对温度、C02浓度、湿度等单一的环境因子方面展开了丰富的研究15。国内外在信息的传输方式上还是有不小的差距的。对于一般数据的传输(例如温度、烟火警报等)我国现在主要还是在运用走线布线的方式,先进一点的采用功率较大的无线芯片进行星型网络数据的传输,尽管这样节省了对于信号线的布线,但其能量消耗比较大,而且还需要对电源线进行布线16。然而,基于低功耗无线自组网的Zigbee传输模式在美国早已走进了千家万户,为人们的生活生产提供便利。总的来说,我国在温室控制方面的研究和开发与运用主要集中在环境的控制算法、控制系统结构等方面获得数据,但是和国外相比,国内温室自动控制系统在可靠性、经济性、可扩展性、功能等方面还需进一步的改善。鉴于Arduino控制器拥有较为稳定的可靠性、可扩展性,而且在功能和经济性方面远远优于其他控制器,所以本文将采用DHT11数字复合温湿度传感器采集温湿度数据,以Arduino为控制器来控制数据的处理,来设计一个高性价比的基于Arduino的温湿度控制系统。所以,本次毕业设计以DHT11传感器为例,介绍基于Arduino的数字温湿度系统的的设计。第二章 Arduino理论基础本章作为Arduino的理论概述部分,将介绍与Arduino相关的知识原理为后续章节提供基本理论基础。本章文首先将讲述什么是Arduino,关于Arduino的一些基础知识及关于Arduino编写语言C语言的基础知识和开发工具。2.1 单片机-Arduino的核心器件要理解Arduino就先要明白单片机的作用,Arduino控制板是一块基于AVR命令集的电子开发平台。Arduino的主要元器件是一块微型处理器,它是基于Atmega328P-PU芯片的开源开发平台17。2.1.1 单片机的概念计算机一般包括包括以下几个部份:CPU、ROM、RAM、输入/输出设备I/O18。在个人计算机上这些部份被分割成若干块不同的芯片,安装在一个被叫做主板的印刷线路板上。但在单片机平台中,各个部件会被全部一起做到一块集成芯片中,所以就被命名为单片机19,而且有一些单片机中除了上述组成部份外,还集成了其它部份如模/数转换和数/模转换等。2.1.2 单片机的作用其实在我们的实际工作中要根据不同的场合和应用来选择合适的处理器,选择应用处理器的关键是看是否支持设备运行,是否有很高的性价比等。单片机经常用在工业生产的控制智能家居设备中。但是有些场合使用单片机就会使简单的问题复杂化,因为在开发单片机资源的时候需要了解寄存器,指针等资源,对于一般的初学者很难掌握这些资源的使用方法。因此为了找到一个便宜又好用的控制器,2005年Massimo Banzi和David Cuartielles设计一个基于Atmega328P-PU芯片的开源控制平台,被命名为Arduino20。图2-1 Atmega328P-PU单片机Arduino可以使用 Arduino 语言与Processing、Macromedia Flash、Max/MSP和SuperCollider等软件,结合其他常用电子元件,例如传感器或LED发光灯、电动马达或其他电子器件,设计出许多具有艺术创意性的互动作品21。图2-1就是一个Atmega328P-PU单片机。2.1.3 Arduino的定义Arduino是一套能够感应和控制现实物理世界的工具。 它由一个基于单片机并且代码开源的硬件平台,和一套Arduino IDE开发环境组成15。Arduino可以用来开发交互式智能产品,例如它可以读取大量的开关和传感器数据,同时可以控制不同种类的电子元器件等其他各种物理设备。基于Arduino的控制系统既可以独自进行,也可以在运行的同时又和计算机中正在运行的其他程序进行数据通讯。Arduino的编程环境是基于处理多媒体的,编程语言就像在类似的物理平台上连线。2.1.4 Arduino的优势很多的单片机和单片机平台的设计都采用交互式系统。例如:Parallax Basic Stamp,Phidgets,MITs Handyboard等提22。对于这些工具,工程师都不需要去关心那些单片机编程的复杂细节,提供给编写人员的是一套很容易上手的工具包。同样Arduino也很大程度的简化了内部芯片的工作顺序,但Arduino和其它开发平台相比在一些方面更具有优越的特点:跨平台Arduino编程环境可以完美兼容Macintosh OSX,Windows和Linux等应用系统。但很多其它的单片机系统都只能在Windows环境下运行。便宜Arduino控制板价格低廉,既可亲自组装,也可以购买完整的成品。软件开源且可扩展Arduino软件是开源的,专业的程序员可以对其进行扩展。可以通过C+库对Arduino编程语言进行扩展23。简易的编程环境Arduino编程环境和Processing 编程环境很相似,所以我们很容易就可以学会如何熟练使用Arduino开发环境。硬件开源并可扩展Arduino开发板是基于Atmel 公司的ATMEGA8 和ATMEGA168/328 单片机,基于Creative Commons 许可协议24,所以我们能够根据需求设计模块,可以对其扩展或改进。Arduino是基于AVR开发平台的,并且对AVR库进行了二次编译封装,把所有端口都进行了打包,基本不需要寄存器、地址指针等资源。但是Arduino是二次编译封装,所以编写的代码没有直接使用AVR代码编写精练,代码的执行效率与代码容量都没有直接AVR编写的好。2.2 Arduino开发工具介绍一、Arduino开发工具的作用Arduino开发工具(是一个用来编写Arduino程序的软件,将程序编写好检测无误后,通过该软件下载到Arduino开发板中进行烧录。二、获取和安装Arduino开发工具方式1.下载Arduino 开发工具下载地址 :http:/Arduino.cc/en/Main/Software如图2-1所示,在页面上找到以下内容: 图2-1 Arduino IDE下载界面我们既可以下载windows installer 版本,也可以下载windows(ZIP file)版版本,windows(ZIP file)版本的可以在直接解压后就使用。2、Arduino开发工具功能介绍 安装成功后双击Arduino.exe即可打开Arduino,界面如下图2-2所示:图2-2 Arduino IDE开发界面各按钮功能如下: Verify(校验) :在下载代码之前,对编好的代码进行检验。 Stop(停止):可以停止进行的编译操作。 New(新建):可新建一个程序文件。 Open(打开):打开一个已经编写好后缀名为.pde的程序文件。 Save(保存):保存当前的程序文件。 Upload(上传) :在Arduino编程环境里编辑的程序,还不能让Arduino运行出希望的结果,还需要将编写的代码下载到到Arduino控制板中。 Serial Monitor(串口监视窗):可观测开发环境中所使用的串口收发的数据变化情况。2.3 Arduino语言Arduino语言也就是基础的C语言,Arduino语言只不过把AVR单片机相关的一些参数设置都函数化,不需要我们去了解他的底层设计,是他的编写与设计更加简单方便25。常量:LOW | HIGH 表示数字接口的电平高低,LOW 代表低电平(0),HIGH 代表高电平(1)。OUTPUT | INPUT 表示数字IO口的方向,OUTPUT 表示输出,INPUT 表示输入(高阻态)。true | false true 表示真(1),false表示假(0)。程序结构:声明变量及接口名称:void setup() 放在在程序运行起始位置,具有初始化变量,定义管脚模式,调用库函数等一系列功能。void loop() 放在在setup()函数之后,即初始化之后,loop() 让程序循环地被执行。数字 I/O :pinMode(pin, mode) 定义数字IO端口输入输出模式的函数,pin指向为013引脚, mode表示输出方向INPUT或OUTPUT。digitalWrite(pin, value) 定义数字IO端口输出电平的函数,pin指向为013引脚,value表示为电平的高低HIGH或LOW。 int digitalRead(pin, value) 定义数字IO接口输入电平函数,pin指向为013引脚,value表示为电平的高HIGH或LOW。模拟 I/O :int analogRead(pin) 定义模拟IO口读函数,pin指向为05引脚。analogWrite(pin, value) - PWM 数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数,pin指向3, 5, 6, 9, 10, 11引脚,value表示为0255。2.4 本章总结通过本章介绍,我们初步了解了什么是Arduino,以及Arduino在现代社会的电子设计中的优势。了解了Arduino集成环境的使用及其功能的介绍,使我们对于Arduino控制板有了进一步了解,为我们接下来的设计提供了基础知识。下一章我们将进入系统的具体设计。第三章 系统整体设计本章主要介绍的是关于Arduino温湿度控制系统的主要控制模块的设计与分析。本系统软件设计以功能需求为根本目标,利用简单易懂的C语言,采取模块化编程,对包括主控模块、数据处理模块、数据显示模块、报警模块等四个模块进行了详细的设计,结构清晰,通俗易懂。为实现预期目标的系统功能,将分析整个控制系统的硬件物理设计和软件设计等。3.1 方案论证本节通过对基于Arduino的温湿度控制系统的整体方案论证让我们对于设计还系统有一个整体的设计与方法,为后面的具体设计设下铺垫。3.1.1 系统主要功能该系统希望实现的目标功能是:(1) 温湿度数据的实时检测和显示。温湿度传感器DHT11检测到的数值经过LCD1602液晶显示屏实时地进行显示,并且以固定周期检测刷新显示一次。(2) 对历史环境数据进行记录,以便以后任何时间都可以分析处理数据,预测环境变化情况。(3) 当温湿度超出设定阈值时能自动报警。蜂鸣器发出声音报警。3.1.2 系统的工作原理简介一般来说,本次系统设计主要涉及包括温度和湿度的测量、显示以及实现方便控制。硬件方面有四个模块,即Arduino主控模块、传感器模块、LCD1602液晶显示模块以及报警模。主要使用DHT11数字温湿度传感器来进行数据采集工作。当前环境下的温度和湿度数据通过DHT11传感器来检测出,将所测环境数据传送到Arduino主控模块中进行数据分析和处理等工作,并分别存入不同数组中以便显示的时候取用。为了获取稳定的数据,本系统每间固定周期采集一次数据送Arduino控制板中。温湿度检测值通过LCD1602液晶显示模块显示。上边一行英文字母及标题,下边一行显示湿度和温度值。蜂鸣器报警模块实现了检测值超过阈值的时鸣响报警功能。本系统采用的是无源源蜂鸣器,因此只有湿度超出范围蜂鸣器时才进行报警提示。当温度数据出现异常状况时,系统会提醒工作人员需及时调整,及时启动升温器、降温设备以及喷雾器等设备来有效的调节室内环境温湿度。呼吸灯模块可以通过观察LED闪烁频率的快慢来估测环境中湿度的大小及变化,更能直观的反映出空气中湿度的大小,当LED灯闪烁频率较快时,说明此时环境湿度较大,可以连接到加湿器控制加湿器的功率等。3.1.3 总体设计简介1、总体设计框图在保证实现其基本功能的基础上,根据系统功能的具体要求,原则之一要尽可能降低系统软硬件成本。设计的总体方案围绕上述思想,初步确定系统的方案如图3-1所示。图3-1系统总体方案从图中可以看出,系统由Arduino uno主控模块、DHT11数据采集模块、LCD1602液晶显示模块、报警模块,呼吸灯模块等组成。为了简化系统,提高控制精度,外围设备采用并行控制模式。该设计以Arduino uno为控制核心,实现温湿度采集及显示的基本功能。2 、总体设计工作进程 只要弄清两个部分模块的工作原理,既可以很好的完成本次系统设计。一个是DHT11数据采集模块,另一个是LCD1602液晶显示模块。DHT11传感器比较陌生,以前没有接触过,液晶相对而言我们比较了解。因此只要先攻克了液晶显示模块,然后再掌握数据采集部分就可以掌握整个系统的工作原理。整个流程如下图3-2所示:图3-2 整体设计流程图3.2 系统硬件设计本节主要介绍基于Arduino的温湿度控制系统的主控模块的设计。Arduino温湿度控制系统包括Arduino主控板,LCD1602液晶显示模块,温湿度数据采集模块,报警模块等组成。本章将主要介绍系统的硬件设计及功能介绍。3.2.1 主控模块Arduino UNO是作为Arduino平台的参考标准模板,是Arduino USB接口系列的最新版本。UNO的核心控制器件是ATmega328处理芯片,数字输入/输出口共计有14路:6路PWM输出端口,6路模拟输入端口,一路ICSP header,一个16MHz晶体振荡器,一个电源插口,一个USB接口和一个复位按钮26。Arduino Uno有三个版本,最新版本与老版相比有以下新的特点:在AREF处新添加了两个引脚:SCL和SDA,支持I2C接口;增加IOREF和一个预留管脚,控制板能同时兼容5V和3.3V的供应电压。 USB接口芯片由ATmega16U2替代了ATmega8U227 。如图3-3为改进后的Arduino UNO。图3-3 Arduino UNO控制板1 、Arduino uno基本概要l 处理器 ATmega328 l 工作电压 5V l 输入电压(推荐) 7-12V l 输入电压(范围) 6-20V l 数字IO脚直流电流 40 mA l 3.3V脚直流电流 50 mA l 数字IO脚 共计14路 l 模拟输入脚 6路 l Flash Memory 32 KB l SRAM 2 KB l EEPROM 1 KB l 工作时钟频率 16 MHz 2 、数据通信接口及引脚配置说明l 串口:ATmega328处理芯片内置的UART可以通过数字接口0和1与外部硬件完成串口数据通信28。 l TWI接口l SPI 接口图3-4 Arduino原理图Arduino控制板上基本端口如图3-4所示Digital I/O:数字输入/输出013。Analog I/O:模拟输入/输出0-5。支持ICSP下载,同时支持RX/TX。输入电压:5-12V外部电源供电或USB接口供电。输出电压:支持3.3V级5V 电源输出。处理器:使用Atmel Atmega168 328微处理器。AREF: 参考电压的模拟输入。采用analogReference()指令调用。VIN端口:外部电源输入引脚。ICSP:是一种线上即时烧录引脚。3.2.2 数据采集模块1、DHT11产品概述DHT11温湿度传感器是含有已校准数字信号输出的一款温湿度复合传感器。为保证传感器具有卓越的长期稳定性和极高的可靠性,它采用了温湿度传感技术和专门制作的数字集成模块数据采集技术29。图3-5 DHT11传感器实物图DHT11温湿度传感器均在严格的校验实验室中经过精确的湿度检验校准。校准系数结果采用程序数据的形式存放在OTP中,DHT11内部在检测信号的处理过程中要调用这些校准系数30。体积小和功耗低等优点使信号数据传输距离可超过20多米,使它成为各种应用场合的最佳选则甚至环境最为复杂的应用场合。(1)引脚介绍:l Pin1:(VDD),电源引脚,供电电压为35.5V。l Pin2:(DATA),单总线,串行数据通信。l Pin3:(NC),空脚,请悬浮。l Pin4:(VDD),电源负极,接地端。(2)接口说明 :当连接线长度在20米内的时候要使用5000欧的上拉电阻,当距离超过这个距离时则需要根据实际的工作情况来选用适合的电阻器件。图3-6 DHT11典型应用电路(3)数据帧的描述:DATA 通信接口用于 DHT11传感器与控制器之间采用单总线数据格式进行同步和通信,一次通信周期约4毫秒,数据分为两部分:整数和小数,当前小数部分用于扩展,现读出为零.实现顺序如下:一次完整的数据传输为40位,高位先出。数据格式8位湿度整数+8位湿度小数+8位温度整数+8位温度小数如果数据没有发送错误,则所得到的校验和数据等于所得结果的最后8位数,即8位的温度小数部分。(4)电气特性:VDD=5V,T = 25摄氏度,表3-1 DHT11的电气特性参数条件Mintypmax单位供电电压DC355.5V供电电流测量mA平均0.20.81mA待机100120150uA采样周期秒135次注:采样周期间隔不得低于1秒钟。2、DHT11传感器模块电路设计DHT11温度与湿度传感器连接Arduino控制板相对而言还是比较简单的。Arduino控制板的数字I/O接口2的作用是发收串行数据的,即数据口。数字I/O接口2连接传感器的Pin2。由于测量电路长度一般小于20米,所以需要额外增加一个5000欧的上拉电阻,所以在电源与DHT11的第二个脚之间接一个5000欧电阻31。而DHT11的电源端口第一个脚和第四个脚分别接Arduino控制板的电源接口和接地接口。DHT11的第三脚不接任何原件,悬浮放置。DHT11温湿度传感器的原理图如下图3-11所示:图3-11 DHT11电路原理图3.2.3 数据显示模块1、LCD1602液晶显示屏LCD1602液晶是一种可以同时显示32个字符(16列2行)的工业字符型液晶。LCD显示模块在电子表、摄像机、手机及很多日常电子产品中都可以监到,主要作用是显示图形、数字和专用符号等32。在基于微型处理器的电子设备中,LCD1602很多常用的输出方式例如作为显示器、发光器等使用。(一)引脚说明图3-12 LCD1602引脚功能图VSS:电源地。+5:电源正极,一般用+5V的电压。VCVOM:液晶显示对比度调节端,电压范围在05V之间。RS:单片机写入指令或数据接口。R/W:读写控制接口。E:LCD模块使能信号控制接口。DB0DB7:8位数据总线,同时有三态双向的特点。BLA+: LED背光正极端。BLA-: LED背光接地端。(二)显示地址 LCD1602字符液晶显示分上行16字符下行16字符,不同位置字符的显示地址如下表所示:显示字符1234567第一行地址00H01H02H03H04H05H06H第二行地址40H41H42H43H44H45H46H显示字符89101112第一行地址07H08H09H0AHBH第二行地址47H48H49H4AH4BH2、1602液晶显示原理LCD液晶的显示是利用液晶的物理特性原理, 通过电压的变化对其显示区域的对比度进行控制,接通电源就可以正常显示,他不仅可以显示图形而且也可显示不同的符号等。图3-13 1602显示模块原理图液晶显示器适用于大规模集成电路直接驱动、具有厚度薄、易于实现全彩色显示等众多优点,目前已经被广泛应用在工业领域例如数字摄像机、便携式电脑、移动通信工具等33。为了方便调节液晶的显示亮度使液晶显示在最佳的状态,在第三个引脚Vo脚加上一个10000欧的滑动变阻器,通过调节滑动变阻器的电阻阻值不断改变Vo脚的电压值34。3.2.4 报警模块(一) 蜂鸣器介绍1. 蜂鸣器是一种采用直流电压供电的一体化结构的电子讯响设备,被广泛应用于各种常用电子器件中作发声元件。2. 蜂鸣器主要有两个类型:电磁式和压电式。3. 蜂鸣器在电路中用字母“HA”或“H”表示。(二) 蜂鸣器的结构原理1压电式蜂鸣器原件主要包括多谐振荡器、阻抗匹配原件及音箱、外壳等。有些压电式蜂鸣器外壳上还装有发光二极管35。多谐振荡器由主要集成电路组成。当开启后,多谐振荡器就会起振,产生1.52.5kHZ的音频波动信号,阻抗匹配器驱动压电蜂鸣片振动进而发出声音。铌镁酸铅压电陶瓷材料是压电蜂鸣片的主要材料。另外分别在陶瓷片的正反面镀上银电极,然后经过老化和极化处理后,再同不锈钢片粘接在一起36。2磁式蜂鸣器组件主要包括磁铁、电磁线圈、振荡器、振动膜片及外壳等37。(三)有源蜂鸣器和无源蜂鸣器常见的一种小型蜂鸣器因其比较小巧、结构牢靠,而被大量应用在一些需要发声鸣响的电器设备、电子制作设计等电路中。常用蜂鸣器被分为无源蜂鸣器和有源蜂鸣器。有源蜂鸣器接通电源就可连续发出声音;而无源蜂鸣器则必须接在音频输出电路中才能发出声音。图3-14 蜂鸣器原理图本系统在设计时候采用的是无源蜂鸣器,只要给蜂鸣器一定的电流值,蜂鸣器就可以按照给定的一定的频率发声,但是Arduino控制器引脚的电流相对较小,不足以驱动蜂鸣器工作,因此采用了一个NPN的三极管来驱动。3.2.5 原理总图及器件清单经过以上分析,将传感器、无源蜂鸣器和LCD1602等与Arduino相连接,便构成了本系统的电路原理图,如图3-15所示。图3-15 系统总电路图原件列表清单如下表:原件数量Arduino uno扩展版1(块)LCD1602显示屏1(块)DHT11传感器1(个)无源蜂鸣器1(个)LED1(个)电阻2(个)导线若干面包板2(块)扩展版1(块)数据线1(条)3.3 系统软件设计本系统软件设计以功能需求为根本目标,利用简单易懂的C语言,采取模块化编程,结构清晰,通俗易懂。3.3.1 总体程序流程图在对我们所选专题的研究方向有了大致的总体认识后,我们就需要先设计一个整体的程序工作流程图,将整个大系统系统划分为多个不同功能的小模块,然后再逐个对各个功能小模块所需要实现的功能进行分析,最后再把各个功能模块的程序合有效的连接一个整体的程序。程序流程如图3-16所示。图 3-16 主程序流程图3.3.2 液晶显示模块程序LCD1602显示器是一个慢显示元件,在运行任何一条命令以前要保证显示模块的忙标志表示不忙为低电平,如果不是那么这条命令不可用,如果想显示字符或图像则必须先输入字符会图像的地址38。LCD1602显示模块可直接与Arduino控制板接口相连,不需要再加任何额外的驱动程序。软件流程图如图3-17所示及调试结果如图3-18所示:图3-17 1602液晶显示模块程序流程图 图3-18 液晶调试结果显示显示程序如下:int DI = 12;int RW = 11;int DB = 3, 4, 5, 6, 7, 8, 9, 10;/int Enable = 2;void LcdCommandWrite(int value)int i = 0;for (i=DB0; i = 1; digitalWrite(Enable,LOW);delayMicroseconds(1);digitalWrite(Enable,HIGH);delayMicroseconds(1); digitalWrite(Enable,LOW);delayMicroseconds(1);void LcdDataWrite(int value) int i = 0;digitalWrite(DI, HIGH);digitalWrite(RW, LOW);for (i=DB0; i = 1;digitalWrite(Enable,LOW);delayMicroseconds(1);digitalWrite(Enable,HIGH);delayMicroseconds(1);digitalWrite(Enable,LOW);delayMicroseconds(1); void setup (void) int i = 0;for (i=Enable; i = DI; i+) pinMode(i,OUTPUT);delay(100);LcdCommandWrite(0x38); delay(64);LcdCommandWrite(0x38); delay(50); LcdCommandWrite(0x38); delay(20); LcdCommandWrite(0x06); delay(20); LcdCommandWrite(0x0E); delay(20); LcdCommandWrite(0x01); delay(100); LcdCommandWrite(0x80); delay(20); 3.3.3 传感器模块程序伴随着科学与工程技术的逐步发展,DH11传感器渐渐已进入人们的日常生活中,经常使用的许许多多的电子电器设备都对温湿度等环境参数有特别严格要求39。因此,温湿度传感器被不断推广使用在不同的场合。最新的数字传感器标准接口已经不需要外置的模数转换模块了。调试结果如图3-19所示。程序如下:double dewPoint(double celsius, double humidity) double A0= 373.15/(273.15 + celsius); double SUM = -7.90298 * (A0-1); SUM += 5.02808 * log10(A0); SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)-1) ; SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)-1) ; SUM += log10(1013.246); double VP = pow(10, SUM-3) * humidity; double T = log(VP/0.61078); / temp var return (241.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓颉造字教学活动方案
- 仙人指路活动方案
- 代为祭扫活动方案
- 代表视察调研活动方案
- 代销理财活动方案
- 以案释法宣讲活动方案
- 价格打折活动方案
- 任职宣誓活动方案
- 企业九一八活动方案
- 企业元旦春节活动方案
- GB/T 40733-2021焊缝无损检测超声检测自动相控阵超声技术的应用
- GB/T 22875-2008卫生巾高吸收性树脂
- GB/T 20021-2005帆布芯耐热输送带
- GB/T 12830-2008硫化橡胶或热塑性橡胶与刚性板剪切模量和粘合强度的测定四板剪切法
- 《批判性思维》如何掌握批判性思维课件
- 模具保养记录表
- 教练技术LP三阶段教练手册
- 中医院重点专科“康复科”建设计划
- 国家开放大学《人文英语3》章节测试参考答案
- DB65∕T 4330-2021 公路融雪剂使用技术规范
- 无缝钢管常用尺寸规格表20978
评论
0/150
提交评论