1、基于51单片机的蓝牙智能光控窗帘基于51单片机的蓝牙智能光控窗帘一、设计思路系统选用 STC12C5A60S2 作为主控芯片,用以完成对系统执行机构的控制、信息处理和液晶显示。 单片机控制直流减速电机实现窗帘、窗户的控制。 光照强度、温湿度信号均通过无线蓝牙模块传输至单片机,经处理后实现电机对窗户、窗帘的自动控制。根据设计方案和要求,可将电路分为 5 部分,分别为无线蓝牙遥控,传感器数据采集,电机驱动控制,单片机主控和电源部分。二、系统结构此方案控制采用51单片机的最小系统来驱动步进电动机控制窗户和窗帘的拉开和关闭。家居推拉窗及窗帘控制系统可以利用蓝牙无线模块根据室外环境亮度实现环境亮度光控。
2、以及光控状态下环境亮度的控制参数的调整等等。该控制设计可谓是一款多功能的推拉窗及窗帘控制系统设计方案。系统软件设计框图如下:1.光强度传感器 BH1750FVI不区分光源数字型环境光强度传感器BH1750FVI是日本 株式会社近些年推出的一种两线式串行总线接口的集成电路,可以根据收集的光线强度数据来进行环境监测,其具有165535的高分辨率,可支持较大范围的光照强度变化。BH1750FVI结构框图如图所示。 图1 BH1750FVI结构框图从结构框图可容易看出,外部光照被接近人眼反应的 高精度光敏二极管探测到后,通过集成运算放大器将 电流转换为 电压,由模数转换器获取 位数字数 据,然后被逻辑
3、和界面进行数据处理与存储。为 内部的振荡器提供内部逻辑时钟,通过相应的指令操作即 可读取出内部存储的光照数据。数据传输使用标准的 总线,按照时序要求操作起来也非常方便。2.温湿传感器: DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器
4、内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最正确选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。3.电机驱动L298N 的说明及应用恒压恒流桥式2A 驱动芯片L298NL298 是SGS 公司的产品,比较常见的是15 脚Multiwatt 封装的L298N,内部同样包含4 通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N 芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接
5、通过电源来调节输出电压;可以直接用单片机的IO 口提供信号;而且电路简单,使用比较方便。L298N 可接受标准TTL 逻辑电平信号VSS,VSS 可接457 V 电压。4 脚VS 接电源电压,VS 电压范围VIH 为2546 V。输出电流可达2 A,可驱动电感性负载。1 脚和15 脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298 可驱动2 个电动机,OUT1,OUT2 和OUT3,OUT4 之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12 脚接输入控制电平,控制电机的正反转。EnA,EnB 接控制使能端,控制电机的停转。表1 是L298N 功能
6、逻辑图。L298N 驱动模块的应用In3,In4 的逻辑图与表1 相同。由表1 可知EnA 为低电平时,输入电平对电机控制起作用,当EnA 为高电平,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。L298N 控制器原理如下:三、控制软件流程图多个1.传感器控制程序但凡利用一定的物性(物理、化学、生物)法则、定理、定律、效应等进行能量转换与信息转换,并且输出与输入严格一一对应的器件和装置均可称为传感器;传感器又被称为变换器、转换器、检测器、敏感元件、换能器和一次仪表等。传感器一般由敏感元件、转换元件和测量电路三部分组成,有时还加上辅助电源。系统中的传感器是感受被测量的
7、大小并输出相对应的可用输出信号的器件或装置。数 据传输环节用来传输数据。当检测系统的几个功能环节独立地分隔开的时候,则必须由一 个地方向另一个地方传输数据,数据传输环节就是完成这种传输功能。2.中断控制程序当传感器模块传来的数据并判断正确时,则中断程序对T1口进行初始化,进而接收来自两个模块的新数据,比较判断后传到命令地址进而对电机进行驱动和通过显示器显示出来。中断控制程序3.电机驱动程序步进电机执行来自控制器的命令,判断其命令是否正确,假设不正确则返回,假设正确则继续执行命令,比较做出相应的动作,当窗帘及推拉窗到达指定的位置时停止,器流程图如下。四、主要程序的指令:附录一:蓝牙无线模块附录二
8、:DHT11数字温湿度传感器附录三:光强度传感器BH1750附录一:蓝牙无线模块:修改at:#include / 引用程式庫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()
9、; 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);
10、 / 发送A while(1); 附录二:DHT11数字温湿度传感器:U8 code table2= wendu shidu ;U8 code table3= . . ;sbit RS=P26;sbit RW=P25;sbit E=P27;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
11、_com(0x38); write_com(0x38); write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); for(num=0;num15;num+) write_date(table2num); Delay(1); write_com(0x80+0x40); for(num=0;num0;x-) for(y=110;y0;y-);void delay_10us() U8 i; i-; i-; i-; i-; i-; i-; void COM(void) /数据0 1确认 U8 i; for(i=0;i8;i
12、+) U8FLAG=2; while(!P1_0)&U8FLAG+); /1bit是否结束 delay_10us(); delay_10us(); delay_10us(); U8temp=0;/ 26us28us 表示为0 if(P1_0)U8temp=1; / 超过28us依然为高电平 表示为1 U8FLAG=2; while(P1_0)&U8FLAG+); if(U8FLAG=1)break;/U8FLAG溢出超时则跳出for循环 /判断数据位是0还是1 / 如果高电平高过预定0高电平值则数据位为 1 U8comdata=1; U8comdata|=U8temp; void RH(void) /-湿温度读取子程序 - P1_0=0; Delay(34); /主机拉低高于18ms P1_0=1; /总线由上拉电阻拉高 主机延时20us delay_10us(); delay_10us(); delay_10us(); delay_10us(); P1_0=1;/主机设为输入 判断从机响应信号 if(!P1_0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1