基于Arduino制作的触摸变色台灯(附原理图、PCB板图、实物图、测试流程、源代码)
- 格式:pdf
- 大小:496.03 KB
- 文档页数:13
智能灯触摸台灯制作资料程序+原理图pcb分享给大家such808发表于 2015-7-25 13:17:12 | 只看该作者 |只看大图上传资料希望各位喜欢程序预览:1.#include<reg52.h>2.fanhui();3.duanma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x8 0,0x90};//共阳数字段码 0-94.sbit g1=P2^1;sbit g2=P2^3;sbit g3=P2^5;sbit g4=P2^7; //位选5.sbit key1=P1^1;sbit key2=P1^5;sbit key3=P1^7;//按键6.sbit spek=P1^0; //蜂鸣器7.sbit powr=P2^0; //继电器开关8.sbit chumo=P1^3; //触摸选项9.char sum=0,s=59,min=0,h=0,add=0;10.void delay()11.{12.int a,b;13.for(a=10;a>0;a--)14.for(b=50;b>0;b--);15.}16.delay1()17.{18.int a,b;19.for(a=50;a>0;a--)20.for(b=300;b>0;b--);21.}22./////////////////////////////////////////////////////23.////////////////////时间处理函数/////////////////////24./////////////////////////////////////////////////////25.jishi()26.{27.if(s<0)28.{29.s=59;min--;30.}31.if(min<0)32.{33.min=59;34.h--;35.}36.if(h<0)37.{38.h=23;39.}40.}41./////////////////////////////////////////////////////42.////////////////////显示函数/////////////////////////43./////////////////////////////////////////////////////44.xianshi()//45.{46.P0=duanma[h/10];////小时显示47.g1=0;48.delay();49.g1=1;50.P0=duanma[h%10];51.g2=0;52.delay();53.g2=1;54.if(add>25)55.{56.P0=duanma[min/10]+0x80;/////分显示57.g3=0;58.delay();59.g3=1;60.P0=duanma[min%10]+0x80;61.g4=0;62.delay();63.g4=1;64.}65.else66.{67.P0=duanma[min/10];/////分显示68.g3=0;69.delay();70.g3=1;71.P0=duanma[min%10];72.g4=0;73.delay();74.g4=1;75.}76.}77.//////////////////////////////////////////////////////78.////////////////待机程序/////////////////////////////79./////////////////////////////////////////////////////80.daiji()81.{82.powr=1;83.g4=g3=g2=g1=1;84.delay1();delay1();delay1();delay1();delay1();85.while(1)86.{87.delay1();delay1();88.if(chumo==1)89.{90.delay();91.if(chumo==1)92.{93.while(chumo==1);94.spek=0;95.delay1();96.spek=1;97.sum=0,s=59,min=0,h=0,add=0;//重新对初始变量赋值98.powr=0;99.break;100.}101.}102.}103.fanhui();//重头开始104.}105.//////////////////////////////////////////////////////// 106.//////////////////返回起始点////////////////////////////// 107.///////////////////////////////////////////////////// 108.fanhui() //开始标号109.{110.while(1) //预备显示111.{112.g1=g2=g3=g4=0; //显示三条横线(---)0xbf113.P0=0xbf;114.delay1();115.delay1();116.delay1();117.delay1();118.g1=g2=g3=g4=1;119.delay1();120.delay1();121.delay1();122.delay1();123.124.if(key1==0)125.{126.spek=0;127.delay1();128.if(key1==0)129.while(key1==0);130.spek=1;131.break;132.}133.if(chumo==1) ///////检测有无关闭指令134.{135.delay1();delay1();delay1();delay1(); 136.if(chumo==1)137.{138.while(chumo==1);139.spek=0;140.delay1();141.spek=1;142.daiji();143.}144.}145.}146.}147.///////////////////////////////////////////////////// 148.////////////////////按键函数///////////////////////// 149.///////////////////////////////////////////////////// 150.anjian()151.{152.if(chumo==1)153.{154.delay1();delay1();155.if(chumo==1)156.{157.while(chumo==1);158.spek=0;159.delay1();160.spek=1;161.daiji();162.}163.}164.if(key1==0)165.{166.delay1();167.if(key1==0)168.{169.spek=0;170.delay1();171.spek=1;172.while(key1==0);173.while(1)174.{175.P0=duanma[h/10];////小时显示176.g1=0;177.delay();178.g1=1;179.P0=duanma[h%10];180.g2=0;181.delay();182.g2=1;183.P0=duanma[min/10]+0x80;/////分显示184.g3=0;185.delay();186.g3=1;187.P0=duanma[min%10]+0x80;188.g4=0;189.delay();190.g4=1;191.while(add>49)192.{193.g1=g2=g3=g4=1;194.}195.if(key2==0) //时调整加、、、、、、、、、196.{197.delay1();198.if(key2==0)199.{200.spek=0;201.delay1();202.spek=1;203.if(h==24)204.{205.h=0;206.}207.else208.h++;209.}210.}211.if(key3==0) //分调整加、、、、、、、、、212.{213.delay1();214.if(key3==0)215.{216.spek=0;217.delay1();218.spek=1;219.if(min==60)220.{221.min=0;222.}223.else224.min++;225.}226.}227.if(key1==0) //调试确定并退出调试状态228.{229.delay();230.if(key1==0)231.{232.spek=0;234.spek=1;235.while(key1==0);236.break; //跳出本while语句,即本函数结束237.}238.}239.}240.}241.}242.}243.///////////////////////////////////////////////////// 244.////////////////////主函数/////////////////////////// 245.///////////////////////////////////////////////////// 246.void main()247.{248.TMOD=0x01;249.TH0=(65535-20000)/255;250.TL0=(65535-20000)%255;251.EA=1;252.ET0=1;253.TR0=1;254.chumo=0;255.while(1)256.{257.if(chumo==1)258.{259.delay1();260.if(chumo==1)261.while(chumo==1);262.spek=0;264.spek=1;265.powr=0;266.break;267.}268.}269.fanhui(); //调用初始返回函数270.while(1) //执行主程序271.{272.xianshi();273.anjian();274.if(h==0)275.{276.if(min==0)277.{278.if(add<25)279.{280.g4=g3=g2=g1=1;281.delay1();282.delay1();283.delay1();284.delay1();285.}286.if(s==0)287.{288.daiji();289.}290.}291.}292.}293.}294.///////////////////////////////////////////////////// 295.////////////////////秒表定时中断服务函数///////////// 296.///////////////////////////////////////////////////// 297.dingshi()interrupt 1298.{299.TH0=(65535-20000)/255;300.TL0=(65535-20000)%255;301.add++;302.if(add==50)303.{304.add=0;305.s--;306.jishi();307.}308.}复制代码。
触摸调光台灯原理说明一、工作原理:SM电路由输入缓冲器、锁相环、控制逻辑、亮度记忆、相角指针、数字比较器和输出驱动器组成。
其框图见图一:电路的基本工作原理为(调光为例):人体带电与市电同频,当人体接触触摸片时,经输入缓冲级的削波、放大、整形,成为标准的MOS电平。
触摸持续时间大于32毫秒小于332毫秒时,控制逻辑部分控制电路呈开关工作状态。
当触摸持续时间大于332毫秒时,控制逻辑部分控制电路呈调光工作状态,输出触发脉冲相位角在41度至159度之间连续周期变化,并根据人眼的感受力,分为快、慢和暂歇三个过程。
当触摸结束时,亮度记忆对该时相位角进行记忆,若再施与大于32毫秒,小于332毫秒的触摸,电路呈关状态时,相位角仍由该部分记忆,保证电路在下一次开状态时,保持原选定相位角,光源保持原亮度。
触发脉冲与市电的同步,由锁相环保证,电路的工作时钟,也均由其产生。
同时,电路还具有遥控(即远端触发)功能,和渐睡(即由亮至暗,最后关闭)功能,其延续时间由外电路设置。
三、管脚排列和功能说明:管脚功能说明:1. Vss —5V电源。
2. Doze —渐暗功能。
当导通角最大(159°)时。
外界对该脚施于83±3个脉冲,则SCR的导通角从159°连续变至40°,最后截止(不输出触发脉冲)。
3. Cap —锁相环外接滤波电容(参考值0.47μF)。
4. Syn —市电频率同步信号输入端。
5. Sen2 —触摸控制端。
低电平触发,人体触摸点。
6. Sala —远距离控制端。
高电平触发,抗干扰好,适于较远距离的按键式调光控制。
7. VDD —0V。
8. Out —输出触发脉冲。
触摸调光台灯原理图普通台灯加装此套件可使普通台灯升级为“节能+视力保健”型台灯,它具有触摸开关灯、触摸调光和测光功能,本电路主要采用了一块新型专用调光集成电路SM7232。
该集成电路的主要电参数为:工作电压4.5~4.9V,静态电流400μA,可控制50Hz及60Hz交流电。
学士学位毕业设计(论文)触摸式调光台灯设计学生姓名:学号:2XX指导教师:所在学院:信息技术学院专业:电子信息工程中国·大庆2013 年 5 月摘要台灯是人们生活中用来照明的一种家用电器。
随着社会的发展和科技的进步,台灯的种类、样式,以及其功能越来越多。
技术上在不断的突破和完善,满足了人们的日常需求。
此次设计的触摸式调光台灯相比传统的按键式台灯更为方便和灵敏。
采用LED灯更加的节能和环保,而且还可以根据不同人的需求调节不同的亮度。
本文介绍了以SGL8022W芯片为控制核心,用12V稳定电源,通过触摸来调节不同光度。
该触摸式调光台灯电路并不复杂,很大程度上节省电能,延长LED灯寿命,经济适用。
本次课题的研究不仅可以使自己更加了解专业知识还可以对市场上台灯的设计起到一定的参考作用,设计出更加合理便捷的产品来满足人们生活中的需要。
关键词:触摸式LED台灯SGL8022W 调光ABSTRACTThe lamp is used to illuminate a household appliances in people's lives.With the development of society and the advancement of technology,lamp type, style, and more and more powerful.Technical breakthrough in constant and perfect,to meet the daily needs of the people.The design of the touch lamp dimmer compared to traditional push-button lamp is more convenient and sensitive.LED lights more energy-saving and health,but also according to the needs of different people of different brightness.This article describes that the SGL8022W chip as the control core,stable power supply with12V touch to adjust the different luminosity.The touch dimmer lamp circuit is not complicated,largely to save energy and prolong the life of LED lights, affordable.The research projects can not only a better understanding of expertise can also play a reference role in the design of the lamp market design more reasonable and convenient products to meet the needs of our lives.Keywords:Touch LED lamp SGL8022W Dimming目录摘要 (I)ABSTRACT (II)前言 (IV)1 绪论 (3) (3) (5)2 硬件电路设计 (6) (6)12V直流电源设计 (8) (10) (12) (17)3 电路调试与功能实现 (18) (18) (18)4 总结与体会 (20)结论 (20)参考文献 (22)致谢 (23)附录.................................... 错误!未定义书签。
关于触摸屏的LED彩色台灯控制系统设计摘要:本文针对现有的彩色台灯控制系统,提出了一种基于触摸屏的控制方式,并设计了相应的硬件和软件系统。
该系统采用了较为简便的触摸屏操作,能够方便用户进行灯光调节和颜色选择。
此外,该系统还会在触摸屏上显示当前的灯光状态和选定的颜色,提高了用户体验。
实验结果显示,该系统稳定可靠,操作简单,色彩效果良好。
关键词:触摸屏;LED彩色台灯;控制系统;硬件;软件正文:一、引言随着人们对生活质量的要求越来越高,LED彩色台灯逐渐成为了人们生活中的必需品。
然而,现有的控制系统多采用红外遥控的方式,不仅操作麻烦,而且容易出现干扰问题。
为了解决这些问题,本文提出了一种基于触摸屏的控制方式,并设计了相应的硬件和软件系统。
二、系统硬件设计本系统使用的彩色台灯采用了三原色LED灯珠,可任意搭配产生各种颜色。
该系统核心硬件主要包括STM32微控制器、LED控制芯片和触摸屏模块。
其中,STM32微控制器是整个系统的中央处理器,负责控制LED灯的亮度和颜色,以及接收触摸屏操作。
LED控制芯片通过PWM调节电流来控制LED灯的亮度,而触摸屏模块则通过串口与STM32微控制器通信,实现灯光调节和颜色选择等功能。
三、系统软件设计该系统的软件设计主要涉及到两个方面:一是LED灯控制驱动程序,二是触摸屏操作程序。
LED灯控制驱动程序主要实现色彩混合和亮度调节功能,采用了PWM脉宽调制方式,以提高LED灯的控制精度。
触摸屏操作程序采用了STM32的IO库和触摸屏库,支持用户手指平移滑动和点击触控来实现操作功能。
四、系统实验结果本系统经测试表明,系统各部分均运行稳定,且该系统具备操作简便、灯光调节精度高、色彩效果良好的优点。
此外,该系统还会在触摸屏上显示当前灯光状态和选定的颜色,方便用户了解当前灯光情况。
五、总结与展望本系统通过引入触摸屏操作方式,实现了对LED彩色台灯的精准控制,使得系统操作更为方便快捷,同时也提高了用户的交互体验。