文档介绍:基于 Android 的红外智能风扇摘要: 为了解决家用电器在遥控方面的缺陷, 结合智能家居的相关概念和技术, 本文提出了一种基于 Android 手机的红外智能风扇设计方案。利用 Android 平台的应用软件, 将智能风扇分为两种模式, 一种模式是手动调节模式, 通过红外模块把控制信号发送到 STM32 控制模块, 而后由主控芯片 STM32 控制风扇的启停以及速度调节;另一种模式是智能模式,利用人体红外感应器和温湿度传感器, 当检测到是否有人存在, 且当前的温湿度( 可通过设置数值大小) 是否超出设定值, 风扇将自动开关, 调节风速大小, 从而实现智能手机遥控电器的功能。关键词: 智能家居; Android ;红外线; STM32 ;风扇第一章概述目前,市面上的家用电器如电视、空调、 DVD 等都有自己专用的红外遥控器;另外, 还有一种叫万能遥控器, 可以实现控制不同品牌的家用电器。但是遥控器过多, 也给用户带了不便, 可以通过手机集成红外遥控功能, 实现简化。该方法通过手机发射红外信号, 主控芯片接受到该红外信号后,对与之连接各种电器设备进行相应控制。 Android 系统是 Google 公司推出的开源手机平台,采用 Linux 内核,是一个标准化的、开放式的手机平台[1]。它具有强大的无线网接入能力, 丰富、便捷的开发工具, 和开放的平台等特点。 STM32F1 系列属于中低端的 32位 ARM 微控制器, 该系列芯片是意法半导体( ST )公司出品,其内核是 Cortex-M3 。该控制芯片具有低功耗、高稳定、大容量等特点,适合多场合的控制应用。基于当前安卓智能手机的普及, 为了满足智能家居的需求, 本文设计了一款基于 Androi d 手机控制的智能风扇。把安卓智能手机作为控制平台, 采用红外通信接口, 把安卓智能手机与家用电器结合在一起, 从而实现手机的无线智能遥控的功能。另外, 本文还对风扇工作的模式进行了拓展,使其能够红外遥控调节模式与智能调节模式之间切换。第二章硬件设计 方案选择红外协议需要载波调制信息,设计方案有: 方案一: 采用 555 定时器调制 38KHz 载波信号供单片机加载信息; 555 定时器成本低, 性能可靠,但占空比调制困难,频率确定无法改变。方案二:采用单片机内部的 PWM 机制调制 38KHz 载波信号加载信息;这个方案节约空间、抗噪性能强,可随时改变频率与占空比,但程序不易编写众多遥控器一体对数据库存储需求大,方案设计有: 方案一:采用 AT24Cxx 扩展外部存储器; 方案二:采用自带高存储容量的存储器; 综合以上考虑, 本设计采用 STM32 系列单片机, 这款单片机有脉宽调节模式, 能满足本方案的 38KHz 需求,且此单片机 Flash 程序存储区有 512 K ,不需要扩展存储空间也能满足加载万能遥控器的数据库。功能满足的情况下, 也为了不让硬件过剩的原则, 我们采用了载波方案二和数据库存储方案二。 电路设计本设计总模块框图图 2-1 总模块框图电路设计主要分为电源模块, 红外接受模块、 STM32 控制模块、人体感应模块、 DHT11 温湿度检测模块和风扇驱动模块组成。其中电源模块采用电源适配器负责为其他模块电路提供稳定的 5V 电压。红外模块负责与手机红外经行相互通信, 传递控制信息; 单片机控制模块负责识别以及处理从红外模块传递过来的控制信息。手机加载数据库信息到 PWM 调制 38KHz 载波上驱动红外发射模块进行红外波发射。 单片机模块单片机模块中的单片机采用 STM32F103ZET6 芯片,如图 2-2 所示。它是基于 ARM Cortex-M3 核心的 32 位微控制器,LQFP-144 封装, 512K 片内 FLASH (相当于硬盘) ,64 K 片内 RAM (相当于内存, 片内 FLASH 支持在线编程(IAP) ;高达 72M 的频率, 数据, 指令分别走不同的流水线, 以确保 CPU 运行速度达到最大化;通过片内 BOOT 区, 可实现串口下载程序(ISP) ;片内双 RC 晶振, 提供 8M 和 32K 的频率;支持片外高速晶振(8M), 和片外低速晶振(32K). 其中片外低速晶振可用于 CP U 的实时时钟, 带后备电源引脚, 用于掉电后的时钟行走; 42个 16 位的后备寄存器( 可以理解为电池保存的 RAM), 利用外置的纽扣电池, 和实现掉电数据保存功能; 多达 80个 IO,4 个通用定时器,2 个高级定时器,2 个基本定时器,3路 SPI 接口,2路 I2S 接口,2路 I2C 接口,5路 USART, 一个 USB 从设备接口, 一个 CAN 接口,SDIO 接口, 可兼容 SRAM,NOR 和