《【《基于单片机的智能温控风扇的设计》6800字(论文)】.docx》由会员分享,可在线阅读,更多相关《【《基于单片机的智能温控风扇的设计》6800字(论文)】.docx(26页珍藏版)》请在优知文库上搜索。
1、基于单片机的智能温控风扇的设计摘要:现如今智能家居产业的发展一日千里,给使用者带来非常舒适的体验。为了使风扇更加智能与实用,本设计对风扇控制器部分进行重新设计,实现风扇转速随温度变化自动调节,从而提高用户使用风扇时的舒适性。目前在网上查阅相关设计,大多为使用单片机来自动控制风扇转速,而无法使用手机APP来控制,这就造成无法让风扇随用户主观意愿来调节。本设计增加手机APP中的手动模式,使用此模式时风扇不再受传感器控制而是由用户控制。本设计将先进行框架思路设计,之后部署好开发环境,再选择易用的元器件,逐个编写模块代码,如温度获取模块,液晶显示模块等,同时对不合适的元器件进行优缺点比较并确定是否更换
2、,最后将各个分立模块整合。预期效果为手机APP中可以看到两种模式并进行选择:使用自动模式时,单片机根据温度变化自动控制风扇;当使用手动模式时,则单片机受用户手机APP控制再而控制风扇转速。关键词:89C52单片机;自动调温;风扇;蓝牙目录1 .引言11.1. 研究背景11.2. 方案流程图12 .开发工具(软件)简介22.1. KeilVision522.2. AndroidStudio23 .硬件介绍43.1. STC89C52RC单片机43.1.1. STC89C52RCMCU介绍43.1.2. 使用方法43.2. DS18B20温度传感器43.2.1. DS18B20温度传感器介绍43.
3、2.2. 使用方法53.3. 1.CD1602液晶显示模块73.3.1. 1.CD1602液晶显示模块介绍73.3.2. 使用方法83.4. HC-06蓝牙模块93.4.1. HC-06蓝牙模块介绍93.4.2. 使用方法93.5. 色环电阻93.5.1. 色环电阻介绍及分辨方法94 .电路设计原理114.1. 总体概括114.2. 单片机最小系统1343风扇电路134.4. 其他电路145 .APP与蓝牙通讯155.1. APP调试工具155.2. 权限155.3. 布局155.3.1. 主页面155.3.2. 设备列表页面165.4. 蓝牙模块使用方法166 .调试197 .总结20参考文
4、献21附录单片机主程序221.引言1.1. 研究背景随着移动通信技术的发展,设备与设备之间的传输时延越来越低、丢包率越来越小。并且随着国家对通信基站建设任务的进一步加强,以及家用无线路由器的普及,通信设备变得更容易接入互联网。这就使智能家居产品越来越普及、实惠,并且这些产品极大的提高了用户的生活质量。用户可以在灯、空调、热水器、窗帘等家电上加入传感器以及自动控制芯片,使它们根据环境的变化完成不同的操作,解放双手。作为家居产品,不可能使用PC或者手机那样体积大且价格较高的CPU,本设计主控制器用的是MCS51单片机,这种超小型化的单片机,具有体积小、价格低和RAM、RoM、I/O接口等资源齐全的
5、显著优点;使用DS18B20芯片作为温度获取传感器。当用户不想动手或者由于其他原因腾不出手去控制设备时,让风扇根据温度自动调节转速,这是手动模式;而当用户对当前自动风速不满意时,可以通过APP来控制,这是手动模式。手机与单片机间通信有两种常见的方式:蓝牙(如HC-05芯片)和WIFK如ESP8266芯片)。对于使用ESP8266,可以在局域网内通讯或者非同一局域网通讯,但缺点是在与单片机连接时,会切断正常使用的WIFI,影响正在使用的APP尤其是即时通讯类APP的信息接收与发送,蓝牙芯片及蓝牙功能存在于手机并且多数情况下处在闲置的状态,又因为蓝牙芯片价格低廉,本设计使用了蓝牙通信方式。1.2.
6、 方案流程图整体设计流程如图1.1所示:初始化11DS18B20初始化图1.1方案流程图2 .开发工具(软件)简介2.1. KeilVision52013年,美国的KeilSoftware公司设计并且面向全球硬件开发者发布了KeilVision5软件,KeilVision软件是51型单片机开发工具,并且用户在进行硬件开发时可以使用C语言,非常方便,Keil被国内80%以上电子工程师所使用,现如今在大学校内仍是主流的硬件开发工具。官网:hups:WWW官网首页如图2.1所示:armKEii图2.1Keil官网2.2. AndroidStudioAndrOidStUdiO是美国GoOgIe公司推出
7、的安卓集成开发工具,运行速度快,安装简单,可以自动下载程序开发时所要用到的环境依赖包,并且提供了强大的Ul界面,能够实时展示页面布局,对新手友好。官网:AndroidStudio开发工具主页面如图2.2所示:图2.2AndroidStudio主页面图3 .硬件介绍3.1. STC89C52RC单片机3.1.1. STC89C52RCMCU介绍STC89C52MCU价格低、功耗低,抗干扰性与抗静电能力强,并且可靠性高,单片机具有40个管脚,且有32个I/O管脚,供单片机与外部设备连接、数据交换使用。MCS-51单片机由英特尔设计,著名半导体公司TI、AtmekNXP以及国内的宏晶公司仍在生产基于
8、51内核结构多种类型的单片机。MCS-51单片机中采用CHMOS工艺生产的单片机在命名编号中加C来区分,如80C51o单片机与DIP封装示意图如下:图3.1单片机与DlP封装示意图3.1.2. 使用方法正极VCC与负极VSS管脚分别是40、20,分布在单片机的两个对角位置,将其接规定电源即可供电。为了防止程序跑飞无法恢复需要将复位按键接入到9号脚,还需有晶振提供时钟,晶振两端分别接到19、20号脚。单片机必须执行特定的程序才能实现用户的要求,因此HEX文件烧录软件也是必不可少的,通常厂商会提供烧录软件以及连接电脑用到的驱动程序。3.2. DS18B20温度传感器3.2.1. DS18B20温度
9、传感器介绍硬件开发时常用的温度传感器是DS18B20晶片,此元件硬件接口极其简单,并且精度很高,只有两条电源线以及一条数据线,但是硬件的简单带来了使用复杂的问题。通过“1-Wire”协议可以只使用一条数据线实现单片机与温度传感器的半双工双向通信功能,可与此传感器通信以读取温度。因为不管是读还是写操作都是在同一条线上传递信息,所以对时间要求非常严格。3.2.2. 使用方法初始化,检测传感器是否存在单片机首先拉高数据线电平,做好准备,稍微延时后就将电平拉低,将低电平状态维持550微秒左右,然后拉高,此时就会产生一个上升沿脉冲,如果传感器检测到此脉冲,它将会在15至60微秒后产生低电平信号回应,此时
10、需要将单片机IO口状态调整为读取,如果读到了此回应,说明传感器存在,也就是初始化成功,初始化时序图如图3.2所示。帽MdlJ复值N480MMMutMODMnvtttettGNDOSMTxeMOaDS182O电牛DSl=1;DS18B20,Delay(10);DSl=0;DS18B20_Delay(80);DSl=1;图3.2初始化时序初始化模块源码叫unsignedintDS18B20-Init(void)unsignedintstate=0;/做好准备/稍做延时/拉低DS18B20数据线/保持/释放DS18B20_Delay(15);/稍做延时state=DSl;/state值为“0代表初始
11、化成功,否则失败DS18B20_Delay(20);return(-state);)DS18B20的写数据操作写数据也是通过一个特定的时序来完成的,当传感器感知到对应时序,就会写入1或0。首先单片机将数据线拉低并且持续1微秒以上,产生一个写数据信号,写一个字节的周期在60微秒到120微秒之间,如果需要写入1,就在1微秒后拉高电平,如果是写0就保持低电平不动,一直持续到本周期结束。写入模块源码局部:for(i=8;i0;i-)(DSl=0;DSl=dat2&0x01;DS18B20_Delay(5);DSl=1;dat2=l;)DS18B20的读数据操作:读数据与写数据非常相似,只是收发数据的主
12、体交换,仍然是主机将数据线拉低1微秒后释放,传感器感知到此读取信号后就开始发送数据,若要发送0就持续将数据线拉低,若要发送1就持续拉高数据线直到此周期结束。然后单片机在15微秒内读取数据。读取模块源码局部:for(i=8;i0;i-)DSl=0;/信号dat1=1;DSl=1;信号if(DSl)datl=0x80;DS18B20_Delay(5);)returndatl;3.3. 1.CD1602液晶显示模块3.3.1. 1.CDI602液晶显示模块介绍1.CDI602是2x16字符型液晶显示模块,可以显示两行,每行16个字符,采用5x7点阵显示,1602的控制器大部分为HD44780驱动芯片
13、。此模块分为不带和带字库两种,带字库的偏厚一些。使用时首先设置要显示的坐标,再设置要显示的内容,即可显示用户想要的字符。1602液晶主要参数如下表:显示容量16x2个字符芯片工作电压4.55.5V字符尺寸2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35mm(宽乘高)表3.11602液晶主要参数1.CD1602液晶显示模块引脚说明如下表:编号符号功能编号符号功能1VSS电源地6E使能2VDD电源正极714Di数据3V1.液晶显示偏压15B1.A背光正极4RS数据命令选择16B1.K背光负极5RAV读写选择-表3.21.CDl602液晶显示模块引脚说明如果在使用中,所有逻辑
14、都正确但是不显示字符,应该检查V1.脚,这一脚控制背景光,应该将所连电阻分别划到最大值或者最小值检查是否可以正常显示,接线图如下:图3.31.CD接线图1.CD初始化设置第i行显示数据设置第i行显示位置3.3.2. 使用方法开始延时图3.41.CDI602使用方法流程图1.CD1602液晶写入字符程序:void1.CD_Write_Char(unsignedchara,unsignedcharb,unsignedcharData)(if(b=O)(1.CD1602_Write_Com(0x80+a);)else(1.CD1602_Write_Com(0xC0+a);)1.CD1602_Write_Data(Data);)3.4. HC-06蓝牙模块3.4.1. HCo6蓝牙模块介绍常见且使用较为广泛的蓝牙模块有HC-06与HC-05,它们都是蓝牙串口模块,HC-05更贵一些,功能也更多一些,它可以作为主机向从机发送指令,也可以作为从机接收主机的指令。对于HC-O6仅仅有从机模式。此模块板载PCB天线,空旷的环境下能达到10米通信距离甚至能超过10米。HC-06模块的第24脚