自动光控窗帘单片机
基于单片机的自动光控窗帘设计与实现
随着高新技术及电子器件的发展,人们的生活环境得到极大改善,智能家居得以实现。智能窗帘是智能家居的一部分,目前关于智能窗帘的研究有基于视觉手势,有基于红外遥控等多种设计,好多研究仅停留在方案设计,或者设计繁琐成本高,或者缺乏人性化考虑等。本文提出一种基于单片机控制的自动窗帘系统,既能解决每天手拉窗帘的不便,又显示出了生活的便捷和档次,还可以根据光线的明暗来自动控制窗帘的开关以调节室内光线。本设计为一款基于AT89C52单片机控制的光控窗帘,该系统的硬件部分主要利用光敏传感器产生的信号作为单片机输入信号来控制电机;软件部分采用C语言进行编程。考虑到用户习惯和天气原因,本方案还设置了选择开关,用户在使用窗帘时可任意选择自动或手动控制方式。该系统具有设计人性化、经济实用、可靠性高的特点。
一、自动光控窗帘总体设计方案
本设计实现如框图1所示,AT89C52单片机是核心控制器件。采用光敏电阻作为光线采集器,光敏电阻采集到光电信号后经传感器PCF8591转换为数字信号,单片机读入数字信号送至电机驱动芯片ULN2003,驱动28BYJ48型步进电机进行正反转,从而实现光控功能。28BYJ48型步进电机是四相八拍电机,电压为DC5V~DC12V,当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号使得步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。当通电状态的改变完成一个循环时,转子转过一个齿距。
运用光控原理,当光照强度大于130lx时窗帘将自动打开;当光照强度小于50lx时,窗帘将自动关闭;当光照强度在50lx到130lx之间,窗帘状态保持不变。
二、自动光控窗帘主要硬件设计
2.1单片机系统
AT89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8k在系统可编程Flash存储器。AT89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供了高灵活、超有效的解决方案。最小系统带有时钟电路、单片机、复位电路、输入/输出设备等。
2.2光电传感器信号采集模块
光电传感器用于采集光信号,芯片采用PCF8591,它是集成了光敏电阻的一种芯片,光敏电阻采集到光强信号后,PCF8591进行A/D转换输出数字信号。模块芯片采用PCF8591集成模块,它带电源指示灯,对模块供电后指示灯会亮,这样在调试时便于观看短路情况。模块带DA输出指示灯,当模块DA输出接口电压达到一定值,会点亮面板。
2.3电机驱动电路
ULN2003是高压、大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003体积小,直接焊接在单片机40引脚附近,和单片机的电源连在一起,减少了电源线的连接。在硬件设计时,驱动芯片的in1与单片机的p0.0端口连接,in2与p0.1连接,in3与p0.2连接,in4与p0.3连接。同样根据电机的位置,直接插导连接出来,放置开关。电机部分直接用一个直插座和驱动来接就可以了。天亮时,光敏传感器接收到高电平,依程序所设步进电机正转,顺时针转动,窗帘以某一速度被慢慢拉开,走到极限位置时,窗帘碰到右端的行程开关SW3,开关闭合使能端关闭,电机停止转动。反之,光敏传感器采到的AD值,触发输出低电平,电机逆时针转动,窗帘打开。
2.4时钟电路设计
时钟电路由两个陶瓷电容C2、C3和石英晶振组成,C1和C2大小为30pF,石英晶振选用12M晶振。两个电容C1和C2并联,然后与石英晶振进行串联,时钟电路的两个端口X1,X2分别和单片机的XTAL1,XTAL2引脚相连,内部振荡器便能产生自激振荡。另外检测晶振是否起到振荡效果,可以使用示波器看到XTAL2输出的正弦波,也可以使用万用表测量,要把档位调到直流档,在测量的时候就会发现,不稳定的电压在2V左右。
2.5手动复位按钮电路连接
当人用手按下按钮时,电源的+5V电平就会直接接送到RST端。由于人动手能力比较缓慢会使按钮保持接通长达数十毫秒,人眼具有视觉暂留效应,所以,复位电路完全可以使用手动复位,满足复位所需要的时间要求。复位电路的S1口与单片机的RST端口相连,RST端口具有复位功能,当单片机上电后,在该引脚上就会出现两个机器周期(24个震荡周期)宽度以上的高电平,使单片机复位。因此复位电路与单片机的RST端口相连。
2.6正反转按钮电路设计
由于外界天气以及平时开闭窗帘的需要,本设计增加了两个手动按钮来控制窗帘的正反转,这样设计达到了人性化的要求。当白天需要关闭窗帘时,只需按下反转按钮,窗帘就会自动关闭;反之窗帘就会自动打开。按钮的p2.0与p2.1分别与单片机的特殊接口p3.2和p3.3相连接,这两个I/O口的第二功能分别为单片机的外部中断INT0端口和外部中断INT1端口,这样就可以实现手动功能。
三、自动光控窗帘的软件设计
单片机编程语言主要为汇编和C语言。C语言编程软件带有比较完善的库函数,具有速度快、效率高、可移植、直接对硬件控制等诸多优点,因此,本设计采用C语言来实现。软件由主程序、显示子程序、延时子程序、按键扫描程序组成。初始化部分包括1602显示屏的初始化和控制步进电机I/O口的初始化;采集与显示部分实现在1602显示屏上要显示采集到的光敏电阻的电压值并转换为亮度显示;中断部分主要体现在按键功能的实现,按键部分用到了中断机制以确保按键的实时性。用到了两个按键,一个手动控制窗帘拉开,另一个手动控制窗帘关上;电机控制部分,根据环境的亮度智能控制窗帘开关。
总之,自动光控窗帘实现了根据外面光线的强弱自动开关的功能。考虑到个人生活习惯不一样,进行了人性化设计,加上了手动开关,在实现自动开关的同时,保留了原始窗帘的功能。该设计整体结构简单,元器件价格低廉,降低了产品的设计成本,经济可靠,控制灵活,具有一定的市场应用前景。
以上就是我们深圳市组创微电子有限公司为您介绍的基于单片机的自动光控窗帘设计与实现详情。我们有丰富的智能电子产品定制开发经验,可以尽快评估开发周期与IC价格,也可以核算PCBA报价。我们是松翰单片机代理商、应广单片机代理商,出售并开发sonix与应广的MCU与语音IC方案。我们代理并开发杰理、安凯、全志、realtek等系列的IC与方案,还开发BLE蓝牙IC、双模蓝牙模块、wifi模块、物联网模块。我们的拥有硬件设计与软件开发能力。涵盖了电路设计、PCB设计、单片机开发、软件定制开发、APP定制开发、微信公众号开发、语音识别技术、蓝牙开发、wifi技术等。还可以承接智能电子产品研发、家用电器方案设计、美容仪器开发、物联网应用开发、智能家居方案设计、TWS耳机开发、蓝牙耳机音箱开发、儿童玩具方案开发、电子教育产品研发。
注:部分图片内容来源于网络,如有侵权,请联系删除。
- 返回顶部