触摸变色台灯

触摸变色台灯

ID:43696934

大小:42.00 KB

页数:5页

时间:2019-10-12

触摸变色台灯_第1页
触摸变色台灯_第2页
触摸变色台灯_第3页
触摸变色台灯_第4页
触摸变色台灯_第5页
资源描述:

《触摸变色台灯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、触摸变色台灯七彩台灯制作的元器件如下(元器件图在文件夹中):1、LightDiscwith7SMDRGBLED(七彩LED灯)七彩LED灯(1).jpg(58.6KB)2、DFRduinoNano(主控芯片为ATMEGA328P)板子DFRduinoNano.jpg(57.5KB)3、CapacitiveTouchSensor(触摸开关)触摸开关.jpg(73.16KB)4、USB下载线一条USB下载线.jpg(72.29KB)5、面包板一块及插针、导线若干面包板.jpg(82.31KB)6、小纸杯一个(本来是用来罩住七彩LED灯产

2、生绚丽效果,但是未找到合适的)七彩台灯的开发环境为Arduino,版本为arduino-0022(同上回LED魔方版本一样)。代码大致过程是:首先确定能产生PWM信号的AVR单片机数字I/O引脚(D3、D5、D6、D9、D10、D11)用于控制RGB_LED七彩灯的电平给入,选择D9控制七彩灯的G引脚,D10控制七彩灯的R引脚,D5控制七彩灯的B引脚。而单片机D2引脚控制触摸开关电平的读取。选择定时器T/C0为外部中断,每当触摸开关电平改变,触发一次中断。T/C2为内部溢出中断(此内部中断为普通工作模式),设定为每2ms溢出一次。当

3、程序下载完成,七彩灯不工作,长按触摸开关5s,彩灯处于普通模式下,再触摸开关3s,进入调光模式,调光模式下彩灯一直处于多种色彩循环亮状态。最后长按5s触摸开关,彩灯关闭。(如DV拍摄视频所示)注:由于标志位太多,逻辑比较复杂,不大好控制,因此,暂时写这么一点小小的功能,更多功能后续补加。复制内容到剪贴板代码:#definetouch2//设置触摸的数字IO脚2#defineLED_R10//全彩灯红色#defineLED_G9//全彩灯绿色#defineLED_B5//全彩灯蓝色voidsetup(){pinMode(touch,I

4、NPUT);//设置数字IO引脚2为输入pinMode(9,OUTPUT);//设置数字IO引脚为输出pinMode(10,OUTPUT);//设置数字IO引脚为输出pinMode(11,OUTPUT);//设置数字IO引脚为输出analogWrite(LED_R,0);//设置第10引脚为高电平,点亮led灯analogWrite(LED_G,0);//设置第9引脚为高电平,点亮led灯analogWrite(LED_B,0);//设置第5引脚为高电平,点亮led灯timer2_init();//初始化定时器2attachInte

5、rrupt(0,blink,CHANGE);//设置为0号中断,中断函数blink,触发方式为change}voidtimer2_init(void)//定时器2初始化//{TCCR2A=0X00;TCCR2B=0X07;//时钟源1024分频TCNT2=224;//2ms溢出一次TIMSK2=0X01;//允许中断}volatileintflag=0;//中断状态volatileintflag_1=0;//工作状态标识volatileintflag_2=0;//工作状态标识volatileintflag_s=0;//中断标识vol

6、atileintT=0;//声明volatileint量voidloop(){if(flag_s==1)//开机状态下----可以预设为读取EPROM中的值{analogWrite(LED_R,200);analogWrite(LED_G,100);analogWrite(LED_B,100);}if(flag_s==2)//关机状态下{analogWrite(LED_R,0);analogWrite(LED_G,0);analogWrite(LED_B,0);}if(flag_s==3)//调光模式下{analogWrite(LE

7、D_R,155);analogWrite(LED_G,0);analogWrite(LED_B,0);delay(200);analogWrite(LED_R,0);analogWrite(LED_G,155);analogWrite(LED_B,0);delay(200);analogWrite(LED_R,0);analogWrite(LED_G,0);analogWrite(LED_B,155);delay(200);analogWrite(LED_R,255);analogWrite(LED_G,100);analogWri

8、te(LED_B,0);delay(200);analogWrite(LED_R,255);analogWrite(LED_G,0);analogWrite(LED_B,100);delay(200);analogWrite(LED_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。