本设计是基于STC89C51单片机的遥控窗帘。它采用按键和无线遥控两种控制方式,其中SC2262/SC2272 编码解码芯片组成无线发送接收模块;通过控制直流电机的正反转来控制窗帘的开关,并且可以指示运行状态;利用限位开关来控制窗帘停止,防止过卷。

它采用8位的STC89C51单片机做控制器,采用直流电机驱动窗帘工作。

随着社会经济的高速增长,人民生活水平的不断提高,人们对家庭生活舒适性的需求越来越强烈,窗帘作为每个家庭的家居必须用品,自然也需要满足人们更舒适性的需求,因此一款智能的遥控窗帘的研究具有一定的使用价值。

功能描述

窗帘其基本的作用无非是保护业主的个人隐私以及遮阳挡尘等功能,但传统的窗帘您必须手动去拉动,每天早开晚关也是挺麻烦的,特别是别墅或复式房的大窗帘,比较重,而且长,需要很大的力量才能开关窗帘,很不方便。

遥控电动窗帘在最近几年得到迅速发展,并广泛应用于智能大厦、高级公寓、酒店和别墅等领域,只要遥控器轻按一下,窗帘就自动开合(百叶窗可以自动旋转),非常方便。

本次设计主要研究的是利用单片机的无线遥控电路的设计。

系统总体方案及硬件设计

本系统主要由单片机最小系统、无线发射、接收模块、按键部分、电机控制执行部分和限位开关组成。

设计思路

本设计是基于单片机的遥控窗帘,采用8位的STC89C52单片机做控制器,程序采用C语言编程。利用直流电机正反转,实现控制窗帘的开关。无线遥控是由SC2262/SC2272 编码解码芯片组成的无线发送接收模块,通过SC2272接收输出端D0、D1、D2、D3输出信号控制单片机,再利用单片机控制L298N来控制直流电机。利用霍尔传感器来实现窗帘的防过卷。

系统框图如下:

系统硬件设计

1.主控芯片

本系统采用STC89C52为主控芯片。

STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52在众多嵌入式控制应用系统中得到广泛应用。

单片机引脚图如下:

2.单片机最小系统

单片机加上适当的外围器件和应用程序,构成的应用系统称为最小系统。

2.1时钟电路

2.2复位电路

单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。

2.3按键设计

2.4无线发送、接收设计

2.5 正反转显示模块

本功能采用在直流电动机两侧并接发管二极管实现,正传是蓝灯亮,反转时黄灯亮。

电路图如下所示:

系统软件设计

程序设计

本系统采用C语言编程,主要使用了if、while等判断语句,按键采用高电平有效模式。当有按键按下时,无线发射模块发出信号,接收模块解码后响应相应功能,当限位开关闭合时,说明窗帘已经到达指定位置,停止转动。

 1系统程序流程图

2系统原理图

2.1最小系统复位电路

2.2控制板

2.3遥控板

3系统程序

#include<reg52.h>
#include<intrins.h>
#include<absacc.h>        //头文件#define uc unsigned char
#define ui unsigned intsbit in_go       =  P1^3;
sbit in_back    =  P1^2;//手动前进后退按键
sbit out_go     =  P3^0;
sbit out_back   =  P3^5;//电机控制输出
sbit limit_go   =  P3^4;
sbit limit_back =  P3^6;//前进后退限位开关
sbit led_go     =  P1^4;
sbit led_back   =  P1^5;//前进后退限位指示灯
sbit light      =  P1^0;//光线传感器
sbit change     =  P1^1;//手动自动切换按键(默认自动)
sbit led_zhishi =  P1^7;
sbit buzz       =  P1^6;bit bdata flag1,flag2,change_flag,flag_shan,flag_shan1,flag_shan2;
uc m,n,shan;void delay(ui x)//延时函数
{ui i,j;for(i=0;i<x;i++)for(j=0;j<110;j++);
}
void work()//工作函数
{if(change==0)//判断切换是否按下 {buzz=1;delay(50);if(change==0)change_flag=~change_flag;//手动,自动切换 buzz=0;while(!change);//释放 }led_zhishi=change_flag;if(change_flag==0)//自动模式 {if(light==0)//夜间(无光)时关闭窗帘 {delay(50);if(light==0){if((limit_go==0)&&(flag_shan==0)){out_go=1;out_back=1;led_go=1;for(shan=0;shan<6;shan++){led_go=~led_go;buzz=~led_go;delay(500);}flag_shan=1;}else if(limit_go==1){out_go=1;out_back=0;led_back=1;led_go=0;flag_shan=0;}}}else if(light==1)//白天(有光)时打开窗帘 {delay(50);if(light==1){if((limit_back==0)&&(flag_shan==0)){out_go=1;out_back=1;led_back=1;for(shan=0;shan<6;shan++){led_back=~led_back;buzz=~led_back;delay(500);}flag_shan=1;}else if(limit_back==1){out_go=0;out_back=1;led_back=0;led_go=1;flag_shan=0;}}}}else if(change_flag==1)//手动模式 {if((in_go==0)&&(limit_go==1))//关闭是否按下 {buzz=1;delay(50);if((in_go==0)&&(limit_go==1)){out_go=1;out_back=~out_back;//按一下打开,再按一下,停止 buzz=0;led_back=1;led_go=out_back;flag_shan1=0;}while(!in_go);//释放}else if((in_back==0)&&(limit_back==1))//打开是否按下 {buzz=1;delay(50);if((in_back==0)&&(limit_back==1)){out_back=1;out_go=~out_go;//按一下关闭,再按一下,停止  buzz=0;led_go=1;led_back=out_go;flag_shan2=0;}while(!in_back);//按键释放}if((limit_go==0)&&(flag_shan1==0)){delay(5);if((limit_go==0)&&(flag_shan1==0)){out_back=1;led_go=1;for(shan=0;shan<6;shan++){led_go=~led_go;buzz=~led_go;delay(500);}flag_shan1=1;}}if((limit_back==0)&&(flag_shan2==0)){delay(5);if((limit_back==0)&&(flag_shan2==0)){out_go=1;led_back=1;for(shan=0;shan<6;shan++){led_back=~led_back;buzz=~led_back;delay(500);}flag_shan2=1;}}}
}void main()//主函数
{light=0;buzz=0;while(1)//进入死循环{work();//调用工作函数 }
}

【IoT】智能硬件设计:遥控窗帘设计相关推荐

  1. 遥控窗帘c语言程序,基于单片机的红外遥控窗帘设计论文(含c语言源程序) 本科毕业论文(设计).doc...

    基于单片机的红外遥控窗帘设计论文(含c语言源程序) 本科毕业论文(设计) 摘 要 随着电子技术和自动化技术的发展,人们对生活质量的要求越来越高.家用电器产品也在不断的更新换代.从始初的晶体管.到电子管 ...

  2. 遥控窗帘c语言程序,基于单片机的红外遥控窗帘设计论文(含c语言源程序) 本科毕业论文.doc...

    基于单片机的红外遥控窗帘设计论文(含c语言源程序) 本科毕业论文 摘 要 随着电子技术和自动化技术的发展,人们对生活质量的要求越来越高.家用电器产品也在不断的更新换代.从始初的晶体管.到电子管:由模拟 ...

  3. 支付宝小程序控制硬件②】 全网首篇,个人支付宝小程序控制智能硬件esp8266,从设计电路到设计协议控制两盏LED灯调节亮度。

    本系列属于支付宝小程序控制智能硬件 esp8266等芯片的思路编程,欢迎大家点点手指关注我半颗心脏,博客文章列表干货多多,有任何疑问评论区留言,第一时间看到回复! [支付宝小程序控制硬件①] 申请个人 ...

  4. 软硬整合技术、智能硬件开发与顶层设计应用_课程

    来自台湾的高焕堂老师,和来自美国硅谷的柯博文老师,共同指导... 课程名称:软硬整合技术.智能硬件开发与顶层设计应用 指导老师:高焕堂.柯博文 课程说明: 在智能&大数据时代,系统开发不仅仅攸 ...

  5. 音频接口设计详解!智能硬件设计,I2S、PDM、TDM选什么接口?

    音频接口设计详解!智能硬件设计,I2S.PDM.TDM选什么接口? 在智能硬件和物联网产品设计中,经常遇到声音的传输.本文主要讲一下最常用的音频接口,以及使用场景. 主要分类:模拟.数字(I2S.PC ...

  6. IoT“永恒之蓝”来袭:路由器等智能硬件成重灾区

    肆虐全球Windows设备的"永恒之蓝"勒索病毒攻击余波未平,一个Linux版的"永恒之蓝"又出现了. 5月25日凌晨,360官方博客紧急发布了Samba远程代 ...

  7. IoT物联网——各大厂质量保障实践汇总(智能硬件其他篇)

    智能硬件篇 基于菜鸟智能柜的iot智能硬件分层测试策略(阿里巴巴) 会议介绍 主讲人:郑兴杰 - 阿里巴巴测试开发专家 分享了基于菜鸟智能柜的 IoT 智能硬件分层测试策略 .主要分为三部分:第一部分 ...

  8. Iot智慧新零售魔镜智能硬件有哪些

    作为智慧零售的一环节,iot智能硬件关注度越来越多,作为分支的一类,AR魔镜为行业带来全新的体验,尤其适合线下连锁门店使用.高清大屏呈现+优秀的互动设计,利用AR技术为消费者提供电商无法比拟的浸入式体 ...

  9. HarmonyOS硬件创新合作伙伴,【HarmonyOS】HarmonyOS智能硬件开发学习指南 - HDC2020

    2020年9月10日,华为HarmonyOS 2.0版本正式官宣!这一次,借助 HarmonyOS 全场景分布式系统和设备生态,将定义全新的硬件.交互和服务体验,打开焕然一新的全场景世界,不愧是Har ...

最新文章

  1. LeetCode简单题之二叉搜索树的范围和
  2. 计算机设计复合材料,两种复合材料几何建模算法-计算机辅助设计与图形学学报.PDF...
  3. 关于LCD的duty与bias
  4. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
  5. 第7章 C控制语句:分支和跳转
  6. 【kafka】kafka topic某些分区 副本落后leader太多
  7. BI在企业数字化转型中的价值
  8. 了解一个百万级 PHP 网站的架构
  9. 问卷星图片自动提取小程序
  10. ADS学习笔记—3.仿真实例
  11. 微机8088主板图绘制
  12. 100条历史典故,读懂半个中国
  13. Ionic 创建打包项目
  14. 计算机排线知识,宏利工程师为您讲解笔记本电脑触摸板软排线FFC的知识点[宏利]...
  15. c语言课程设计作业,c语言课程设计心得体会
  16. 机器学习学习整理(二)对数几率回归与支持向量机
  17. array_column()函数用法
  18. 笔记本电脑电流声(滋啦滋啦声)解决方案
  19. Avalon总线基础介绍(数据手册版)之Avalon-MM接口
  20. C语言一些常用的代码(初学者,随缘更新)

热门文章

  1. 基于Android的万豪酒店APP设计与实现
  2. 使用Haproxy Exporter监控Sparkthrift存活率
  3. 初学Python,需要装什么软件?
  4. bind9 dlz mysql_源码安装Bind 9.10 正式版 开启DLZ数据库支持 和 数据库view查询
  5. 北斗通讯协议4.0 java_北斗一串口协议4.0.pdf
  6. spring boot 实现 Kurento 一对一浏览器视频聊天
  7. strstr函数和strtok函数的使用
  8. 步进电机基础(2.6)-直线步进电机
  9. 2022-2028年中国建筑设计行业市场调查研究及发展前景展望报告
  10. Word查找红色文字 Word查找颜色字体 Word查找突出格式文本