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

2023-11-11

具体实现功能

系统由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软件实现仿真设计,具体如图。

全部资料

全部资料包括程序(注释)、AD原理图、PCB源文件、protues仿真、参考论文、程序讲解、仿真讲解、仿真视频、原理图讲解、资料使用介绍等,全网最全!

原文链接:基于51单片机的智能窗帘设计

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于51单片机的智能窗帘设计 的相关文章

  • 关于51/STC单片机中断优先级的调整

    来源 单片机简单程序 zhjysx的博客 CSDN博客https blog csdn net zhjysx category 11558658 html 目录 内容简述 理论 中断源类型 IP寄存器 LED程序 Proteus仿真图 外部中
  • 51单片机使用定时器0定时1ms的配置操作

    51单片机使用定时器0定时1ms的配置操作 51单片机的定时器0结构 配置的定时器0的方式 配置的程序代码内容 51单片机的定时器0结构 51单片机是一种广泛应用于嵌入式系统中的芯片 具有强大的计时和计数功能 其中的定时器0可以用来实现精确
  • 关注深度学习代码

  • keil 4单片机程序的debug调试

    1 单击keil4窗口的调试按钮快捷图标 进入到软件模拟调试模式 如图所示 在软件调试模式下 可以设置断点 单步 全速 进入某个函数内部运行 还可以查看变量的变化过程 模拟硬件IO口电平变化 查看代码执行时间等 先了解一下调试按钮的功能 其
  • 【51单片机】:定时器的详解(包括对单片机定时解释、各类定时方式,以及中断方式)

    学习目标 51定时 计数器的详解 码字不易 如有帮助请收藏 点赞哦 学习内容 背景知识 了解一下对以后学习有帮助 前提 首先我们知道51单片机内部有21 26个特殊功能寄存器 P x口寄存器 P0 P1 P2 P3 数据指针寄存器 DP0H
  • 蓝桥杯单片机零基础到国二经验分享

    我参加的是第十三届蓝桥杯大赛 从最开始的零基础 毫无头绪 到拿下国二 颇有体会 在这里将我的备赛经验分享给大家 希望可以帮到一些正在备赛的蓝桥杯er 目录 一 蓝桥杯 单片机组介绍 二 零基础到国二历程 客观题 程序题 1 从零基础到省三
  • LCD1602液晶显示屏

    介绍 LCD1602液晶显示屏是一种字符型液晶显示模块 可以显示ASCll码的标准字符和其他一些内置的特殊字符 还可以内置8个自定义字符 显示容量 16 2个字符 每个字符为5 7点阵或5 10点阵 一 引脚介绍 VO 对比度调节电压 RS
  • 基于51单片机用DS1302和LCD1602设计可调式电子日历与时钟(Proteus仿真)

    嵌入式工程师成长日记 https mp weixin qq com s biz Mzg4Mzc3NDUxOQ mid 2247484111 idx 1 sn ce820ea78cf5ff4f00ebb282abc72143 chksm cf
  • 《微机原理》-绪论

    微机原理 文章目录 微机原理 前言 一 微型计算机系统组成 1 早期计算机硬件系统 2 微型计算机系统硬件组成 二 存储器 前言 本系列博客主要是观看西安电子科技大学看老师于2009年录制的 微机原理视频 课程的CPU以8086CPU为例进
  • proteus设计教程-DS1302时钟芯片驱动程序

    时钟芯片DS1302电路图如下 晶振X1的频率为32 768khz 读写时间只需要调用void read time void write time 两个函数进行操作 直接读取出来的数据是BCD码的形式 需要进行转换 最后提供的两个函数to
  • 51单片机——ADC模数转换、DAC数模转换PWM C语言入门编程

    目录 ADC XPT2046 1 ADC模数转换 数码管上显示AD模块采集电位器的阻值 热敏的温度值 光敏的光值 DAC PWM 1 DAC数模转换 DAC PWM 模块上的指示灯DA1呈呼吸灯效果 由暗变亮再由亮变暗 ADC ADC an
  • 51单片机SCT15数码管4321断灭长灭程序

    include
  • STC单片机 延时 那点事,DS18B20的苦

    DS18B20采用 一线总线 对时序的要求是特高啊 要想精准延时 有两个选择 其一当属定时器 其二用汇编一条一条的来算 但 DS18B20延时的时候 以上两条都不会选 还有其他选择 第三方的Delay函数 比如STC ISP VXX X提供
  • 51 单片机占用 RAM 分析

    51 单片机占用 RAM 分析 简介 很久不用 51 单片机了 再拿起 51 的东西 发现之前学的时候遗漏很多细节 比如 RAM 的占用情况 都哪些会占用 RAM 空间 当时学习的时候从来没有注意过 包括用上 32 位的 MCU 之后也不怎
  • STM32矩阵按键(定时器)

    由于采用延时函数会影响程序速度 所以采用定时器中断写的矩阵扫描按键 利用简单的状态机思想 1 定时器初始化 定时器初始化 void TIM2 Configuration void TIM TimeBaseInitTypeDef TIM Ti
  • 51单片机按键识别与LED显示(显示0-9的数字)

    实验内容 单片机外接10个按键 编号为0 9 编程实现任意按键则LED显示对应数字 一 硬件电路原理图 1 共阴共阳两种不同的方式 2 数码管显示表 3 矩阵键盘介绍 矩阵键盘是 单片机 外部设备中所使用的排布类似于矩阵的键盘组 矩阵式结构
  • Proteus8仿真:51单片机A/D转换(ADC0808)

    51单片机A D转换 元器件 原理图部分 代码 main c 工程文件 元器件 元器件 名称 排阻 RESPACK 8 51单片机 AT89C51 数码管 7SEG MPX4 CA BLUE ADC芯片 ADC0808 滑动变阻器 POT
  • 51单片机的智能饮水机控制系统【proteus仿真+程序+原理图】

    1 主要功能 该系统由AT89C51单片机 LCD1602模块 DS18B20温度传感器模块 DS1302时间模块 继电器驱动模块 电位器模块构成 适用于智能饮水机 智能水杯等相似项目 可实现功能 版本一 1 LCD1602实时显示时间 水
  • DS18B20的原理及实例代码(51单片机、STM32单片机)

    一 DS18B20介绍 DS18B20数字温度传感器是DALLAS公司生产的单总线器件 用它来组成一个测温系统具有线路简单 体积小 在一根通信线上可以挂很多这样的数字温度传感器 十分方便 温度传感器种类众多 应用在高精度 高可靠性的场合时D
  • Java18都在路上了,你还在用Java8吗?

    Java18都在路上了 你还在用Java8吗 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Java的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评论区回复 888 之后私信回复 8

随机推荐

  • Oracle中的数据类型——NUMBER

    NUMBER类型概述 NUMBER类型可以用来存储0 正数 负数 数据范围是1 10 130 1 10126 不能等于或者大于1 10126 否则Oracle会报错 算数表达式的结果同理 NUMBER类型的定义 NUMBER precisi
  • 计算机e盘丢失了,电脑E盘突然不见了怎么找回_电脑的E盘突然不见了的解决方法...

    电脑一般会有C D E F等多个磁盘 用于储存不同的程序 方便管理 近期 有用户说自己准备打开E盘安装软件 结果发现E盘突然不见了 这样就没办法把软件安装在E盘上 有什么办法能让E盘恢复 方法有的 现在整理具体操作教程给大家 具体方法如下
  • C++强制类型转换

    C 类型转换 C风格的强制转换 在C 基本的数据类型中 可以分为四类 整型 浮点型 字符型 布尔型 其中数值型包括 整型与浮点型 字符型即为char 1 将浮点型数据赋值给整型变量时 舍弃其小数部分 2 将整型数据赋值给浮点型变量时 数值不
  • 手机网站支付宝支付

    1 支付宝开放平台 支付宝手机网站支付 具体的请求参数和返回参数等相关数据 https docs open alipay com 203 107090 2 支付demo 下载手机网站支付相关的demo 这里的demo和APP支付提供的dem
  • Android webview登录手机QQ

    选择我们的应用 在对应的上述我们定义的QQActivity的onCreate或onNewIntent 如果该activity在栈里出现过 里就能响应了 通过intent取出url 找了url特征字符没有发现token或code 才发现在系统
  • 数据分析之Pandas从入门到放弃:代码+实战,9分钟带你推开Pandas大门!!!

    今天整理了一下Pandas的使用方法 应该是全网整理最完整 最简洁易读 立整 的一篇文章 嗯 别不信 确实是这样的 跟着小鱼 带你9分钟推开Pandas的大门 从此走上数据分析师的苦逼之路 Pandas使用方法 1 Pandas的基本定义
  • 制作个人图片api接口

    制作个人图片api接口 前言 准备工作 过程介绍 操作过程 上传图片到github仓库中 在github中进行项目的发布 编写php文件 引用jsDeliver上的文件 在nginx配置文件中配置好php fpm相关配置 测试 测试php配
  • MFC设计

    细说UI线程和Windows消息队列 转载于 http blog csdn net huasonl88 article details 8589396 0 tsina 1 99086 397232819ff9a47a7b7e80a40613
  • Ubuntu18.04版本安装ssh及连接ssh的常见问题

    下面我们来解决Ubuntu18 04版本安装ssh及连接ssh的常见问题 及解决方法 题外话 安装Ubuntu时会提示一句Please remove the installation medium then reboot 提示这段话 可以直
  • 以太坊网络架构解析

    以太坊网络架构解析 版权 0x7F 知道创宇404区块链安全研究团队 https www cnblogs com southx p 9334639 html 0x00 前言 区块链的火热程度一直以直线上升 其中以区块链 2 0 以太坊为代表
  • 有效服务台管理的5个关键度量指标

    从格言到ITIL 这些标准格言容易与ITSM和ITIL直接联系起来 通过ITIL实施ITSM的一个重要好处是其为持续创建 部署 实施和停役IT服务提供了一个框架 持续改进是ITIL的内在特性 它包含于ITIL服务生命周期管理的持续流程改进
  • python创建和修改yaml文件

    1 创建yaml import os import yaml desired caps train dataTrain 2007 train txt val dataTrain 2007 val txt nc 2 names a b cur
  • MFC调用mysql操作

    要用MySQL提供的C语言API 首先要包含API的头文件目录 也就是在MFC工程属性中的 包含目录 下添加MySQL安装目录的 include 文件夹 因为API是以动态链接库的形式打包的 所以还要在MFC工程属性中的 库目录 下添加My
  • pip安装python库时报Failed building wheel for xxx

    目录 一 问题描述 二 解决办法 1 下载并安装对应的 whl 文件 2 安装 whl 文件 一 问题描述 如题 在使用pip install xxx的方法安装python库 或者是基于python的软件时 报错 ERROR Failed
  • 什么是vuex?(五分钟理解vuex)

    1 什么是vuex 官方的理解是 Vuex 是一个专为 Vue js 应用程序开发的状态管理模式 它采用集中式存储管理应用的所有组件的状态 并以相应的规则保证状态以一种可预测的方式发生变化 Vuex 也集成到 Vue 的官方调试工具 dev
  • 10kV 电压互感器TV高压熔断器熔断可能是什么原因?

    10kV 电压互感器TV高压熔断器熔断可能是什么原因 答 1 当系统在某种运行方式 某种条件下 可能产生铁磁共振 这时也会产生过电压 有可能使TV的激磁电流增加十儿倍 会引起高压侧熔断器熔断 2 系统发生单相间谐电弧接地时 会出现过电压 可
  • 从数组中找出最小的k个数

    调整堆 小顶堆 void HeapAdjust int A int parent int length temp保存当前父节点parent int temp A parent 左子结点开始 i节点的左孩子为2i 1 右孩子为2i 2 for
  • Python实现快速排序

    Python实现快速排序 一 快速排序简介 快速排序 Quick Sort 是一种效率很高的排序算法 是对冒泡排序的一种改进排序算法 快速排序首先任意选取一个数据 通常选待排序列表中的第一个数 作为基准数据 将待排序列表中的数据分割成独立的
  • 微软arm服务器2021,2021 H1版Windows 10或大改,ARM跑64位X86可能性大吗?

    描述 从10月份发布的Surface产品线来看 微软未来不仅会携手Intel AMR两大X86巨头 与高通在ARM上的合作也不会停止 最新传闻称2021 H1版的Windows 10就会大改 支持在ARM处理器上运行64位X86软件 201
  • 基于51单片机的智能窗帘设计

    具体实现功能 系统由STC89C51 1602液晶 步进电机 光敏电阻 按键模块 DS1302时钟模块 ADC0832模块 电源构成 1 LCD1602显示日期和时间 当前控制模式及光照强度 2 可通过按键切换 手动模式 定时模式 光控模式