硬件方案

自动窗帘系统硬件电路主要由感光检测电路,时钟电路,电机控制电路、按键电路等外围电路构成。该设计则主要讨论了自动窗帘系统的设计过程,硬件电路设计,软件调试过程。通过本系统可以实现通过光照强度实现窗帘开关自动控制、定时控制和手动控制等不同的控制方式。
   硬件主要采用51单片机+LCD1602液晶显示+DS18B20+光敏电阻+DS1302+步进电机+ULN2003设计而成;原理图如图:

PCB及仿真图:

设计功能

  • 液晶实时显示目前的状态,包括温度、模式、光线强度、时间等信息。
  • 智能窗帘可以根据外界光线的强弱来进行自动开关窗户,光线强弱的上下限可以按键调节。
  • 具有手动控制功能,可以手动开/关窗户。
  • 可以通过按键设定窗帘开启的时间和自行关闭的时间。可以通过按键设定温度值,低于或者高于设定值进行开/关窗户。

软件设计

主程序源码

/*********************************************************/
// 主函数
/*********************************************************/
void main()
{uchar light;LcdInit();            // 执行液晶初始化    DS1302_Init();    // 时钟芯片的初始化LcdShowInit();    // 液晶显示内容的初始化if(DS1302_Read_Byte(0x81)>=128)            // 判断时钟芯片是否正在运行{DS1302_Write_Time();                            // 如果没有,则初始化一个时间}while(1){DS1302_Read_Time();                // 获取当前时钟芯片的时间,存在数组time_buf中FlashTime();                            // 刷新时间显示light=Get_ADC0832();            // 读取光照强度light=light/2.5;                    // 缩小光照检测结果(在0-99)if(light>99)                            // 如果大于99light=99;                                // 则依然保持99LcdGotoXY(1,14);                    // 光标定位LcdPrintNum(light);                // 显示光照强度KeyScanf1();                            // 按键扫描(时间的设置)KeyScanf2();                            // 按键扫描(阈值的设置)KeyScanf3();                            // 按键扫描(模式切换)/*手动控制模式*/if(gMode==1){if(KeyDown_P==0)        // 如果关窗帘键按下了    {if(Led_P==0)            // 如果窗帘当前是打开的{Close();                // 则光标窗帘}}if(KeyUp_P==0)            // 如果开窗帘键按下了{if(Led_P==1)            // 如果窗帘当前是关闭的{Open();                    // 则打开窗帘}}    }/*时间控制模式*/if(gMode==2){if((TimeBuff[4]==CloseHour)&&(TimeBuff[5]==CloseMinute)&&(TimeBuff[6]==0))    // 如果到了关窗帘的时间    {if(Led_P==0)            // 如果窗帘当前是打开的{Close();                // 则光标窗帘}}if((TimeBuff[4]==OpenHour)&&(TimeBuff[5]==OpenMinute)&&(TimeBuff[6]==0))        // 如果到了开窗帘的时间    {if(Led_P==1)            // 如果窗帘当前是关闭的{Open();                    // 则打开窗帘}}    }/*光线控制模式*/if(gMode==3){if(light<gLight)        // 当前光线小于设置的阈值{if(Led_P==0)            // 如果窗帘当前是打开的{Close();                // 则光标窗帘}}else                                // 当前光线大于或等于设置的阈值{if(Led_P==1)            // 如果窗帘当前是关闭的{Open();                    // 则打开窗帘}}    }DelayMs(100);                            // 延时0.1秒}
}

资料链接:https://pan.baidu.com/s/12wmK7sfYimJJYPWvzGJPeg?pwd=dmza 
提取码:dmza

51单片机的智能窗帘设计相关推荐

  1. 【毕业设计】基于51单片机的智能窗帘设计(原理图+原理图+仿真+论文)

    按键1:加(手动开启窗帘 按键2:减(手动关闭窗帘) 按键3:进入定时模式开启时间和光控阈值数值大小的开启 按键4:进入当前时间的设置(年.月.日.时.分的设置) 按键5:切换模式(在手动模式.定时模 ...

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

    一.项目功能概述 1.使用DHT11获取温湿度 2.使用光照强度传感器检测环境光照 3.通过红外遥控器切换自动模式和手动模式. 自动模式时,当环境中湿度小于60%.温度大于20.光照强烈时,电机自动转 ...

  3. 智能窗帘研究制作_基于51单片机的智能窗帘的研究与设计.doc

    基于51单片机的智能窗帘的研究与设计 第 PAGE \* Arabic \* MERGEFORMAT 24 页第 PAGE \* Arabic \* MERGEFORMAT 24 页 目录 TOC \ ...

  4. 智能窗帘研究制作_基于单片机的智能窗帘设计

    基于单片机的智能窗帘设计 摘 要 本设计通过分析电动窗帘的现状和人们对自动窗帘控制系统的功能的需求,从而对自动窗帘控制器进行总体的设计.系统的总体设计采用以步进电机作为单片机控制元件,执行窗帘开闭的主 ...

  5. 基于51单片机的智能电子秤设计

    具体实现功能 系统由STC89C51单片机+最小系统+LCD1602液晶显示模块+HX711AD模块+LED模块+蜂鸣器+按键模块+10kg压力传感器构成. 具体功能: 1.数码管显示当前的重量,单位 ...

  6. 基于51单片机的智能鱼缸设计。 有原理图,程序,原文,可代做实物。 才用STC12C5A60S2,最新款国产51单片机

    基于51单片机的智能鱼缸设计. 有原理图,程序,原文,可代做实物. 才用STC12C5A60S2,最新款国产51单片机. 本系统设计的主要是基于单片机为核心,设计一款集温度检测.恒温控制.步进电机控制 ...

  7. 基于51单片机的智能鱼缸设计

    基于51单片机的智能鱼缸设计. 有原理图,程序,原文,可代做实物. 才用STC12C5A60S2,最新款国产51单片机. 本系统设计的主要是基于单片机为核心,设计一款集温度检测.恒温控制.步进电机控制 ...

  8. 基于51单片机的智能加湿器设计。 有仿真,程序,原理图,原文

    基于51单片机的智能加湿器设计. 有仿真,程序,原理图,原文. 可做实物. 通过DHT11实时监测环境温湿度,按键设定温湿度阈值,超限加湿器工作. 有水位检测电路,水位不足时候,报警提醒,防止干烧. ...

  9. 基于51单片机的智能窗帘项目,源码+原理图+pro仿真。

    基于51单片机的智能窗帘项目,源码+原理图+pro仿真. 介绍 :此作品有四种模式,通过四个独立按键调控,模式1:三个光感范围,使得电机驱动窗帘自动开,半开,关;模式2:15-25度的温度阈值,低于或 ...

最新文章

  1. 动软代码生成器教程——懒人有福了
  2. SAP Workload Monitor
  3. GD32的flash读、擦除、写操作
  4. python经典100例答案pdf-Python3基础训练经典100题(带答案)下载
  5. 关于 angularjs 的小结
  6. Python3爬虫(十一) 爬虫与反爬虫
  7. plaintextedit指定一行一行的高亮显示_RDKit | 基于RDKit的指定原子或键高亮
  8. window - 安装 tomcat
  9. 麻省理工18年春软件构造课程阅读15“相等”
  10. 微型计算机原理王忠民PPT,微型计算机原理4 王忠民著.ppt
  11. MS08067 知识星球 “网络安全应急响应训练班”,限时免费加入~
  12. 原生html5时间组件,amazeui时间组件的实现示例
  13. 第三届同花顺算法大赛 | 2022 | AI算法
  14. 国外科研论文搜索网站汇总
  15. python写word报告_使用Python自动生成word巡检报告【二】
  16. C语言 strcat 函数 - C语言零基础入门教程
  17. 深入GraphQL 的使用语法
  18. 【有利可图网】PS实战系列:制作饼干字特效
  19. JAVA计算机毕业设计图书馆预约占座系统(附源码、数据库)
  20. Altium Designer 20 (11)——封装的IPC创建

热门文章

  1. 飞鱼48小时游戏创作嘉年华_厦门Pitch Time总结与收获
  2. 手机app客户端软件制作成本
  3. 腾讯企业 html邮件模板,腾讯企业邮箱DMARC设置指南(TXT记录)
  4. 搜索进阶之迭代加深搜索
  5. JavaSE_kuang
  6. linux分区方案 1t,linux CentOS WEB服务器分区方案
  7. armbian清理_小孩子才做选择,OMV、HomeAssistant我全都要,小白也能看懂的N1盒子纯净刷机指南...
  8. 小程序前端Vue里使用u-upload进行多图片上传
  9. php 区位码字符,PHP汉字转区位码用法示例
  10. java 内存模型数据结构-02