




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上智能感应台灯 电子科技大学微芯杯刘承文简 介本智能感应台灯控制系统基于超声波测距方式,利用单片机进行处理,能够感知一定范围内的人、或其他物体 ,当人或物进入其探测范围,台灯开启,并随着距离台灯距离减少。可利用 PWM 控制台灯亮度,以节约电能。目录一项目背景··························
2、183;··················3二方案设计······························
3、183;··············3三设计过程··································
4、183;··········4四实用化的可能性、推广价值·····························13五创新点·······
5、········································14六作品实物图片········
6、83;································14一·项目背景随着科技的高速发展,各种各样的科技产品、家用电器开始走入人们的生活,这一切都大大地提高了人们的工作效率、改善了人们的生活,现在电器的发展趋势是智能化,这样会使人们使用起来更加方便。随着
7、智能控制理论和人工智能研究的深入,各种更加逼真地模拟人类智能的家用电器会更多地出现,而单片机和智能理论的结合,将来不但更多地改进现行家用电器,而且将会产生全新的家用电器。 家用电器因为单片机的加入而走向智能化,并且随着人们生活水平的提高日益走向平民化,我们的生活也随着家用电器的发展越来越方便、舒适。随着家用电器的发展,作为家用电器当中的小台灯也要顺应科技的发展步伐走向智能化。目前,灯具市场上出售的灯具种类繁多,一般台灯均采用220V交流电源供电,日光灯管、白炽灯泡为光源,手动开关或触摸感应式开光来控制。但这类台灯存在很多弊端,一是电压是不安全电压,给人们使用带来不安全因素;二是日光灯还具有频闪
8、效应,经常使用会给人的眼睛带来一定的伤害;三是耗电量大、台灯通常都是以日光灯为主,在几瓦到几十瓦之间;四是人工化,人们由于手工操作,往往会忘记关灯,这也造成电能的浪费。正因如此,制作生产智能感应台灯具有很重要的意义二·方案设计2.1设计题目:制作一个基于超声波、红外等测距方式的智能感应台灯控制系统,系统能够感知一定范围内的人、或其他物体 ,当人或物进入其探测范围,台灯开启,并随着距离台灯距离减少,利用PWM控制台灯亮度,以节约电能。2.2基础要求:1、 在控制系统 2m 范围内,能正常感知物体并开启台灯2、 当人或物,移出其感应范围时,能够关闭台灯3、 在人或物与控制系统距离变化超过
9、 20cm 时,台灯光线应用明显变化2.3发挥部分:1、 控制系统能同时控制 2 路或 2 路以上台灯2、 控制系统能显示人或物体与控制系统距离3、 控制系统能够实时显示系统开启时间4、 其他三·设计过程3.1方案比较与选择3.1.1测距模块的选择方案一:红外线测距模块SHARP夏普原装红外测距传感器 GP2Y0A21YK0F 量程10-80cm红外测距模块虽然距离精准,但是最大距离不够,不能达到要求的2M距离。方案二:超声测距模块工作电压:4.5V5.5V。 功耗电流:最小 1mA 最大 20mA 谐振频率:40KHz; 探测距离范围:4 毫米4 米。误差:4%;经比较,超声测距模
10、块的距离和工作电压都符合系统要求,而且超声测距模块比较便宜,所以本次设计采用超声测距模块。3.1.2台灯电路的选择方案一: 采用三极管放大电路方案二:采用上拉电源的方式经比较,本次设计采用四组LED,没有必要采用三极管放大电路,三极管电路复杂,上拉电源的方法电路简单,而且灌入单片机的电流在可控范围内,所以本次设计采用方案二。3.2方案描述系统总体框图如图所示。超声测距模块测出超声波从发出到返回过程的时间,单片机通过计时器记录这一时间,并按照公式计算出物体到系统的距离。这个距离再通过显示模块显示出来,距离作为一个参数,PWM波参考距离的值开启或关闭LED灯。STC89C52单片机计时器显示超声波
11、测距模块4个LED灯距离显示当物体与系统间的距离为0-50cm时,开启四盏灯,距离为50-100cm时开启三盏灯,距离为100-150cm时开启两盏灯,距离为150-200cm时开启一盏灯,距离大于200cm时关闭台灯。3.3设计原理由单片机的P33引脚产生一个20us的脉冲信号,超声测距模块接收到此信号的时候,产生超声波,同时ECHO引脚产生高电平信号,当接收到超声波以后,echo引脚产生低电平信号,单片机通过定时器1中断来记录时间,以此来计算距离。单片机得出距离以后,通过定时器0中断来驱动计时数码管和距离显示数码管和PWM波,以此来控制LED灯。3.4 程序#include <reg
12、52.h> /包括一个52标准内核的头文件#define uchar unsigned char /定义一下方便使用#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
13、 = P32; /回波引脚sbit test = P31; /测试用引脚sbit LED1=P34;sbit LED2=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 dis
14、tances;uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,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
15、; uchar CONT_1; CLK_DIV=0X03; /系统时钟为1/8晶振(pdf-45页) P0M1 = 0; /将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
16、while(1) /程序循环 EA=0; Trig=1; delay_20us(); Trig=0; /产生一个20us的脉冲,在Trig引脚 while(Echo=0); /等待Echo回波引脚变高电平 succeed_flag=0; /清测量成功标志 EX0=1; /打开外部中断 TH1=0; /定时器1清零 TL1=0; /定时器1清零 TF1=0; / TR1=1; /启动定时器1 EA=1; while(TH1<30);/等待测量的结果,周期65.535毫秒(可用中断实现) TR1=0; /关闭定时器1 EX0=0; /关闭外部中断 if(succeed_flag=1) dis
17、tance_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; /测试灯变化 distancei=
18、distance_data; /将测量结果的数据放入缓冲区 i+; distances=distance_data; if(i=3) distance_data=(distance0+distance1+distance2+distance3)/4; pai_xu(); distance_data=distance1; a=distance_data; if(b=a) CONT_1=0; if(b!=a) CONT_1+; if(CONT_1>=3) CONT_1=0; b=a; conversion(b); i=0; /*/外部中断0,用做判断回波电平INTO_() interrupt
19、 0 / 外部中断是0号 outcomeH =TH1; /取出定时器的值 outcomeL =TL1; /取出定时器的值 succeed_flag=1; /至成功测量的标志 EX0=0; /关闭外部中断 /*/定时器0中断,用做显示timer0() interrupt 1 / 定时器0中断是1号 TH0=(65536-5)/256;TL0=(65536-5)%256; switch(flag) case 0x00:P0=ge; P1=tableminute/10; P2=0x17;flag+;break; case 0x01:P0=shi;P1=(tableminute%10&0x7f
20、);P2=0x2b;flag+;break; case 0x02:P0=bai;P1=tablesecond/10;P2=0x4d;flag+;break;case 0x03:P1=tablesecond%10;P2=0x8f;flag=0;break; /计时器显示和距离显示time_count+;if(distances<5&&distances=5)LED1=0;LED2=0;LED3=0;LED4=0;if(5<distances&&(distances<50|distances=50) if(time_count<distanc
21、es)LED1=0;LED2=1;LED3=1;LED4=1;elseLED1=1;LED2=1;LED3=1;LED4=1;if(time_count>50)time_count=1;/距离在0-50,1个台灯变化,其余三个都亮if(51<distances&&(distances<100|distances=100) if(time_count<distances-50)LED1=0;LED2=0;LED3=1;LED4=1;elseLED1=0;LED2=1;LED3=1;LED4=1;if(time_count>50)time_count=
22、1; /50-100一个灭一个变化两个常亮if(101<distances&&(distances<150|distances=150) if(time_count<distances-100)LED1=0;LED2=0;LED3=0;LED4=1;elseLED1=0;LED2=0;LED3=1;LED4=1;if(time_count>50)time_count=1; /100-150依次类推if(151<distances&&(distances<200|distances=200) if(time_count<d
23、istances-150)LED1=0;LED2=0;LED3=0;LED4=0;elseLED1=0;LED2=0;LED3=0;LED4=1;if(time_count>50)time_count=1;if(distances>200)LED1=0;LED2=0;LED3=0;LED4=0;/以上为台灯显示,pwm波输出tcount+;if(tcount=5800) tcount=0; second+; if(second=60) second=0; minute+; if(minute=60) minute=0; hour+; if(hour=24) hour=0; /计时器时间变量增加 /*/定时器1中断,用做超声波测距计时timer1() interrupt 3 / 定时器0中断是1号 TH1=0;TL1=0; /*/显示数据转换程序void conversion(uint temp_data) uchar ge_data,shi_data,bai_data ; bai_data=temp_da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 闸板阀维修施工方案
- 围墙护栏基础施工方案
- 2025年中考语文一轮复习:古诗词阅读核心考点解读
- 施工方案自己写吗
- 码头岸电施工方案
- 鹰潭护坡施工方案
- 2025年境外分子测试试题及答案
- 6年级下册语文第10课
- 荆州古建施工方案公司
- codebert在编程领域的使用
- 常用电工仪器仪表使用方法
- 海南大学本科教育学分制条例
- 建设工程绿色施工围蔽指导图集
- 基本手势与手势礼仪课件(PPT49页)
- 2022新教科版六年级科学下册全一册全部教案(共28节)
- 单元综合训练
- 中级Java软件开发工程师笔试题(附答案)
- 高一物理必修一加速度(课堂PPT)
- 难免压疮申报表
- 端盖压铸模具设计毕业设计论文
- 最新部编版一年级语文下册第一单元教材分析
评论
0/150
提交评论