感应台灯的设计与实现.docx

上传人:s9****2 文档编号:560931990 上传时间:2023-04-14 格式:DOCX 页数:16 大小:5.20MB
返回 下载 相关 举报
感应台灯的设计与实现.docx_第1页
第1页 / 共16页
感应台灯的设计与实现.docx_第2页
第2页 / 共16页
感应台灯的设计与实现.docx_第3页
第3页 / 共16页
感应台灯的设计与实现.docx_第4页
第4页 / 共16页
感应台灯的设计与实现.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《感应台灯的设计与实现.docx》由会员分享,可在线阅读,更多相关《感应台灯的设计与实现.docx(16页珍藏版)》请在金锄头文库上搜索。

1、智能感应台灯 电子科技大学微芯杯刘承文简 介本智能感应台灯控制系统基于超声波测距方式,利用单片机进行处理,能够感知一定范围内的人、或其他物体 ,当人或物进入其探测范围,台灯开启,并随着距离台灯距离减少。可利用 PWM 控制台灯亮度,以节约电能。目录一项目背景3二方案设计3三设计过程4四实用化的可能性、推广价值13五创新点14六作品实物图片14一项目背景随着科技的高速发展,各种各样的科技产品、家用电器开始走入人们的生活,这一切都大大地提高了人们的工作效率、改善了人们的生活,现在电器的发展趋势是智能化,这样会使人们使用起来更加方便。随着智能控制理论和人工智能研究的深入,各种更加逼真地模拟人类智能的

2、家用电器会更多地出现,而单片机和智能理论的结合,将来不但更多地改进现行家用电器,而且将会产生全新的家用电器。 家用电器因为单片机的加入而走向智能化,并且随着人们生活水平的提高日益走向平民化,我们的生活也随着家用电器的发展越来越方便、舒适。随着家用电器的发展,作为家用电器当中的小台灯也要顺应科技的发展步伐走向智能化。目前,灯具市场上出售的灯具种类繁多,一般台灯均采用220V交流电源供电,日光灯管、白炽灯泡为光源,手动开关或触摸感应式开光来控制。但这类台灯存在很多弊端,一是电压是不安全电压,给人们使用带来不安全因素;二是日光灯还具有频闪效应,经常使用会给人的眼睛带来一定的伤害;三是耗电量大、台灯通

3、常都是以日光灯为主,在几瓦到几十瓦之间;四是人工化,人们由于手工操作,往往会忘记关灯,这也造成电能的浪费。正因如此,制作生产智能感应台灯具有很重要的意义二方案设计2.1设计题目:制作一个基于超声波、红外等测距方式的智能感应台灯控制系统,系统能够感知一定范围内的人、或其他物体 ,当人或物进入其探测范围,台灯开启,并随着距离台灯距离减少,利用PWM控制台灯亮度,以节约电能。2.2基础要求:1、 在控制系统 2m 范围内,能正常感知物体并开启台灯2、 当人或物,移出其感应范围时,能够关闭台灯3、 在人或物与控制系统距离变化超过 20cm 时,台灯光线应用明显变化2.3发挥部分:1、 控制系统能同时控

4、制 2 路或 2 路以上台灯2、 控制系统能显示人或物体与控制系统距离3、 控制系统能够实时显示系统开启时间4、 其他三设计过程3.1方案比较与选择3.1.1测距模块的选择方案一:红外线测距模块SHARP夏普原装红外测距传感器 GP2Y0A21YK0F 量程10-80cm红外测距模块虽然距离精准,但是最大距离不够,不能达到要求的2M距离。方案二:超声测距模块工作电压:4.5V5.5V。 功耗电流:最小 1mA 最大 20mA 谐振频率:40KHz; 探测距离范围:4 毫米4 米。误差:4%;经比较,超声测距模块的距离和工作电压都符合系统要求,而且超声测距模块比较便宜,所以本次设计采用超声测距模

5、块。3.1.2台灯电路的选择方案一: 采用三极管放大电路方案二:采用上拉电源的方式经比较,本次设计采用四组LED,没有必要采用三极管放大电路,三极管电路复杂,上拉电源的方法电路简单,而且灌入单片机的电流在可控范围内,所以本次设计采用方案二。3.2方案描述系统总体框图如图所示。超声测距模块测出超声波从发出到返回过程的时间,单片机通过计时器记录这一时间,并按照公式计算出物体到系统的距离。这个距离再通过显示模块显示出来,距离作为一个参数,PWM波参考距离的值开启或关闭LED灯。STC89C52单片机计时器显示超声波测距模块4个LED灯距离显示当物体与系统间的距离为0-50cm时,开启四盏灯,距离为5

6、0-100cm时开启三盏灯,距离为100-150cm时开启两盏灯,距离为150-200cm时开启一盏灯,距离大于200cm时关闭台灯。3.3设计原理由单片机的P33引脚产生一个20us的脉冲信号,超声测距模块接收到此信号的时候,产生超声波,同时ECHO引脚产生高电平信号,当接收到超声波以后,echo引脚产生低电平信号,单片机通过定时器1中断来记录时间,以此来计算距离。单片机得出距离以后,通过定时器0中断来驱动计时数码管和距离显示数码管和PWM波,以此来控制LED灯。3.4 程序#include /包括一个52标准内核的头文件#define uchar unsigned char /定义一下方便

7、使用#define uint unsigned int#define ulong unsigned long/*sfr CLK_DIV = 0x97; /为STC单片机定义,系统时钟分频 /为STC单片机的IO口设置地址定义sfr P0M1 = 0X93;sfr P0M0 = 0X94;sfr P1M1 = 0X91;sfr P1M0 = 0X92;sfrP2M1 = 0X95;sfrP2M0 = 0X96;/*sbit Trig = P33; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit test = P31; /测试用引脚sbit LED1=P34;sbit LED2

8、=P35;sbit LED3=P36;sbit LED4=P37;/定义4个灯泡引脚static unsigned char second,minute,hour;/定义计时器计时变量unsigned int tcount;unsigned char m;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/计时用数码管显示0-9int time_count=1;unsigned char distances;uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82

9、,0xF8,0x80,0x90;/数码管0-9uint distance4; /测距接收缓冲区uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; /自定义寄存器bit succeed_flag; /测量成功标志/*函数声明void conversion(uint temp_data);void delay_20us();void pai_xu();void main(void) / 主程序 uint distance_data,a,b; uchar CONT_1; CLK_DIV=0X03; /系统时钟为1/8晶振(pdf-45页) P0M1 = 0

10、; /将io口设置为推挽输出 P1M1 = 0; P2M1 = 0; P0M0 = 0XFF; P1M0 = 0XFF; P2M0 = 0XFF; i=0; flag=0;test =0;Trig=0; /首先拉低脉冲输入引脚TMOD=0x11; /定时器0,定时器1,16位工作方式TR0=1; /启动定时器0 IT0=0; /由高电平变低电平,触发外部中断ET0=1; /打开定时器0中断 ET1=1; /打开定时器1中断EX0=0; /关闭外部中断EA=1; /打开总中断0 while(1) /程序循环 EA=0; Trig=1; delay_20us(); Trig=0; /产生一个20u

11、s的脉冲,在Trig引脚 while(Echo=0); /等待Echo回波引脚变高电平 succeed_flag=0; /清测量成功标志 EX0=1; /打开外部中断 TH1=0; /定时器1清零 TL1=0; /定时器1清零 TF1=0; / TR1=1; /启动定时器1 EA=1; while(TH130);/等待测量的结果,周期65.535毫秒(可用中断实现) TR1=0; /关闭定时器1 EX0=0; /关闭外部中断 if(succeed_flag=1) distance_data=outcomeH; /测量结果的高8位 distance_data=8; /放入16位的高8位 distance_data=distance_data|outcomeL;/与低8位合并成为16位结果数据 distance_data/=40; /微秒的单位除以58等于厘米 /为什么除以58等于厘米, Y米=(X秒*344)/2 / X秒=( 2*Y米)/344 =X秒=0.0058*Y米 =厘米=微秒/58 if(succeed_flag=0) distance_data=0; /没有回波则清零 test = !test;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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