基于51单片机的蓝牙智能光控窗帘

合集下载

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

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

基于单片机的智能窗帘系统设计智能窗帘系统是一种基于单片机技术的窗帘控制系统,通过智能化的方式实现对窗帘的自动控制和远程控制。

本文将分析智能窗帘系统的设计原理及其功能,并基于单片机实现。

智能窗帘系统的设计原理:该系统主要通过感应器、单片机、驱动器和电机组成。

感应器可以感知到光线、温度、湿度等外部环境信息,单片机作为系统的控制中心,根据感应器的反馈信号,判断窗帘的状态,并做出相应的控制动作;驱动器将单片机的控制信号转换为电机控制信号,最后由电机实现窗帘的开启和关闭。

智能窗帘系统的功能设计:该系统具备以下功能:1. 自动控制:根据感应器感知到的环境信息,如光线强度超过一定阈值,则自动关闭窗帘,避免室内过度曝光;反之,当光照不足时,自动开启窗帘,增加室内光线亮度。

2. 远程控制:系统还可以通过手机App或者电脑远程控制窗帘的开关状态。

用户可以随时随地通过网络连接,实现对窗帘的遥控操作。

3. 定时控制:可以根据用户设置的定时任务,自动开启或关闭窗帘。

早上起床时自动开启窗帘,晚上睡觉时自动关闭窗帘。

4. 温度和湿度控制:系统可以通过感知器感知到室内温度和湿度,并根据设定的阈值自动控制窗帘的开合,帮助维持室内的舒适环境。

2. 软件编程:根据系统设计要求,编写单片机的控制程序。

程序需要实现感应器的数据采集、状态判断和控制信号输出。

可以使用C语言或汇编语言进行编程。

3. 测试调试:将硬件和软件进行整合,进行系统的测试和调试。

首先测试感应器的采集功能,确保能够正常感知到环境信息;然后验证单片机的控制逻辑,确保能对窗帘进行正确的开合控制;最后测试远程控制功能,确保可以通过网络连接对窗帘进行遥控操作。

4. 系统优化:根据实际使用情况,对系统进行优化和改进。

可以根据用户反馈对软件进行改进,提升系统的稳定性和用户体验。

基于单片机的智能窗帘系统可以实现自动控制、远程控制、定时控制和温湿度控制等功能。

通过硬件设计和软件编程,可以实现窗帘的智能化管理,提升室内的舒适度和使用便利性。

(完整版)基于51单片机的智能窗帘控制系统设计与实现毕业设计

(完整版)基于51单片机的智能窗帘控制系统设计与实现毕业设计

毕业设计(论文)题目:基于51单片机的智能窗帘控制系统设计与实现系部:信息系专业:电子信息二○一三年十二月基于51单片机的智能窗帘控制系统设计与实现摘要:随着现代电子技术和自动化技术的快速发展,人们越来越向往便捷,轻松的生活方式,人们对生活质量的要求越来越高。

家用电器产品也在不断的更新换代。

从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功能型;由手动控制向红外线遥控、向智能化发展。

这次的毕业设计智能窗帘控制系统的设计与实现是在这个的理念上设计的,本系统主要的模块有单片机驱动模块,电机驱动模块,光敏检测模块,无线收发模块和LED信号显示模块。

本系统分为两种模式,在智能模式下利用光敏电阻检测光照强度的变化,通过单片机驱动电机驱动模块中的电机的正反转实现窗帘的来回移动。

在手动模式下,利用遥控器中的无线发送模块发送信号,再通过单片机驱动电机。

本文设计中的智能遥控窗帘因为操作简单,功能实用和结构简单,所以它基本满足人们对窗帘的智能化的基本需求,也因为前景广泛而有研究的价值。

关键字:51单片机,智能,无线遥控,直流电机目录引言 (5)一、绪论 (5)1.1问题的提出 (5)1.2国外最新的研究成果 (6)1.2.1光控帘 (6)1.2.2隔音帘 (6)1.2.3节能帘 (7)1.2.4隐身帘 (7)1.2.5日能帘 (7)二、核心芯片和器件介绍 (8)2.1DC电源插口介绍 (8)2.2AT89S52单片机 (8)2. 2.1单片机特点和特性 (9)2.2.2单片机的引脚功能 (10)2.3SC2262编码解码芯片 (14)1.3.1SC2262的特点 (14)2.3.2 SC2262的应用范围 (15)2.3.3 SC2262的引脚和说明 (15)2.3.4 SC2262的功能描述 (16)2.3.5 SC2262的工作流程图 (17)2.4SC2272编码解码芯片 (17)2.4.1 SC2272的特点 (18)2.4.2 SC2272的应用范围 (18)2.4.3 SC2272的引脚和说明 (18)2.4.4 SC2272的功能描述 (20)2.4.5 SC2272的工作流程图 (21)2.5315M发射和接受模块 (21)2.5.1315M发射和接受模块应用范围 (22)2.5.2 315M无线发射模块介绍 (22)2.5.3 315M无线接收模块介绍 (23)三、硬件电路的设计 (24)3.1电源和单片机控制部分 (24)3.2继电器控制直流电机部分 (25)3.4光敏识别部分 (26)3.5无线接收和发射部分 (27)四、调试和实现设计 (28)五、软件和程序调试 (29)5.1工作流程图: (29)5.2管脚定义 (29)5.3主函数 (30)总结 (31)致谢 (32)参考文献 (33)附录一:硬件图正反照 (34)附录二:电路原理图和PCB图 (36)附录三:电路仿真图 (37)附录四:C语言程序 (29)引言人民生活水平的不断提高,人们对家庭生活舒适性的需求越来越强烈,窗帘作为每个家庭的家居必须用品,自然也需要满足人们更舒适性的需求。

基于51单片机的智能窗帘控制系统设计与实现

基于51单片机的智能窗帘控制系统设计与实现

项目编号___201111 ___ 江南大学物联网工程学院大学生创新训练计划结题报告项目名称基于51单片机的智能窗帘控制系统设计与实现项目负责人晶所学专业电气工程及其自动化所在学院物联网工程学院(手机)电子信箱diamond-heartqq.项目起止年月2011/11-2012/05第一指导教师肖永松专业技术职务工程师(手机)电子信箱结题日期2012年5月江南大学物联网工程学院创新训练计划项目结题验收表学院名称:物联网工程学院填写日期:2012 年5 月大学生创新训练计划《基于AT89C51单片机的智能窗帘控制系统》成果精粹江南大学二○一二年五月简介随着物联网概念的发展,智能家居的理念也渐渐渗透到我们的生活中,受此启发,我们想尝试着做一个智能窗帘的控制系统,希望可以通过光强和时间来控制窗帘的开合。

恰好我们都进行了电路、模电数电的学习,也曾初步接触了单片机,我们想通过设计这个控制系统来加深我们对所学容的理解和掌握,更加熟悉使用protel等专业软件。

计划设计一个系统可以实现以下功能:在自动模式下,在设定的时间,如早成6点至晚上8点,晚上8点至早晨6点,时间控制,可以避免室开灯造成窗帘自动拉开。

通过光强控制,在设定光照强度围,窗帘拉开,超过设定强度,如夏日中午,为避免房间被光直射造成温度过高,窗帘关闭。

在手动模式下,通过按键来调整窗帘的开合状态。

最终设计使用STC89C51单片机,STC89C51有512字节的数据存储空间,是AT89C51的两倍,并且带有4K字节的EEPROM存储空间,可以断电后保存资料,可以直接使用串口下载,而AT89C51需要专用下载器。

控制系统可以实现对光信号的采集、转换、传输,并根据单片机接收到的信号,结合时钟电路的信号,对步进电机进行控制,通过控制步进电机转向及转动圈数,来实现对窗帘的打开及拉合控制。

设计时对硬件进行了模块化分析,以STC89C51作为主控芯片,光信号采集使用光敏模块,数模转换主要使用PCF8591芯片,显示模块采用1602液晶显示器,时钟电路采用DS1302芯片,电机驱动器主要使用ULN2003。

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

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

基于单片机控制的智能窗帘设计一、引言智能家居是近年来一种越来越流行的概念。

随着科技的不断发展,人们对于家居生活的需求也在不断提高。

智能窗帘作为智能家居的一部分,能够通过远程控制、自动感应等方式实现窗帘的开关和调节,为居住环境提供更加便利和舒适的体验。

本文将介绍基于单片机控制的智能窗帘设计方案。

二、设计原理智能窗帘的设计原理主要包括硬件部分和软件部分。

硬件部分是指所使用的硬件设备和传感器,软件部分则是指控制程序的编写和实现。

1. 硬件部分智能窗帘的硬件部分主要包括:- 单片机:使用单片机作为主控制器,负责接收外部信号并控制窗帘的运动。

- 电机:使用直流电机驱动窗帘的开关。

- 光敏传感器:用于感知光照强度,根据环境光照情况自动调节窗帘的开合程度。

- 温湿度传感器:用于感知室内的温湿度,根据设定的条件自动调节窗帘的开合程度。

2. 软件部分智能窗帘的软件部分主要包括:- 控制程序:编写控制程序,实现窗帘的开关和调节功能。

通过与单片机的通信,接收传感器的信号并控制电机的运动。

- 远程控制:通过无线通信模块实现远程控制功能,用户可以通过手机APP或者其他方式对窗帘进行控制。

- 自动感应:根据光敏传感器和温湿度传感器的信号,自动调节窗帘的开合程度,使室内环境达到最佳状态。

三、设计步骤1. 硬件连接首先,将单片机与电机、光敏传感器、温湿度传感器等硬件设备进行连接。

根据单片机的引脚和硬件设备的接口进行对应连接,确保电路正常工作。

2. 编写控制程序根据设计要求,编写控制程序。

程序的主要功能包括接收传感器的信号、判断信号值,并根据判断结果控制电机的运动。

程序需要考虑到各种情况的处理,例如窗帘的开合程度、开关的灵敏度、光照强度和温湿度的阈值等。

3. 远程控制功能在控制程序的基础上,添加远程控制功能。

通过无线通信模块与单片机进行通信,实现远程控制窗帘的开关和调节功能。

用户可以通过手机APP或其他方式发送指令,单片机接收到指令后执行相应的操作。

基于51单片机的智能窗帘的设计与控制系统

基于51单片机的智能窗帘的设计与控制系统

98电子技术Electronic Technology电子技术与软件工程Electronic Technology & Software Engineering智能窗帘作为现代家居的一部分,在许多的发达国家应用都较为普遍,同时受到人们的喜爱。

随着技术的逐渐发展,人们收入增长,用户对智能家居的需求呈现出快速增长的态势,作为智能家居的一部分——智能窗帘,随着认识的深化,推广的普及,其发展呈现功能多样化、噪音更低化、产品高档化等趋势。

1 控制系统设计概述此设计是实现以STC89C52单片机[8]为控制的核心元件。

其它的外围模块围绕着单片机最小系统展开。

其中包括,显示模块部分选用0.96寸OLED 液晶,可以同时显示年、月、日、时、分、控制模式、光照强度、温度等有关内容;时钟模块部分使用DS1302芯片,在它初始化之后,就会立即运行,单片机只需要对时间信息进行读取即可,根据读取到的时间,设置窗帘的定时打开和关闭;使用光敏电阻与模数转换芯片ADC0832组成光照检测电路,将模拟量光照强度通过芯片数字化处理后显示出来,将光照强度转换成电压,根据电压大小控制窗帘开闭程度;使用DS18B20温度传感器测量温度并显示,将采集温度转换成电压,根据电压大小控制窗帘开闭程度;窗帘使用TB6612FNG 驱动减速直流电机进行代替模拟,通过调节PWM 进行对电机的相应控制,同时配有两个LED 灯用来指示窗帘当前的开关状态;本设计还有5个按键作为操作输入设备,可以对当前时间进行调整设置和设置窗帘开关时间和光控阈值以及温度,切换窗帘控制模式,调节窗帘智能开闭程度;采用USB 5V 对系统进行供电以及程序烧录。

控制系统框图如图1所示。

2 系统电路设计2.1 控制器STC89C52是一款电压低,性能好的CMOS 8位微控制器,含有8k bytes 的能够重复进行擦写的Flash 只读程序存储器,同时拥有256 位的随机存取数据存储器(RAM ),其内部有通用8位中央处理器和Flash 存储单元,STC89C52为控制器有许多优点能够广泛地应用于不同的场景下。

基于51单片机电动窗帘的任务书

基于51单片机电动窗帘的任务书

基于51单片机电动窗帘的任务书电动窗帘在现代家居中越来越普遍,它不仅方便了人们的生活,还提高了生活质量。

本篇文章将以51单片机为基础,结合电动窗帘的特点和功能,制定一份任务书,以指导电动窗帘的制作和使用。

任务书将包括电动窗帘的基本原理、要求、具体步骤和测试方法等内容,以便读者可以更好地理解和应用。

一、任务书的背景和意义随着科技的不断发展,电动窗帘已成为现代家居的一种必备品。

采用了51单片机这种新一代的嵌入式控制技术,可以更好地实现智能化和自动化的控制。

因此,通过制定一份以51单片机为基础的电动窗帘任务书,可以更好地规范和指导电动窗帘的制作和使用,提高人们的生活质量。

二、电动窗帘的基本原理和要求电动窗帘是通过电机驱动窗帘的开合,其基本原理是利用电路控制电机的正反转和停止。

任务书将要求电动窗帘具有以下功能:1.手动、自动控制:可以通过遥控器或者手动开关实现窗帘的开合,也可以通过预设的自动模式实现定时开合;2.光线感应:可以根据光线强弱自动调整窗帘的开合,在强光下自动关窗帘,光线弱时自动开启窗帘;3.状态反馈:窗帘的状态可以通过显示屏或者指示灯实时反馈给用户,便于控制和监控;4.安全保护:电动窗帘在遇到阻力时能够自动停止并报警,保证用户的安全;三、电动窗帘的制作步骤和方法1.材料准备:准备好电机、遥控器、51单片机、传感器、显示屏、手动开关等相关电子元件和设备;2.电路设计:根据电动窗帘的要求,设计合适的电路连接方式,包括电机驱动、光线感应、状态反馈和安全保护等功能;3.硬件连接:按照电路设计图,将各个电子元件进行连接和固定,注意排线的顺序和方向,保证电路连接正确;4.程序编写:编写相应的控制程序,实现手动、自动控制、光线感应、状态反馈和安全保护等功能,需要考虑电机的启停、转向、速度等问题;5.调试测试:将制作好的电动窗帘进行调试测试,检查电路连接是否正确、程序是否稳定等,确保各项功能正常;6.安装使用:将调试通过的电动窗帘进行安装,连接电源,进行使用测试,确保满足要求。

电子信息专业 基于单片机的智能窗帘的设计

电子信息专业 基于单片机的智能窗帘的设计

题目:基于单片机的智能窗帘的设计目录摘要 (I)Abstract ................................................................................................................ I I 1 绪论. (1)1.1课题背景及意义 (1)1.2 国内外发展现状 (1)1.3设计思想及基本功能 (2)1.4主要内容及设计安排 (2)2 系统总体方案设计 (3)2.1 设计要求 (3)2.2 方案选择 (3)3系统硬件设计 (6)3.1整体方案设计 (6)3.2最小系统模块 (6)3.3液晶显示电路 (10)3.4 时钟模块 (11)3.5 光控电路 (13)4 软件设计 (15)4.1 程序语言及软件开发环境 (15)4.2 主程序模块的设计 (15)5集成调试 (4)5.1 调试步骤 (4)5.2 实物调试 (4)5.3 系统软件及仿真结果 (4)6总结 (1)鸣谢 (2)参考文献 (3)摘要窗帘在我们的日常生活中作用很大,主要起到遮蔽强光、保护个人隐私的作用。

传统的窗帘主要依靠人工来控制升降,操作不方便。

近些年来,智能家居概念逐步兴起,催生了一系列智能插座、智能空调等产品。

本文主要研究智能窗帘控制系统的设计,它属于智能家居系统的一部分。

该控制系统,主要以单片机为控制器,配合光线感应传感器,实现窗帘的自动升降。

整个系统通过按键矩阵实现交互控制,相关的交互信息通过液晶显示屏显示出来。

本文先是对整体方案作了简要描述,然后详细介绍硬件电路设计,包括单片机控制器、光敏传感器、电机控制电路等,最后介绍了软件实现的思路。

整个窗帘控制系统设计简单,操作方便,工作稳定。

关键词:智能窗帘;单片机;光敏器件Curtains play an important role in our daily life, mainly to shield the strong light and protect personal privacy. The traditional curtain mainly relies on manual control to lift, which is inconvenient to operate. In recent years, the concept of smart home has gradually risen, giving birth to a series of smart sockets, smart air conditioning and other products. This paper mainly studies the design of intelligent curtain control system, which belongs to a part of smart home system. This control system mainly takes single chip computer as the controller and cooperates with light sensor to realize the automatic lifting of curtain. The whole system achieves interactive control by key matrix, and the related interactive information is displayed by LCD screen. This paper first gives a brief description of the overall scheme, then introduces the hardware circuit design in detail, including single-chip controller, photosensitive sensor, motor control circuit, and finally introduces the idea of software implementation. The curtain control system is simple in design, convenient in operation and stable in operation.Key words: Intelligent Curtain; MCU; Photosensitive Device1.1课题背景及意义时代不断进步,人们的生活也在不断地提高,从最初的洞穴草屋,到如今的高楼大厦,不同的时代人们对于居住的场所和环境有着显著的差别,这是人类步向文明社会一个必然的潮流。

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

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

基于单片机的智能窗帘系统设计【摘要】本文介绍了基于单片机的智能窗帘系统设计。

在首先对背景进行了介绍,指出了智能家居在现代生活中的重要性。

然后提出了智能窗帘系统的设计问题,探讨了如何利用单片机技术实现智能控制。

研究意义部分强调了智能窗帘系统在节能、舒适性和便利性方面的重要作用。

在详细介绍了系统架构设计、硬件设计和软件设计,阐述了单片机在系统中扮演的关键角色。

然后描述了智能窗帘系统的各项功能实现,包括远程控制、定时设置等。

最后通过实验验证了系统的可靠性和稳定性。

结论部分总结了本文研究的成果,展望了未来智能家居技术的发展方向,并探讨了智能窗帘系统在日常生活中的实际应用前景。

通过本文的研究,可以为智能家居领域的进一步发展提供参考和借鉴。

【关键词】单片机、智能窗帘、系统设计、硬件设计、软件设计、功能实现、实验验证、成果总结、展望未来、技术应用1. 引言1.1 背景介绍在当今社会,随着智能家居的兴起,智能窗帘系统作为其中的重要组成部分,受到了越来越多人的关注和青睐。

传统的窗帘需要手动操作,不仅繁琐而且不方便,而智能窗帘系统的出现,可以实现远程控制、定时开关,智能感应等功能,为人们的生活带来更加便利和舒适的体验。

随着科技的不断进步和单片机技术的不断成熟,基于单片机的智能窗帘系统设计逐渐成为研究的热点。

通过使用单片机可以实现对窗帘的智能控制,让用户可以通过手机App或者语音助手实现对窗帘的远程控制,实现自动化智能管理。

本文将基于单片机技术设计一套智能窗帘系统,旨在提高人们对窗帘的使用体验,增加生活的便利性和舒适性。

通过对系统架构设计、硬件设计、软件设计、功能实现和实验验证等方面的研究,探讨如何实现智能窗帘系统的智能化和人性化,为智能家居的发展提供新的解决方案。

1.2 问题提出在现代生活中,窗帘作为家居装饰的重要组成部分,不仅具有遮光、隔热、隔音等功能,还能起到保护隐私的作用。

传统的窗帘需要手动操作,存在操作不便、时间耗费等问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机的蓝牙智能光控窗帘一、设计思路系统选用 STC12C5A60S2 作为主控芯片,用以完成对系统执行机构的控制、信息处理和液晶显示。

单片机控制直流减速电机实现窗帘、窗户的控制。

光照强度、温湿度信号均通过无线蓝牙模块传输至单片机,经处理后实现电机对窗户、窗帘的自动控制。

根据设计方案和要求,可将电路分为 5 部分,分别为无线蓝牙遥控,传感器数据采集,电机驱动控制,单片机主控和电源部分。

此方案控制采用51单片机的最小系统来驱动步进电动机控制窗户和窗帘的拉开和关闭。

家居推拉窗及窗帘控制系统可以利用蓝牙无线模块根据室外环境亮度实现环境亮度光控。

以及光控状态下环境亮度的控制参数的调整等等。

该控制设计可谓是一款多功能的推拉窗及窗帘控制系统设计方案。

系统软件设计框图如下:1.光强度传感器 BH1750FVI不区分光源数字型环境光强度传感器BH1750FVI是日本RHOM株式会社近些年推出的一种两线式串行总线接口的集成电路,可以根据收集的光线强度数据来进行环境监测,其具有1~65535x的高分辨率,可支持较大范围的光照强度变化。

BH1750FVI结构框图如图1所示。

图1 BH1750FVI结构框图从结构框图可容易看出,外部光照被接近人眼反应的高精度光敏二极管PD探测到后,通过集成运算放大器将PD电流转换为PD电压,由模数转换器获取16位数字数据,然后被逻辑和IC界面进行数据处理与存储。

OSC为内部的振荡器提供内部逻辑时钟,通过相应的指令操作即可读取出内部存储的光照数据。

数据传输使用标准的I2C总线,按照时序要求操作起来也非常方便。

传感器控制单片机中央控制程序电机驱动2.温湿传感器:DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。

它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。

每个DHT11传感器都在极为精确的湿度校验室中进行校准。

校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。

单线制串行接口,使系统集成变得简易快捷。

超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。

产品为 4 针单排引脚封装。

连接方便,特殊封装形式可根据用户需求而提供。

3.电机驱动L298N 的说明及应用恒压恒流桥式2A 驱动芯片L298NL298 是SGS 公司的产品,比较常见的是15 脚Multiwatt 封装的L298N,内部同样包含4 通道逻辑驱动电路。

可以方便的驱动两个直流电机,或一个两相步进电机。

L298N 芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO 口提供信号;而且电路简单,使用比较方便。

L298N 可接受标准TTL 逻辑电平信号VSS,VSS 可接4.5~7 V 电压。

4 脚VS 接电源电压,VS 电压范围VIH 为+2.5~46 V。

输出电流可达2 A,可驱动电感性负载。

1 脚和15 脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

L298 可驱动2 个电动机,OUT1,OUT2 和OUT3,OUT4 之间可分别接电动机,本实验装置我们选用驱动一台电动机。

5,7,10,12 脚接输入控制电平,控制电机的正反转。

EnA,EnB 接控制使能端,控制电机的停转。

表1 是L298N 功能逻辑图。

L298N <wbr>驱动模块的应用In3,In4 的逻辑图与表1 相同。

由表1 可知EnA 为低电平时,输入电平对电机控制起作用,当EnA 为高电平,输入电平为一高一低,电机正或反转。

同为低电平电机停止,同为高电平电机刹停。

L298N 控制器原理如下:三、控制软件流程图(多个)1.传感器控制程序凡是利用一定的物性(物理、化学、生物)法则、定理、定律、效应等进行能量转换与信息转换,并且输出与输入严格一一对应的器件和装置均可称为传感器;传感器又被称为变换器、转换器、检测器、敏感元件、换能器和一次仪表等。

传感器一般由敏感元件、转换元件和测量电路三部分组成,有时还加上辅助电源。

系统中的传感器是感受被测量的大小并输出相对应的可用输出信号的器件或装置。

数据传输环节用来传输数据。

当检测系统的几个功能环节独立地分隔开的时候,则必须由一个地方向另一个地方传输数据,数据传输环节就是完成这种传输功能。

2. 中断控制程序当传感器模块传来的数据并判断正确时,则中断程序对T1口进行初始化,进而接收来自两个模块的新数据,比较判断后传到命令地址进而对电机进行驱动和通过显示器显示出来。

开始串口中断初始化T1数据传送到命令置回归标志位中断返回是否有数据NY中断控制程序3. 电机驱动程序步进电机执行来自控制器的命令,判断其命令是否正确,若不正确则返回,若正确则继续执行命令,比较做出相应的动作,当窗帘及推拉窗到达指定的位置时停止,器流程图如下。

四、主要程序的指令:附录一:蓝牙无线模块附录二:DHT11数字温湿度传感器附录三:光强度传感器BH1750附录一:蓝牙无线模块:修改at:#include <SoftwareSerial.h> // 引用程式庫SoftwareSerial BT(8, 9); // 接收腳, 傳送腳char val; // 儲存接收資料的變數void setup() {Serial.begin(9600); // 與電腦序列埠連線Serial.println("BT is ready!");// 設定藍牙模組的連線速率BT.begin(9600);}void loop() {// 若收到「序列埠監控視窗」的資料,則送到藍牙模組if (Serial.available()) {val = Serial.read();BT.print(val);}// 若收到藍牙模組的資料,則送到「序列埠監控視窗」if (BT.available()) {val = BT.read();Serial.print(val);}}从机:void setup(){Serial.begin(9600);}void loop(){while(Serial.available()){char c=Serial.read();if(c=='A'){Serial.println("Hello I am amarino");}}}主机:void setup(){Serial.begin(9600);}void loop(){Serial.println('A'); // 发送Awhile(1);}附录二:DHT11数字温湿度传感器:U8 code table2[]=" wendu shidu "; U8 code table3[]=" . . ";sbit RS=P2^6;sbit RW=P2^5;sbit E=P2^7;void write_com(U8 com){E=0;RS=0;RW=0;Delay(5);E=1;P0=com;E=0;}void write_date(U8 date){E=0;RS=1;RW=0;Delay(5);E=1;P0=date;E=0;P0=0;}void init(){U8 num;Delay(15);write_com(0x38);write_com(0x38);write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);for(num=0;num<15;num++){write_date(table2[num]);Delay(1);}write_com(0x80+0x40);for(num=0;num<15;num++){write_date(table3[num]);Delay(1);}}void write_dht11(U8 add,U8 date){U8 shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}/***********************dht11.h***************************/typedef unsigned char U8;typedef unsigned int U16;sbit P1_0 = P2^0 ;U8 U8FLAG,k;U8 U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8c heckdata_temp;U8 U8comdata;void Delay(U16 z){U8 x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void delay_10us(){U8 i;i--;i--;i--;i--;i--;i--;}void COM(void) //数据0 1确认{U8 i;for(i=0;i<8;i++){U8FLAG=2;while((!P1_0)&&U8FLAG++); //1bit是否结束delay_10us();delay_10us();delay_10us();U8temp=0;// 26us~28us 表示为0if(P1_0)U8temp=1; // 超过28us依然为高电平表示为1U8FLAG=2;while((P1_0)&&U8FLAG++);if(U8FLAG==1)break;//U8FLAG溢出超时则跳出for循环//判断数据位是0还是1// 如果高电平高过预定0高电平值则数据位为1U8comdata<<=1;U8comdata|=U8temp;}}void RH(void) //-----湿温度读取子程序------------{P1_0=0;Delay(34); //主机拉低高于18msP1_0=1;//总线由上拉电阻拉高主机延时20usdelay_10us();delay_10us();delay_10us();delay_10us();P1_0=1;//主机设为输入判断从机响应信号if(!P1_0)//判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行{U8FLAG=2;while((!P1_0)&&U8FLAG++);//判断从机是否发出80us 的低电平响应信号是否结束U8FLAG=2;while((P1_0)&&U8FLAG++);//判断从机是否发出80us 的高电平,如发出则进入数据接收状态COM();//数据接收状态U8RH_data_H_temp=U8comdata; //湿度整数8位COM();U8RH_data_L_temp=U8comdata; //湿度小数8位COM();U8T_data_H_temp=U8comdata; //温度整数8位COM();U8T_data_L_temp=U8comdata; //温度小数8位COM();U8checkdata_temp=U8comdata; //校验位P1_0=1;U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data _L_temp);if(U8temp==U8checkdata_temp) //数据校验正确执行{U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;}}}/***********************main.c***************************/#include <reg52.h>#include <LCD1602.h>U16 a,b,t;U8 flag,i;void main(){RW=1;t=0;flag=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;init();P1_0=1;P2=0xff;Delay(40);while(1){RH();write_dht11(0,U8T_data_H);write_dht11(3,U8T_data_L);write_dht11(9,U8RH_data_H);write_dht11(12,U8RH_data_L);if(flag==2)//100后flag为2,进行比较{if(a==U8T_data_H&&b==U8RH_data_H)Buzzer=0;while(a==U8T_data_H&&b==U8RH_data_H);flag=0;}test();}}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;t++;if(t==2000)//100秒检测一次{t=0;flag=2;//100秒后flag为2 }if(flag==0)//最开始flag为0 赋值{a=U8T_data_H;b=U8RH_data_H;flag=1;//flag变化}}附录三:光强度传感器BH1750://使用时,用户只需更改GPIO_Pin_14、GPIO_Pin_15这两个引脚,并在主函数里面调用此函数即可。

相关文档
最新文档