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

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

1 引言

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

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

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

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

3 结束语

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

相关推荐

  1. 基于单片机简单风扇设计与实现

    2024-07-10 06:32:05       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 06:32:05       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 06:32:05       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 06:32:05       90 阅读
  4. Python语言-面向对象

    2024-07-10 06:32:05       98 阅读

热门阅读

  1. Docker基础使用

    2024-07-10 06:32:05       35 阅读
  2. c_各个unsigned int 和 int的取值范围

    2024-07-10 06:32:05       25 阅读
  3. SVG in VSCode: A Comprehensive Guide

    2024-07-10 06:32:05       28 阅读
  4. 缓存新境界:Eureka中服务的分布式缓存实现策略

    2024-07-10 06:32:05       29 阅读
  5. 架构设计(2)云原生架构与实例部署

    2024-07-10 06:32:05       21 阅读
  6. 力扣--滑动窗口最大值

    2024-07-10 06:32:05       31 阅读
  7. 后端开发常见错误

    2024-07-10 06:32:05       29 阅读
  8. DNS缓存详解

    2024-07-10 06:32:05       27 阅读
  9. Docker 的基本概念和优势

    2024-07-10 06:32:05       29 阅读
  10. Ubuntu 下 Docker安装 2024

    2024-07-10 06:32:05       31 阅读