基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告

上传人:jct2****808 文档编号:54535055 上传时间:2018-09-14 格式:DOC 页数:39 大小:546.65KB
返回 下载 相关 举报
基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告_第1页
第1页 / 共39页
基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告_第2页
第2页 / 共39页
基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告_第3页
第3页 / 共39页
基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告_第4页
第4页 / 共39页
基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告》由会员分享,可在线阅读,更多相关《基于51单片机的蓝牙智能光控窗帘-电子信息科学与技术大学课程设计报告(39页珍藏版)》请在金锄头文库上搜索。

1、1基于基于 51 单片机的蓝牙智能光控窗帘单片机的蓝牙智能光控窗帘1、设计思路设计思路系统选用 STC12C5A60S2 作为主控芯片,用以完成对系统执行机构的控制、信息处理和液晶显示。 单片机控制直流减速电机实现窗帘、窗户的控制。 光照强度、温湿度信号均通过无线蓝牙模块传输至单片机,经处理后实现电机对窗户、窗帘的自动控制。根据设计方案和要求,可将电路分为 5 部分,分别为无线蓝牙遥控,传感器数据采集,电机驱动控制,单片机主控和电源部分。2、系统结构系统结构此方案控制采用51单片机的最小系统来驱动步进电动机控制窗户和窗帘的拉开和关闭。家居推拉窗及窗帘控制系统可以利用蓝牙无线模块根据室外环境亮度

2、实现环境亮度光控。以及光控状态下环境亮度的控制参数的调整等等。该控制设计可谓是一款多功能的推拉窗及窗帘控制系统设计方案。系统软件设计框图如下:51单片机光电传感器温湿度传感器蓝牙模块A/D转 换 器电源模块电机驱动21. 光强度传感器 BH1750FVI不区分光源数字型环境光强度传感器 BH1750FVI 是日本 株式会社近些 年推出的一种两线式串行总线接口的集成电路,可以根据收集的光线强度数据 来进行环境监测,其具有 165535的高分辨率,可支持较大范围的光照强度 变化。BH1750FVI 结构框图如图所示。图 1 BH1750FVI 结构框图从结构框图可容易看出,外部光照被接近人眼反应的

3、 高精度光敏二极管探测到后,通过集成运算放大器将 电流转换为 电压,由模数转换器获取 位数字数 据,然后被逻辑和界面进行数据处理与存储。为 内部的振荡器提供内部逻辑时钟,通过相应的指令操作即 可读取出内部存储的光照数据。数据传输使用标准的 总线,按照时序要求操作起来也非常方便。2. 温湿传感器:传感器控制单片机 中央控制程序电机驱动3DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质

4、卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。3. 电机驱动L298N 的说明及应用恒压恒流桥式2A 驱动芯片L298NL298 是SGS 公司的产品,比较常见的是15 脚Multiwatt 封装的L298N,内部同样包含4 通道逻辑驱

5、动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N 芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO 口提供信号;而且电路简单,使用比较方便。L298N 可接受标准TTL 逻辑电平信号VSS,VSS 可接457 V 电压。4 脚VS 接电源电压,VS 电压范围VIH 为2546 V。输出电流可达2 A,可驱动电感性负载。1 脚和15 脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298 可驱动2 个电动机,OUT1,OUT2 和OUT3,OUT4 之间可分别接电动机,本实验装置

6、我们选用驱动一台电动机。5,7,10,12 脚接输入控制电平,控制电机的正反转。EnA,EnB 接控制使能端,控制电机的停转。表1 是L298N 功能逻辑图。4L298N 驱动模块的应用In3,In4 的逻辑图与表1 相同。由表1 可知EnA 为低电平时,输入电平对电机控制起作用,当EnA 为高电平,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。L298N 控制器原理如下:3、控制软件流程图(多个)控制软件流程图(多个)1. 传感器控制程序凡是利用一定的物性(物理、化学、生物)法则、定理、定律、效应等进行能量转换与信息转换,并且输出与输入严格一一对应的器件和装置均可

7、称为传感器;传感器又被称为变换器、转换器、检测器、敏感元件、换能器和一次仪表等。传感器一般由敏感元件、转换元件和测量电路三部分组成,有时还加上辅助电源。系统中的传感器是感受被测量的大小并输出相对应的可用输出信号的器件或装置。数 据传输环节用来传输数据。当检测系统的几个功能环节独立地分隔开的时候,则必须由一 个地方向另一个地方传输数据,数据传输环节就是完成这种传输功能。52. 中断控制程序当传感器模块传来的数据并判断正确时,则中断程序对T1口进行初始化,进而接收来自两个模块的新数据,比较判断后传到命令地址进而对电机进行驱动和通过显示器显示出来。开开始始串串口口中中断断初初始始化化T T1 1数数

8、据据传传送送到到命命令令置置回回归归标标志志位位中中断断返返回回是否有数据N NY Y中断控制程序3. 电机驱动程序6步进电机执行来自控制器的命令,判断其命令是否正确,若不正确则返回,若正确则继续执行命令,比较做出相应的动作,当窗帘及推拉窗到达指定的位置时停止,器流程图如下。开开始始接接入入是是否否正正确确命命令令执执行行窗窗帘帘推推拉拉窗窗停停止止返返回回比比较较判判断断N NY YN NY Y比比较较判判断断比比较较判判断断正正转转反反转转正正转转反反转转Y YN NY YN N4、主要程序的指令:主要程序的指令:附录一:蓝牙无线模块 附录二:DHT11 数字温湿度传感器 附录三:光强度传

9、感器 BH17507附录一:附录一:蓝牙无线模块:修改修改 atat:#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();BT.print(val

10、);/ 若收到藍牙模組的資料,則送到序列埠監控視窗if (BT.available() val = BT.read();Serial.print(val); 8从从机:机: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); / 发送 A while

11、(1); 9附录二:附录二: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); wri

12、te_com(0x38); write_com(0x38); write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); for(num=0;num0;x-)for(y=110;y0;y-); void delay_10us() 11U8 i; i-; i-; i-; i-; i-; i-; void COM(void) /数据 0 1 确认 U8 i; for(i=0;i #include 13U16 a,b,t; U8 flag,i; void main() RW=1; t=0; flag=0; TMOD=0x01

13、; 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 while(a=U8T_data_H flag=

14、0; test(); void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; t+; if(t=2000)/100 秒检测一次 t=0;14flag=2;/100 秒后 flag 为 2 if(flag=0)/最开始 flag 为 0 赋值 a=U8T_data_H; b=U8RH_data_H; flag=1;/flag 变化 15附录三:附录三:光强度传感器 BH1750:/使用时,用户只需更改 GPIO_Pin_14、GPIO_Pin_15 这两个引脚,并在主函数里面调用此函数即可。void BH17

15、50_Get_Guang( float *Zhaodu)#include “stm32f10x_lib.h“#define uchar unsigned char #define uint unsigned int #define DataPort P0 /LCD1602 数据端口#define SlaveAddress 0x46 /定义器件在 IIC 总线中的从地址,根据 ALT ADDRESS 地址引脚不同修改/ALT ADDRESS 引脚接地时地址为 0x46,接电源 时地址为 0xB8#define BH1750_SCL GPIO_Pin_14 #define BH1750_SDA GPIO_Pin_15 /#define GPIO_I2C GPIOB#define BH1750_SCL_0() GPIOF-BRR=BH1750_SCL #define BH1750_SCL_1() GPIOF-BSRR=BH1750_SCL #define BH1750_SDA_0() GPIOF-BRR=BH1750_SDA #define BH1750_SDA_1() GPIOF-BSRR=BH1750_SDA #define BH1750_SDA_STATE() (GPIOF-IDR typedef unsigned char BYTE; typedef unsigned

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号