查看“开源智能彩虹音乐触摸灯/zh”的源代码
←
开源智能彩虹音乐触摸灯/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Microduino-yyyyyyyy}} {| style="width: 800px;" |- | ==概述== *项目名称:开源智能彩虹音乐触摸灯 *目的:当有人触摸时,相应的彩灯亮并产生一个音符 *难度:中 *耗时:2小时 *制作者:ray *简介: 本次教程我们将使用Microduino产品模块快速搭建一个智能彩虹音乐触摸灯, 该系统通过触摸按键探测表面是否有人触摸。当有人触摸时,就会有对应位置的彩灯亮并产生一个对应的音符。 [[File:Microduino_1.JPG]] ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Cube-S1/zh]]||1||扩展板 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-BT/zh]]||1||蓝牙模块 |- |[[Microduino-Audio/zh]] ||1||音频播放 |- |[[Microduino-Amplifier/zh]] ||1||功率放大 |- |[[Microduino-Sensorhub/zh]] ||1||与传感器相连 |- |[[Microduino-TOUCH/zh]] ||7||触摸传感器 |} *其他设备 {|class="wikitable" |- |模块||数量||功能 |- |Micro-USB线||1||下载程序,供电 |- |喇叭 ||1||发声 |- |螺丝 ||5||固定模块 |- |彩灯带 ||1|| |- |外壳 ||1|| |} ==实验原理== 开源智能彩虹音乐触摸灯主要分为触摸检测与音频播放控制两个部分。按键检测部分采用按键触摸传感器Microduino-TOUCH,能够检测是否有人触摸。控制部分主要为声光控制,发光部件采用14个彩灯为一的彩灯带,能让彩虹灯呈现美轮美奂的颜色;音频部分通过Microduino-Aduio模块管理音频文件,Microduino-Amplifier功率放大模块驱动1个喇叭发出动听的声音。 [[File:Microduino_2.JPG||600px|center]] 整体系统的控制原理即接入以上两个部分,Microduino-Core+核心通过触摸传感器探测到有人触摸后,系统控制彩灯带对应的灯产生颜色,Auido模块将产生一个对应的音符,从而实现彩虹触摸灯的效果。 *主要传感器 [[Microduino-TOUCH/zh]]是电容式触摸检测传感器模块。 电容特性为充放电时间短、通交流阻直流。触摸传感器的回路电流为直流电,所以触摸传感器两端在通电后相当于开路,触摸传感器两端为高电平。人体组织和体液都可以导电,人体接触电容两端之后,触摸传感器两端变成低电平。人体结束和触摸传感器的接触后,电容暂瞬间开始充电,达到电容的额定容量之后,电容两端相当于开路,触摸传感器两端又变成高电平。触摸传感器通过两端电压的变化判断是否有触摸。 ==文档== 触摸灯代码:【'''[[media:BluButterflyLight-master.zip|触摸灯代码下载]]'''】 触摸灯代码github:[https://github.com/Microduino/BluButterflyLight BluButterflyLight] Android客户端: 注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。 手机APP和测试程序:[https://github.com/Microduino/BluButterflyLight.git] ==调试过程== *下载程序 将Microduino-Core+与Microduino-USBTTL叠加(无上下顺序),通过USB数据与电脑连接起来。 [[File:download1.jpg||200px|center]] 打开BluButterflyLight.ino文件 [[File:Dl1.jpg||300px|center]] 在工具->板那里选择Microduino-Core+(644pa)。在处理器选项里面选择处理器(Atmega644pa@16M,5V),在端口选项里面选择正确的端口号,然后直接烧录程序。 [[File:Microduino-13.png||center]] 使用USB数据线将Microduino-Audio模块与电脑连接。 连接成功能显示出一个名为Microduino Audio的CD驱动器 [[File:Dl5.jpg||400px|center]] 打开CD驱动器后以管理员权限执行音乐更新软件Music Update tool,选择“音频加载”选项 [[File:Dl6.jpg||450px|center]] 点击“浏览”,选择“keytones”文件夹中的音频文件,将音频文件添加到软件中 [[File:Microduino-14.png||center]] 在”更新下载”选项中选择“更新”,更新完成后,音频文件就已写入flash中 [[File:Dl8.jpg||450px|center]] ==组装== 拼装时首先将Microduino-Duo-S1板用尼龙螺柱固定在底板上面。 [[File:Microduino_3.jpg||600px|center]] 之后将Core+(在最下),BT,Audio,Amplifier,Sensorhub(在最上)按顺序叠加起来,之后加在Microduino-Duo-S1底板上 [[File:Microduino_4.jpg||600px|center]] 将喇叭连接到Amplifier的接口上(没有左右顺序区别) [[File:Microduino_5.jpg||600px|center]] 之后将触摸传感器和彩灯带与Hub连接,按如图所示位置 [[File:Microduino_6.JPG||600px|center]] 彩灯带有线的头方向放在靠底板那边,触摸传感器按照上面图和下面图顺序依次放好 [[File:Microduino-7.jpg||600px|center]] 喇叭的固定座放在喇叭上 [[File:Microduino-8.jpg||600px|center]] 然后将固定座和喇叭一起连接到外壳 [[File:Microduino-9.jpg||600px|center]] 之后把内部结构拼好 [[File:Microduino-10.jpg||600px|center]] 最后把侧面也装上 [[File:Microduino-11.jpg||600px|center]] 这样彩虹灯外形拼好了。然后用USB数据线将电脑和彩虹触摸灯连接上,用手触摸彩虹灯上面,就会产生一个音符并在对应位置LED灯亮。 [[File:Microduino-12.jpg||600px|center]] ==程序说明== *蓝牙部分 <source lang="cpp"> void ble() { if (my_Serial.available() > 0) { //如果有蓝牙发送的信息 currentInfo = my_Serial.readStringUntil('\n'); //读取信息 Serial.println(currentInfo); if(currentInfo=="ERROR") { return; } else if (currentInfo.startsWith("Connected")) { //成功读取则进行下一步 bleEnable=true; } else if (currentInfo.startsWith("Disconnected")) { bleEnable=false; } if(!bleEnable) { //不成功读取则结束 return; } if (currentInfo.startsWith("do")) { //接收到的不同命令 audio_play(1, 5, 500); led_off(1, 5); }else if (currentInfo.startsWith("re")) { audio_play(2, 5, 500); led_off(2, 5); }else if (currentInfo.startsWith("mi")) { audio_play(3, 5, 500); led_off(3, 5); }else if (currentInfo.startsWith("fa")) { audio_play(4, 5, 500); led_off(4, 5); }else if (currentInfo.startsWith("so")) { audio_play(5, 5, 500); led_off(5, 5); }else if (currentInfo.startsWith("la")) { audio_play(6, 5, 500); led_off(6, 5); }else if (currentInfo.startsWith("si")) { audio_play(7, 5, 500); led_off(7, 5); } else if (currentInfo.startsWith("xxx")) { for(int a=0;a<42;a++) { audio_play(songs[0][a*2], 5, songs[0][a*2+1]); led_off(songs[0][a*2],5); } } else if (currentInfo.startsWith("lzlh")) { for(int a=0;a<42;a++) { audio_play(songs[1][a*2], 5, songs[1][a*2+1]); led_off(songs[1][a*2],5); } }else if (currentInfo.startsWith("apple")) { for(int a=0;a<42;a++) { audio_play(songs[2][a*2], 5, songs[2][a*2+1]); led_off(songs[2][a*2],5); } } } } </source> ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
开源智能彩虹音乐触摸灯/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息