




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能感应台灯 电子科技大学微芯杯刘承文简 介本智能感应台灯控制系统基于超声波测距方式,利用单片机进行处理,能够感知一定范围内的人、或其他物体 ,当人或物进入其探测范围,台灯开启,并随着距离台灯距离减少。可利用 PWM 控制台灯亮度,以节约电能。目录一项目背景3二方案设计3三设计过程4四实用化的可能性、推广价值13五创新点14六作品实物图片14一项目背景随着科技的高速发展,各种各样的科技产品、家用电器开始走入人们的生活,这一切都大大地提高了人们的工作效率、改善了人们的生活,现在电器的发展趋势是智能化,这样会使人们使用起来更加方便。随着智能控制理论和人工智能研究的深入,各种更加逼真地模拟人类智能的家用电器会更多地出现,而单片机和智能理论的结合,将来不但更多地改进现行家用电器,而且将会产生全新的家用电器。 家用电器因为单片机的加入而走向智能化,并且随着人们生活水平的提高日益走向平民化,我们的生活也随着家用电器的发展越来越方便、舒适。随着家用电器的发展,作为家用电器当中的小台灯也要顺应科技的发展步伐走向智能化。目前,灯具市场上出售的灯具种类繁多,一般台灯均采用220V交流电源供电,日光灯管、白炽灯泡为光源,手动开关或触摸感应式开光来控制。但这类台灯存在很多弊端,一是电压是不安全电压,给人们使用带来不安全因素;二是日光灯还具有频闪效应,经常使用会给人的眼睛带来一定的伤害;三是耗电量大、台灯通常都是以日光灯为主,在几瓦到几十瓦之间;四是人工化,人们由于手工操作,往往会忘记关灯,这也造成电能的浪费。正因如此,制作生产智能感应台灯具有很重要的意义二方案设计2.1设计题目:制作一个基于超声波、红外等测距方式的智能感应台灯控制系统,系统能够感知一定范围内的人、或其他物体 ,当人或物进入其探测范围,台灯开启,并随着距离台灯距离减少,利用PWM控制台灯亮度,以节约电能。2.2基础要求:1、 在控制系统 2m 范围内,能正常感知物体并开启台灯2、 当人或物,移出其感应范围时,能够关闭台灯3、 在人或物与控制系统距离变化超过 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%;经比较,超声测距模块的距离和工作电压都符合系统要求,而且超声测距模块比较便宜,所以本次设计采用超声测距模块。3.1.2台灯电路的选择方案一: 采用三极管放大电路方案二:采用上拉电源的方式经比较,本次设计采用四组LED,没有必要采用三极管放大电路,三极管电路复杂,上拉电源的方法电路简单,而且灌入单片机的电流在可控范围内,所以本次设计采用方案二。3.2方案描述系统总体框图如图所示。超声测距模块测出超声波从发出到返回过程的时间,单片机通过计时器记录这一时间,并按照公式计算出物体到系统的距离。这个距离再通过显示模块显示出来,距离作为一个参数,PWM波参考距离的值开启或关闭LED灯。STC89C52单片机计时器显示超声波测距模块4个LED灯距离显示当物体与系统间的距离为0-50cm时,开启四盏灯,距离为50-100cm时开启三盏灯,距离为100-150cm时开启两盏灯,距离为150-200cm时开启一盏灯,距离大于200cm时关闭台灯。3.3设计原理由单片机的P33引脚产生一个20us的脉冲信号,超声测距模块接收到此信号的时候,产生超声波,同时ECHO引脚产生高电平信号,当接收到超声波以后,echo引脚产生低电平信号,单片机通过定时器1中断来记录时间,以此来计算距离。单片机得出距离以后,通过定时器0中断来驱动计时数码管和距离显示数码管和PWM波,以此来控制LED灯。3.4 程序#include /包括一个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 = 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 distances;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; 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 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(TH130);/等待测量的结果,周期65.535毫秒(可用中断实现) TR1=0; /关闭定时器1 EX0=0; /关闭外部中断 if(succeed_flag=1) distance_data=outcomeH; /测量结果的高8位 distance_data=3) CONT_1=0; b=a; conversion(b); i=0; /*/外部中断0,用做判断回波电平INTO_() interrupt 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);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(distances5&distances=5)LED1=0;LED2=0;LED3=0;LED4=0;if(5distances&(distances50|distances=50) if(time_count50)time_count=1;/距离在0-50,1个台灯变化,其余三个都亮if(51distances&(distances100|distances=100) if(time_count50)time_count=1; /50-100一个灭一个变化两个常亮if(101distances&(distances150|distances=150) if(time_count50)time_count=1; /100-150依次类推if(151distances&(distances200|distances=200) if(time_count50)time_count=1;if(distances200)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_data/100 ; temp_data=temp_data%100; /取余运算 shi_data=temp_data/10 ; temp_data=temp_data%10; /取余运算 ge_data=temp_data; bai_data=SEG7bai_data; shi_data=SEG7shi_data; ge_data =SEG7ge_data EA=0; bai = bai_data; shi = shi_data; ge = ge_data ; EA=1; /*void delay_20us() uchar bt ; for(bt=0;btdistance1) t=distance0;distance0=distance1;distance1=t; if(distance0distance2) t=distance2;distance2=distance0;distance0=t; if(distance1distance2) t=distance
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- IDO5L-Standard-生命科学试剂-MCE
- HO-PEG-AS-MW-1000-生命科学试剂-MCE
- 2025年甘肃省平凉市崆峒区殡仪馆招聘合同制工作人员模拟试卷及答案详解(夺冠)
- 2025年甘肃省甘南州临潭县卫生健康系统引进紧缺卫生专业技术人才20人模拟试卷完整参考答案详解
- 2025福建海峡人力资源股份有限公司平潭分公司(第一批)招聘延长模拟试卷及完整答案详解一套
- 2025北京中国音乐学院高层次人才引进2人模拟试卷及参考答案详解1套
- 安全培训效果自评课件
- 《二维空间坐标系应用:高三数学教学教案》
- 农产品质量监测方案设计
- 2025年上半年四川泸州市妇幼保健院面向社会招聘编外人员19名考前自测高频考点模拟试题及一套答案详解
- 电信公司炒店活动方案
- 中层干部面试题库及答案
- 临床医学职业生涯规划
- 家居智能化设备安装施工合同
- 船舶修造安全培训记录课件
- 2025年AI时代数字身份安全技术应用指南-
- Unit 2 单元测试卷-2024-2025学年人教版七年级英语上册
- 工厂地震安全培训计划课件
- 综合实践 活动二 曹冲称象的秘密(课件)数学西师大版三年级上册(新教材)
- 2025年版简单个人房屋装修合同模板下载
- 业务公关费用管理办法
评论
0/150
提交评论