28-基于51单片机的智能窗帘设计

最新更新时间:2021-10-18来源: eefocus关键字:51单片机  智能窗帘 手机看文章 扫描二维码
随时随地手机看文章

具体实现功能

系统由STC89C51+1602液晶+步进电机+光敏电阻+按键模块+DS1302时钟模块+ADC0832模块+电源构成。


1、LCD1602显示日期和时间、当前控制模式及光照强度;


2、可通过按键切换:手动模式、定时模式、光控模式;


3、手动模式:通过开窗帘和关窗帘键对窗帘进行控制;


4、定时模式:通过按键设置开窗帘和关窗帘的时间;


5、光控模式:光照强度大于设置值时开启窗帘,否则关闭;


6、步进电机正转半圈,模拟开窗,红色LED灯点亮;电机反转半圈,模拟关窗,红色LED灯熄灭。


按键说明: 


按键1:切换模式(在手动模式、定时模式、光控模式循环切换)


按键2:进入当前时间的设置(年、月、日、时、分的设置)


按键3:进入定时时间和光控阈值大小的设置


按键4:减(手动关闭窗帘)


按键5:加(手动开启窗帘)

设计背景

智能家居以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境,尽显便捷将家中的各种设备(如音视频设备、照明设备、窗帘控制、空调控制、网络家电等)通过家庭网络连接到一起。与普通家居相比,不仅具有传统的居住功能,提供安全舒适的家庭生活空间,还能提供全方位的信息交互功能,优化人们的生活方式。


随着社会信息化的加快,人们的工作、生活和通讯、信息的日益紧密。信息化社会在改变人们生活方式与工作习惯的时候,也对传统的住宅提出了挑战,社会、技术以及经济的进步更使人们的观念随之巨变。人们对家居的要求早已不是物理空间,更为关注的是一个安全、方便、舒适的居家环境。 


随着技术产业结构的调整,生产工艺的飞速发展,人们的生活水平不断提高,家用电气逐渐普及。高精度、多功能、低功耗是现代科技发展的趋势。在这种趋势下,窗帘的数字化、智能化已经成为现代生产研究的主导设计方向。 


单片机在电子产品中的应用已经越来越广泛,结合感光系统和时钟系统的智能窗帘系统具有较好的发展前景。


硬件设计

整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它个模块围绕着单片机最小系统展开。其中包括,显示设备使用1602液晶,可以同时显示年、月、日、时、分、控制模式、光照强度等基本信息;时钟模块采用DS1302芯片,初始化之后,就会开始运行计算时间,单片机只需进行时间信息的读取即可;光照检测电路采用光敏电阻和模数转换芯片ADC0832,将模拟量数字化并显示出来;窗帘使用步进电机进行代替模拟,同时配有一个LED灯用来指示窗帘当前的开关状态;本设计还有5个按键作为操作输入设备,可以对当前时间进行调整设置和设置窗帘开关时间和光控阈值等;最后是供电采用常用的USB 5V进行供电。


软件设计

软件设计思路:最开始先进行液晶和时钟芯片的初始化,然后就进入了一个循环处理的过程。包括先读取时钟芯片的日期时间数据,然后在1602液晶上面显示出来,接着读取光照强度并显示。再往下就是按键扫描,如果检测到有按键按下去了,则根据不同的按键进行不同的任务处理。然后根据不同的模式,进行不同的窗帘开关控制。如果是手动模式的话,则根据开窗帘键和关窗帘键对窗帘进行开关控制;如果是定时模式的话,则根据设置的开启时间和关闭时间对窗帘进行控制,而如果是光控模式的话,则判断当前光照是否高于设置的控制阈值,是的话话则关闭窗帘,相反则开启窗帘。至此完成一次循环的过程。


原理图

本系统原理图设计采用Altium Designer19,具体如图。

程序

本设计利用KEIL5软件实现程序设计,具体如图。

仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

关键字:51单片机  智能窗帘 编辑:什么鱼 引用地址:28-基于51单片机的智能窗帘设计

上一篇:29-基于51单片机的步进电机控制系统
下一篇:27-基于51单片机的空调温度控制系统

推荐阅读

用AT89C51单片机显示倒计时程序
;可设定时间的倒计时定时器,可选择5/15/20/30/35/45/50分钟倒计时;倒计时时间由四位拨码开关的2/3/4位来控制,;第2位表示5分钟,第3位表示15分钟,第4位表示30分钟,;通过不同的组合可以产生5/15/20/30/35/45/50分钟倒计时;P1.0口的外接的发光二极管为状态LED,定时未开始时LED常亮,定时过程中LED闪烁;K1为开始按钮,K2为停止按钮适用STM8S/STM8L/STM8A N76E003 脱机编程器/烧录器/下载器/SP_00【包邮】m.tb.cn/h.UlXVKiOa_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置temp eq
发表于 2023-01-13
51单片机数码管静态显示和动态显示原理及实验 夜猫子
数码管多位数码管,即是两个或两个以上单个数码管并列集中在一起形成一体的数码管。当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端叫做“位选线”,连接在一起的段线叫做“段选线”有了这两个线后,通过单片机及外部驱动电路就可以控制任意的数码管显示。一般一位数码管有10个引脚,二位数码管也是10个引脚,四位数码管是12个引脚。为了更方便区分段选和位选,请看下原理图:如图为两个4位一体的数码管,可以看到与8个com相连的是两个数码管的位选,位选与引脚相连,所以位选控制那个灯亮。段选可以看到a
发表于 2023-01-12
<font color='red'>51单片机</font>数码管静态显示和动态显示原理及实验 夜猫子
51单片机独立按键和矩阵按键实现
独立按键实验按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当松开手时,开关断开。我们开发板上使用的按键及内部简易图如下图所示管脚与管脚之间(注意是距离)距离长的是导通状态,短的是接通状态。通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号如下图所示:如图所示,按键闭合式不会立刻稳定的接通,断开时也不会一下子断开,会伴随一些抖动。抖动的时间长短有按键特性决定,一般为5Ms到10ms.按键抖动会引起按键被误读多次。为了确保 CPU 对按键的一次闭合仅作一次处理,必须进行消抖。消抖消抖可分为硬件消抖和软件消抖。为了使电路更加简单,通常采用软件消抖。一般来说一个简单的按键消抖就是先读取按键的状态, 如果得到按键按下
发表于 2023-01-12
51单片机8*8点阵原理及实现
LED点阵(8*8)LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。通常应用较多的是 8* 8 点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样的。这里以 8* 8LED 点阵来做介绍。发光原理8* 8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平(行所接的是二极管的阳极,所以为高电平),某一列置 0 电平(列所接的是二极管的阴极极,所以为低
发表于 2023-01-12
51单片机中断基本概念
问题引入在了解基本概念之前,先看三个问题:1.你想使用的中断是哪个?2.你所希望的触发条件是什么?3.你希望在中断之后做什么?可以边看边思考,文章最后给出答案中断概念为什么引入中断?中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。中断系统特点:①分时操作。CPU 可以分时为多个 I/O 设备服务,提高了计算机的利用率;②实时响应。CPU 能够及时处理应用系统的随机事件,系统的实时性大大增强;③可靠性高。CPU 具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高中断过程对于单片机来讲,中断是指CPU在处理某一时间A时,发生了另一事件B请求CPU立
发表于 2023-01-12
51单片机外部中断点亮LED
外部中断软件设计原理中断发生的三个条件①中断源有中断请求;②此中断源的中断允许位为 1;③CPU 开中断(即 EA=1)。比如我们配置外部中断 0,对应的配置程序如下:EA=1;//打开总中断开关EX0=1;//开外部中断 0IT0=0/1;//设置外部中断的触发方式(下降沿触发)如果要配置的是外部中断 1,只需将 EX0 改为 EX1,IT0 改为 IT1在编写程序时通常我们会将外部中断的配置放到一个自定义函数内便于管理维护。如下伪代码所示:void Int0Init(){//设置 INT0IT0=1;//边沿触发方式(下降沿)EX0=1;//打开 INT0 的中断允许。EA=1;//打开总中断}/*当触发中断后即会进入中断服务函
发表于 2023-01-12

推荐帖子

优惠推荐1:TI 无线开发板 LAUNCHXLCC2640R2
>>Mouser购买链接 配合目前的MOUSER新用户活动(http://bbs.eeworld.com.cn/thread-529348-1-1.html),个人觉得优惠力度挺大,推荐! 优惠推荐1:TI无线开发板LAUNCHXLCC2640R2
soso 无线连接
心电传感器可以在水里工作吗?
各位大神, 小妹新来的,想问下心电传感器能不能在水里工作,比如给游泳的人身上弄两个电极测量心跳,可行吗? 如果不行用什么传感器合适呢? sunnto的心率带是可以在水下工作的,谁知道它是用了什么传感器? 谢谢啦~ 心电传感器可以在水里工作吗?
cinda_wl 传感器
如何实现嵌套汇编中断函数
如何实现嵌套汇编中断函数 使用汇编做中断函数的入口和程序处理,如何实现?????如何实现嵌套汇编中断函数
guangtonggg 微控制器 MCU
短信猫在低压配电监控应用
短信猫在低压配电监控应用 随着电网改造的逐步深入,电力配网技术的高速发展,科学、经济、有效的控制电网运行,必须逐步实现、提高配网自动化水平。城市配电网自动化系统是电力部门改善供电质量,合理配置供电设备,有效实现电力需求侧管理的重要措施。 分布在城市、郊区和农村的低压配变具有节电数量大、分散、环境复杂等特点。对低压配变的运行数据监测、采集、分析,无功补偿控制状态及远程遥控,对低压配网设备数据传输方式提出了新的要求:实时、准确、高效的传输配电数据,高性能价格比的设备配置,简单、方便的安装方式。
crj1986 嵌入式系统
TI课堂进不去
上周学习了前三讲,后面的几次课就没有办法进去了,登陆不上去,不知怎么解决TI课堂进不去
54chenjq 微控制器 MCU
新人求助!!!求大神们帮帮忙
想写一个程序,采用的芯片是MSP430f5438a,想利用ADC12采集12路数据,并通过串口发送到串口助手上,下面的程序不知道应该要怎么改 #include<msp430x54x.h> #defineU8unsignedchar U8RX_DATA=0; U8TX_DATA[77]={0}; U8EN_ADC12=0; U8SPI_RX_DATA=0; U8uart1_RX_DATA[24]={0}; U8uart1_RX_
谁是谁的谁 微控制器 MCU
小广播
设计资源 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved