基于单片机的温控光控智能窗帘设计探讨

news2024/10/2 20:29:15
摘 要: 文章使用的核心原件是 AT89C52 单片机,以此为基础进行模块化的设计,在整个设计中通过加入光检测模块和温度检测模块,从而对室内的温度和光照强度进行检测,然后将检测得到的数据传输给单片机,单片机对电机的继电圈的通断进行控制,从而通过电机的正转和反转,从而实现对窗帘开合的设置。并且光检测模块和温度检测模块检测得到的数据可以传输给 LCD 显示器,还可以通过手动控制的方式对窗帘的开合进行设置,从而实现对窗帘开合的多模式的控制。文章使用的单片机的温控光控智能窗帘设计具有很好的抗干扰能力、稳定性,并且具结构简单,能够满足家居需求。
关键词: 单片机;温控;光控;智能窗帘

1 引言

随着人们生活水平的提高以及科学技术的飞速发展,在计算机技术、网络技术、通信技术等方面的技术也在突飞猛进,基本利用各种技术实现了生活智能化,使得人们的居住环境向着安全化、智能化和舒适化的方向发展,家居的智能化也在向着这个方向发展 。人们对家居生活的舒适度要求越来越高,能够根据温度、阳光进行自动开合的智能窗帘成了家庭生活的新宠儿。所以,文章主要是对基于单片机的温控光控智能窗帘进行设计方面的讨论。
文章选择使用的单片机为 AT89C52 控制芯片,使用的光照传感器为 BH1750FVI,温度传感器为 DHT11,温度传感器和光照传感器将收集到的数据传输给单片机,单片机将得到数据信号进行转化,输出的为电机信号,由电机驱动对电路的直流或者是交流进行控制,实现窗帘的自动拉合。并且用户也可以根据得到的显示信息进行手动控制,实现窗帘的手动控制。

2 智能窗帘在硬件方面的设计

智能窗帘的整合硬件系统主要分为八个不同的部分,包括温度检测部分、光线强度检测装置、输入部分、单片机部分、电机驱动模块、显示部分、射频部分和电机控制部分。其各个部分之间的关系如图 1 所示。

光照强度检测使用的装置是 BH1750FVI 光照强度传感器,是一种由两线相互串联形成总线,在连接接口而形成的电路 。这个传感器可以根据光线的强度对环境的光照强度进行检测,具有很高的分辨率,能够接受很大范围的光照强度,并且其接受光照的误差今仅在 20% 左右。
温度检测模块使用的 DHT11 湿度温度传感器,一般该模块能够将温度湿度的信息转换成数字信号,在电路中不需要通过 A/D 进行转换即可得到信息数据,并且转换的温度的量程在 0℃~ 50℃。
电机部分使用的直流电机对串联的开合进行自动的控制,这样能够实现对串联开合的简便控制,本设计使用了驱动电路,主要原因是单片机集成电路输出的总电流太小,不能带动电机的工作,所以需要使用驱动电机
本系统中使用的键盘模块的主要作用是在温控光控的基础上添加手动控制,从而使得自动化窗帘能够在自动控制的基础上有手动控制的功能。一般将返回功能和菜单切换功能显示在 LCD 的显示屏上,有助于手动对时间和窗帘的开合进行控制。
光控和温控的电机程序才是设计的主要关键部分,单片机的正转或者是反转主要是根据光照和温度所检测到的数值的变化。一般在这样程序的初始端时,会把整个程序初始化,对当前的光照强度、温度进行检测,若是不符合条件则需要返回初始值,若是符合设定的条件,电机就会正转,从而实
现将窗帘打开的自动化控制。所以在整个运行过程中接触到开关,电机的运行就会停止,若是没有接触到行程开关,电机的运行就不会停止,电机保持正转的方向,直到接触到行程开关之后。若是窗帘处于打开的状态,经过光照检测器的检查,光照强度高于设定值或者是温度高于设定值,电机就会开启反转的状态,窗帘闭合。当行程开关接触时,电机的运动就会停止,从而实现窗帘的温控、光控自动化控制。

3 结束语

文章设计的温度光照强度智能窗帘的设计功能概括如下:1)根据温度光照强度对窗帘的开合进行控制;2)可以显示温度时间等数据;3)具有定时功能,可以根据时间设定控制窗帘的开合;4)也可以通过遥控器和按键等手动操作方式对窗帘的开合进行手动化控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1912512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mosh|内连接、外连接、左连接、右连接(未完)

下图取自菜鸟教程,侵权删~ 一、内连接:Inner Joins 模版:SELECT * FROM A JOIN B ON 条件 含义:返回A与B的交集,列为AB列之和 练习:将order_items表和products表连接,返回产品id和…

成为编程大佬!!——数据结构与算法(1)——算法复杂度!!

前言:解决同一个程序问题可以通过多个算法解决,那么要怎样判断一个算法的优劣呢?🤔 算法复杂度 算法复杂度是对某个程序运行时的时空效率的粗略估算,常用来判断一个算法的好坏。 我们通过两个维度来看算法复杂度——…

记录docker部署好golang web项目后浏览器访问不到的问题

部署好项目,docker ps -a查看没有任何问题 端口映射成功,但是浏览器就是访问不到,排查后发现犯了个错,注意,项目配置文件中的端口: 其实也就是你项目中监听的端口: 必须和容器端口一致&#x…

Linux——多线程(四)

前言 这是之前基于阻塞队列的生产消费模型中Enqueue的代码 void Enqueue(const T &in) // 生产者用的接口{pthread_mutex_lock(&_mutex);while(IsFull())//判断队列是否已经满了{pthread_cond_wait(&_product_cond, &_mutex); //满的时候就在此情况下等待// 1.…

看影视学英语(假如第一季第一集)

in the hour也代表一小时吗?等同于in an hour?

Effective C++笔记之二十一:One Definition Rule(ODR)

ODR细节有点复杂,跨越各种情况。基本内容如下: ●普通(非模板)的noninline函数和成员函数、noninline全局变量、静态数据成员在整个程序中都应当只定义一次。 ●class类型(包括structs和unions)、模板&…

独立开发者系列(23)——Linux掌握小结

只要开发系统,就绕不开使用Linux服务器 ,而Linux除了使用BT面板进行初级管理,很多稍微高级点的管理,还是需要命令行进行的。这里总结在不需要精通的情况下,掌握常见命令和环境的相关配置。 (1&#xff09…

Linux学习之网络配置问题

Linux学习——那些我们网络配置遇到过的问题?ping不通百度?XShell连接不上?(超详细) 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感…

HTML 标签简写及全称:表格内容将通过JavaScript动态生成

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…

振弦采集仪在大型工程安全监测中的作用与意义

振弦采集仪在大型工程安全监测中的作用与意义 河北稳控科技振弦采集仪是一种用于测量振动频率的仪器&#xff0c;常用于大型工程的安全监测中。它通过采集振弦的振动信号&#xff0c;可以对工程结构的振动特性进行实时监测和分析。振弦采集仪在大型工程安全监测中具有重要的作…

【目标跟踪】CoTracker 环境配置

配置 CoTracker 环境 首先下载 conda&#xff0c;然后安装虚拟环境。 1.创建环境&#xff1a;如果环境不存在&#xff0c;你需要创建一个新的 conda 环境。可以使用以下命令创建名为 cotracker 的环境&#xff1a; conda create -n cotracker python3.x 其中 3.x 是你想要安…

C语言程序题(一)

一.三个整数从大到小输出 首先做这个题目需要知道理清排序的思路&#xff0c;通过比较三个整数的值&#xff0c;使之从大到小输出。解这道题有很多方法我就总结了两种方法&#xff1a;一是通过中间变量比较和交换&#xff0c;二是可以用冒泡排序法&#xff08;虽然三个数字排序…

【UE5.3】笔记9

1、如何将BSP笔刷转换为静态网格体&#xff1f; 在笔刷的细节的高级里面找到创建静态网格体&#xff1b; 2、如何将自己创建的一个由多个网格体或其他组件组合成的道具转换为个整体即蓝图类&#xff1f;---即把多个Actor转换成蓝图类 选中所要整合的对象&#xff0c;要全选中…

js原型和类---prototype,__proto__,new,class

原型和原型链 在js中&#xff0c;所有的变量都有原型&#xff0c;原型也可以有原型&#xff0c;原型最终都指向Object 什么是原型 在js中&#xff0c;一个变量被创建出来&#xff0c;它就会被绑定一个原型&#xff1b;比如说&#xff0c;任何一个变量都可以使用console.log打…

数据结构 Java DS——链表部分经典题目 (1)

前言 笔者计划在暑假啃完JavaDS,Mysql的内容当然也会继续更 这次给读者们分享的是链表的几个比较典型的题目,关于如何手搓一个链表,笔者还在筹划中, 毕竟链表的种类也有那么多,但是在下面的题目中,只有单向链表 题目一 : 反转链表 206. 反转链表 - 力扣&#xff08;LeetCode…

文献笔记|综述|When Large Language Model Meets Optimization

When Large Language Model Meets Optimization 题目&#xff1a;当大型语言模型遇到优化时 作者&#xff1a;Sen Huang , Kaixiang Yang , Sheng Qi and Rui Wang 来源&#xff1a;arXiv 单位&#xff1a;华南理工大学 文章目录 When Large Language Model Meets Optimization…

java:字符缓冲流特有功能

BufferedWriter&#xff1a; void newLine&#xff08;&#xff09;&#xff1a;写一行行分隔符&#xff0c;行分隔符字符串由系统属性定义 BufferedReader&#xff1a; public String readLine&#xff08;&#xff09;&#xff1a;读一行文字&#xff0c;结果包含行的内容的字…

Mosh|初学者 SQL 教程

sql文件链接&#xff1a;链接: https://pan.baidu.com/s/1okjsgssdxMkfKf8FEos7DA?pwdf9a9 提取码: f9a9 在mysql workbench 导入 create_databases.sql 文件&#xff0c;下面是运行成功的界面 快捷方式&#xff1a;全部运行可以同时按下controlcommandenter &#xff0c;或者…

rsync远程同步--累了,明天继续再写~。

rsync官网链接 rsync(Remote Sync,远程同步)开源快速备份工具&#xff0c;是一个用于本地和远程文件同步的Unix-like命令行程序。它使用“快速数据传输算法”&#xff0c;只发送源和目标之间的差异&#xff0c;因此数据传输非常高效。 可以在不同主机之间镜像同步整 个目录树…

基于网络编码的 tcp 变种-tcp/nc

tcp/nc 是指 “tcp with network coding”&#xff0c;是一种结合了网络编码技术的 tcp 变种&#xff0c;网上资源很少&#xff0c;我也不准备多介绍&#xff0c;只介绍它的核心。 传统 tcp 在演进过程中一直搞不定效率问题&#xff0c;网络带宽在增长&#xff0c;cpu 却没有变…