基于的红外遥控风扇设计样本.docx
《基于的红外遥控风扇设计样本.docx》由会员分享,可在线阅读,更多相关《基于的红外遥控风扇设计样本.docx(16页珍藏版)》请在冰豆网上搜索。
基于的红外遥控风扇设计样本
基于Android红外智能电扇
摘要:
为理解决家用电器在遥控方面缺陷,结合智能家居有关概念和技术,本文提出了一种基于Android手机红外智能电扇设计方案。
运用Android平台应用软件,将智能电扇分为两种模式,一种模式是手动调节模式,通过红外模块把控制信号发送到STM32控制模块,而后由主控芯片STM32控制电扇启停以及速度调节;另一种模式是智能模式,运用人体红外感应器和温湿度传感器,当检测到与否有人存在,且当前温湿度(可通过设立数值大小)与否超过设定值,电扇将自动开关,调节风速大小,从而实现智能手机遥控电器功能。
核心词:
智能家居;Android;红外线;STM32;电扇
第一章概述
当前,市面上家用电器如电视、空调、DVD等均有自己专用红外遥控器;此外,尚有一种叫万能遥控器,可以实现控制不同品牌家用电器。
但是遥控器过多,也给顾客带了不便,可以通过手机集成红外遥控功能,实现简化。
该办法通过手机发射红外信号,主控芯片接受到该红外信号后,对与之连接各种电器设备进行相应控制。
Android系统是Google公司推出开源手机平台,采用Linux内核,是一
个原则化、开放式手机平台[1]。
它具备强大无线网接入能力,丰富、便捷开发工具,和开放平台等特点。
STM32F1系列属于中低端32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。
该控制芯片具备低功耗、高稳定、大容量等特点,适合多场合控制应用。
基于当前安卓智能手机普及,为了满足智能家居需求,本文设计了一款基于Android手机控制智能电扇。
把安卓智能手机作为控制平台,采用红外通信接口,把安卓智能手机与家用电器结合在一起,从而实现手机无线智能遥控功能。
此外,本文还对电扇工作模式进行了拓展,使其可以红外遥控调节模式与智能调节模式之间切换。
第二章硬件设计
2.1方案选取
红外合同需要载波调制信息,设计方案有:
方案一:
采用555定期器调制38KHz载波信号供单片机加载信息;555 定期器成本低,性能可靠,但占空比调制困难,频率拟定无法变化。
方案二:
采用单片机内部PWM机制调制38KHz载波信号加载信息;这个方案节约空间、抗噪性能强,可随时变化频率与占空比,但程序不易编写
众多遥控器一体对数据库存储需求大,方案设计有:
方案一:
采用AT24Cxx扩展外部存储器;
方案二:
采用自带高存储容量存储器;
综合以上考虑,本设计采用STM32系列单片机,这款单片机有脉宽调节模式,能满足本方案38KHz需求,且此单片机Flash程序存储区有512K,不需要扩展存储空间也能满足加载万能遥控器数据库。
功能满足状况下,也为了不让硬件过剩原则,咱们采用了载波方案二和数据库存储方案二。
2.2电路设计
本设计总模块框图
图2-1总模块框图
电路设计重要分为电源模块,红外接受模块、STM32控制模块、人体感应模块、DHT11温湿度检测模块和电扇驱动模块构成。
其中电源模块采用电源适配器负责为其她模块电路提供稳定5V电压。
红外模块负责与手机红外经行互相通信,传递控制信息;单片机控制模块负责辨认以及解决从红外模块传递过来控制信息。
手机加载数据库信息到PWM调制38KHz载波上驱动红外发射模块进行红外波发射。
2.2.1单片机模块
单片机模块中单片机采用STM32F103ZET6芯片,如图2-2所示。
它是基于ARMCortex-M3核心32位微控制器,LQFP-144封装,512K片内FLASH(相称于硬盘),64K片内RAM(相称于内存,片内FLASH支持在线编程(IAP);高达72M频率,数据,指令分别走不同流水线,以保证CPU运营速度达到最大化;通过片内BOOT区,可实现串口下载程序(ISP);片内双RC晶振,提供8M和32K频率;支持片外高速晶振(8M),和片外低速晶振(32K).其中片外低速晶振可用于CPU实时时钟,带后备电源引脚,用于掉电后时钟行走;42个16位后备寄存器(可以理解为电池保存RAM),运用外置纽扣电池,和实现掉电数据保存功能;多达80个IO,4个通用定期器,2个高档定期器,2个基本定期器,3路SPI接口,2路I2S接口,2路I2C接口,5路USART,一种USB从设备接口,一种CAN接口,SDIO接口,可兼容SRAM,NOR和NANDFlash接口16位总线-FSMC;3路共16通道12位AD输入,2路共2通道12位DA输出.支持片外独立电压基准;CPU操作电压范畴:
2.0-3.6V。
图2-2STM32F103V单片机封装图
时钟电路
STM32F103ZET6芯片上有两种时钟源,如图2-3所示:
(1)8MHz晶振X2作为MCU时钟源
(2)32.768KHz晶振X1作为RTC时钟源
图2-3时钟电路
电源电路
本设计模块通过USB线供电,如图2-4所示。
为保证芯片因电压过高不被烧毁,设立一种自恢复保险丝,在电路短路状况下,自恢复保险丝发热断开,保护了硬件和电脑USB接口免遭烧毁。
图2-4电源模块
2.2.2红外接受模块
本设计红外接受模块是基于HL-A838红外一体化接受头红外接受模块,电路图如图2-5所示。
与单片机相连时,接PA3引脚。
可接受红外发射模块(内链接)发来调制成38KHz红外信号,并解调成逻辑电平,即收到调制红外信号即输出低电平,否则输出高电平,在程序上应用编解码即可完毕红外遥控功能。
模块特点如下:
低功耗、宽角度及长距离接受供电电压可为3.3V~5.5V输出匹配TTL,CMOS电平,低电平有效4个M2螺丝定位孔,便于安装。
发射红外线信号是手机通过两个并联红外二极管发射。
详细实物图如图2-6所示。
图2-5红外发射接受电路图
图2-6本设计自制红外发送模块
2.2.3温湿度检测模块
温湿度检测模块采用DHT11温湿度传感器,它涉及一种电阻式测湿元件和一种NTC测温元件,并与单片机PA4引脚相连接。
通过单片机等微解决器简朴电路连接就可以实时采集本地湿度和温度。
DHT11与单片机之间能采用简朴单总线进行通信,仅仅需要一种I/O口。
传感器内部湿度和温度数据40Bit数据一次性传给单片机,数据采用校验和方式进行校验,有效保证数据传播精确性。
DHT11功耗很低,5V电源电压下,工作平均最大电流0.5mA。
图2-7温湿度传感器连接图
2.2.4人体红外感应模块
图2-8人体红外感应模块
人体红外感应模块是基于红外线技术自动控制模块,电路图如图2-8所示。
与单片机PA2引脚相连,电源采用5V电压供电,其功能特点:
1、全自动感应:
人进入其感应范畴则输出高电平,人离开感应范畴则自动延时关闭高电平,输出低电平。
2、温度补偿:
在夏天当环境温度升高至30~32℃,探测距离稍变短,温度补偿可作一定性能补偿。
3、两种触发方式:
(可跳线选取)
a、不可重复触发方式:
即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
b、可重复触发方式:
即感应输出高电平后,在延时时间段内,如果有人体在其感应范畴活动,其输出将始终保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体每一次活动后会自动顺延一种延时时间段,并且以最后一次活动时间为延时时间起始点)。
4、具备感应封锁时间(默认设立:
2.5S封锁时间):
感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设立一种封锁时间段,在此时间段内感应器不接受任何感应信号。
此功能可以实现“感应输出时间”和“封锁时间”两者间隔工作,可应用于间隔探测产品;同步此功能可有效抑制负载切换过程中产生各种干扰。
(此时间可设立在零点几秒—几十秒钟)。
2.2.5电扇驱动电路
电扇电机驱动模块比较简朴,与红外接受模块电路类似,就是主控芯片控制一种三极管通断实现对电扇启停。
此外,可通过调制PWM波方式对电扇转速进行相应调节。
为了丰富电扇功能,除了红外遥控电扇开关和调速外,本设计引入智能控制模式,即无需手动调节,通过人体感应传感器和DHT11温湿度传感器检测电扇下有无人员,及当前温度和湿度。
在检测到有人前提下,主控芯片依照当前温度和湿度值给出相应PWM来控制电扇电机转速,实现电扇电机智能运营。
系统总体实物图如2-9所示。
图2-9系统设计实物图
第三章遥控器软件设计
STM32程序重要是用来接受、分析、解决红外模块过来数据,完毕后来通过给出相应控制信号到电器上,最后达到遥控电器目。
3.1遥控器软件流程框图
软件采用模块化编程,把系统运营提成两种模式:
智能模式:
顾客无需调节电扇,主控芯片会对人体传感器与DHT11传感器信号解决,并依照其给出相应速度信号给电扇。
手动控制模式:
该模式下,顾客可以通过手机对电扇启停、速度进行调节控制
此外,两种模式间切换只需要手机应用端调节。
图3-1遥控器软件流程框图
3.2红外编码程序
本软件包括了3种红外编码格式:
三星TC9012,松下LC7464M和NECuPD6121G。
受篇幅限制,这里重要简介TC9012编码。
1、红外载波程序
⑴TC9012载波规定:
频率38KHz占空比1/3
图3-2载波波形参照图:
38KHz1/3载波实测波形图:
38.46KHz1/3占空比
由载波实测波形图可以看出,实测波形与参照波形频率误差为1.2%,占空比误差为-0.6%,满足TC9012载波规定,阐明咱们用PWM产生38KHz载波程序是对的,下面是详细程序代码。
⑵38KHz载波核心代码:
SYSclk=22118400Hz,PWM0频率为:
SYSclk/(65536-[TH0,TL0])/64=22118400/(65536-[TH0,TL0])/64=38400Hz
2、红外发送数据程序
TC9012一帧数据中具有32位码,包括两次8位顾客码,8位数据码各8位数据码反码。
引导码由4.5ms载波和4.5载波关断波形所构成,以作为顾客码、数据码先导。
图3-3引导码参照图
图3-4引导码实测:
有载波4.52ms图3-5引导码实测:
无载波4.52ms
由以上两实测图可以看到,引导码有载波误差0.4%,无载波误差0.4%,是满足TC9012引导码开载波4.5ms+关载波4.5ms规定。
图3-6数据0实测:
高电平0.56ms图3-7数据0实测:
高低电平总长1.14ms
由以上两实测图可以看到,数据0高电平误差0%,高低电平总长误差1.3%,是满足TC9012数据0高0.56ms,总长1.125ms规定。
图3-8数据1实测:
高电平0.56ms图3-9数据1实测:
高低电平总长2.26ms
由以上两实测图可以看到,数据0高电平误差0%,高低电平总长误差0.4%,是满足TC9012数据1高0.56ms,总长2.25ms规定。
第四章Android应用软件设计
本应用软件设计是为了使咱们手机可以发射红外信号给主控芯片,从而实现远程控制目。
开发工具:
Eclipse集成开发环境,JDK,Android-SDK。
编译版本:
android2.3.3。
4.1Android应用流程简介
下面是应用品体流程;
图4-1应用流程图
图4-2应用界面
4.2资源规划和权限配备
为了兼容不同手机屏幕尺寸和辨别率,放了三套不同辨别率和尺寸图片分放在res/drawable-hdpi,res/drawable-mdpi,res/drawable-xhdpi目录。
本应用设计用到本地红外适配器功能,多辨别率支持功能,窗体纵向显示功能使用,在AndroidMainfest.xml中添加容许使用红外功能权限
android:
name="android.permission.BLUETOOTH"/>
name="android.permission.BLUETOOTH_ADMIN"/>。
并且界面窗体均为纵向显示,这里设立窗体显示通过标签属性android:
screenOrientation=“portrait”。
设立多屏幕辨别率支持android:
smallScreens="true"
android:
normalScreens="true"
android:
largeScreens="true"
android:
anyDensity="true"
/>
4.3欢迎窗体设计与实现
应用启动后是一种欢迎窗体,欢迎窗体全屏显示,3秒钟后自动跳转到TV主窗体。
欢迎窗体实现:
1)在onCreate()办法中初始化窗体信息,加载background为drawable目录下welcome图片布局文献activity_welcom.xml。
2)创立一种线程类实现3秒后自动跳转。
4.4红外服务
红外服务是一种service类,提供红外连接,状态反馈,线程读写数据,启动和停止办法。
红外连接:
device.createRfcommSocketToServiceRecord(MY_UUID)获取套接口,mySocket.connect()套接口远程连接遥控器。
并且通过bundler传递message给UI界面更新。
获取连接状态办法:
返回当前红外服务状态。
Start和Stop办法:
线程初始化和关闭线程。
同步Write办法:
防止多线程干扰,采用核心字synchronized同步写办法。
创立一种线程类,传递参数byte[]写到套接口字节流outputstream中。
第五章实物调试
5.1手动控制模式
手动控制模式下电扇启停与速度调节实验测试图如图所示:
图5-1电扇停止工作与正常工作
图5-3上位机显示电扇手动模式下各工作状态
5.2智能模式
智能模式下电扇启停与速度自动调节实验测试图如图所示:
图5-1电扇智能模式下启停
图5-3上位机显示智能模式下电扇运营状况
第六章总结
本文设计基于Android红外智能电扇,通过手机客户端发射红外信号给STM32主控芯片,对系统进行各种操作,可以实现对电扇手动调节控制,并可以进行模式切换。
实验调试可以实现各模式功能,基本满足预期实验规定。
基于安卓手机智能遥控器设计新颖,实用以便,倡导绿色、环保生活理念,具备经济、社会效益。
从顾客角度出发,多功能、低成本、强适应和人性化使得该产品将会获得发展契机。
在后来居家生活中,手机远程遥控不但仅如此,将来人类生活更加便捷,物联网带给人们效益将越来越多。
参照文献
[1]EdBurnette.Hello,Android[M].USA:
PragmaticProgrammers,LLC,
[2]林小茶.C语言程序设计(第二版)[M].北京:
中华人民共和国铁道出版社,.
[3]郭现杰,张权.从零开始学Java[M].北京:
电子工业出版社,.
[4]翟大昆,陈春茶.Android项目开发详解[M].北京:
机械工业出版社,.
[5]刘焕成.工程背景下单片机原理及系统设计[M].北京:
清华大学出版社,.
[6]高彩丽,许黎民,袁海等.Android应用开发范例精解[M].北京:
清华大学出版社,.
本设计以STM32F103为主控芯片,使用安卓手机红外遥控APP作为移动控制终端,通过PC上位机实时显示系统各模块工作状态,便于顾客监测与控制。
系统涉及3个功能模块,分别为电扇控制模块、盆景供水模块和照明控制模块。
每个功能模块具备2种工作模式,手动调节模式和智能模式。
系统通过安卓手机红外遥控应用发射红外信号,红外接受端将接受到红外信号传送至主控芯片,主控芯片依照其内容进行相应模块控制操作,且各模块互相独立,互不干扰。
其中各模块工作方式切换也是通过APP上相应操作实现。
系统各模块工作状态通过串口传送至PC上位机进行显示。
该系统解决家用电器在遥控方面缺陷,结合智能家居有关概念和技术,从顾客角度出发,集多功能、低成本、强适应和人性化于一体,为人们工作和生活带来了极大便利。