查看“Microduino 蝴蝶灯/zh”的源代码
←
Microduino 蝴蝶灯/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== *项目名称: Butterfly light *目的: Butterfly light是一款触感调控的可变色音乐灯,主要用于互动和烘托气氛。 *难度:中级 *耗时:6小时 *制作者:Guysgogo&&Microduino ==团队介绍== [[File:setup_gusgogo_logo.jpg|200px|right|thumb]] Guysgogo是由北京洛可可LKK工业设计智能硬件创客班中的四名大学生组成的团队,成员蒋润、郝慧玉、李婷昱、谢慧超分别是来自河北工程大学和河北农业大学的三年级学生,热爱创新和设计的他们齐聚在洛可可创新学院,组成了这个有想法有执行力的团队。“Guysgogo”代表着他们积极上进的心态,希望在洛可可设计学院和Microduino团队的支持下,做出让人耳目一新的作品。 ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh ]]||1||下载程序 |- |[[Microduino-Audio/zh]] ||1||音频控制 |- |[[Microduino-Amplifier/zh]] ||1||功率放大模块 |- |[[Microduino-Sensorhub/zh]] ||1||传感器连接板 |- |[[Microduino-Cube-S1/zh]] ||1||底板 |- |[[Microduino-Lantern/zh]] ||7||彩色led灯 |- |[[Microduino-Touch/zh]] ||7||触摸传感器 |} *其他设备 {|class="wikitable" |- |设备||数量||功能 |- |喇叭||1||发声 |- |MicroUSB数据线||1||供电 |} ==文档== 程序下载:[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Butterfly_light Butterfly_light] 3D模型下载:'''[[File:3D-Butterfly light.zip]]''' ==构建3D模型== 模型采用蝴蝶造型,最开始提案是一个柱形,但是觉得造型太老了,所以换一个造型,开始想做扇子,但是厚度有点大,刚好倒下来是个蝴蝶的形状,就优化了一下结构,最终做成曲线的蝴蝶了。 [[File:3dm_light1.jpg|600px|center|thumb]] ==搭建硬件电路== *彩色led灯采用内置IC控制芯片,单总线控制,只需要一个I/O口就可以控制。因此只需要将一个Lantern的OUT接另一个Lantern的IN。再将Lantern的IN通过Sensorhub接入Microduino核心就行。 [[File:light_steup.jpg|600px|center|thumb]] *每个触摸传感器都需要单独一个Microduino的I/O口来驱动,我们通过数字口和模拟口读取传感器的值来判断是否按下。 [[File:Touch_steup.jpg|600px|center|thumb]] *搭建好硬件电路就可以先调试软件了。 ==准备音频== *下载音频文件:'''[[File:Music-Butterfly light.zip]]''' *使用USB数据线将Microduino-Audio模块与电脑连接,连接成功能显示出一个名为microduino的磁盘,打开后选择音频文件然后写入到flash里面。 ==软件调试== ===程序说明=== *“audio.h”文件是用来控制播放音乐,“key.h”文件是用来检测是否有触摸。 **Audio模块默认接到串口1来控制。 **触摸传感器引脚定义,用户可根据自己需求来改: <source lang="cpp"> int sensor_pin[7]= { 4,8,10,12,A0,A2,A6 }; </source> **彩色led灯控制引脚为D6,并且定义了7个灯: <source lang="cpp"> #define PIN 6 Adafruit_NeoPixel strip = Adafruit_NeoPixel(7, PIN, NEO_GRB + NEO_KHZ800); </source> * 7个灯的触摸情况判断并且控制音乐和led灯的情况: **按到某个按钮播放指定的音频并且led灯闪烁一次白灯。 **连续按两下,显示白灯。 **连续按三下,随即切换颜色。 **任何时候只要按一下就关灯。 <source lang="cpp"> for(int a=0;a<7;a++) { { if(key_get(sensor_pin[a],1)) //触发时 { //colorWipe(strip.Color(255, 255, 0), 10); sensor_vol_cache[a]++; //计数 // Serial.print("+"); if(sensor_vol_cache[a]>3) sensor_vol_cache[a]=3; { colorWipe(color[8], a); num=a; audio_choose(a+1); audio_play(); colorWipe(color[0], a); } time1[a]=millis(); } if(millis()-time1[a]>500 && sensor_vol_cache[a]!=0) //触发,并且闲置超过一秒,结束扫描 { if(sensor_vol_cache[a]==1) { colorWipe(color[0], a); Serial.println("LED_OFF"); } else if(sensor_vol_cache[a]==2) { colorWipe(color[8], a); } else { randomSeed(millis()%1000); sensor_vol[a]=random(1,7); Serial.println(""); Serial.print("num:"); Serial.print(a); Serial.print(":"); Serial.print(sensor_vol[a]); colorWipe(color[sensor_vol[a]], a); } sensor_vol_cache[a]=0; //归零 等待下次扫描 } } } </source> ===程序下载=== *确认你搭建了Microduino的开发环境,否则参考:[[Microduino Getting start/zh]]。 *确定IDE里面有_99_LCD_NeoPixel库。 *打开下载好的程序,编译后选择好板卡进行下载。 *下载后通过触摸Touch传感器来验证以上功能是否正确。同时你需要记下触摸传感器对应哪个彩色led灯。 ==整体组装== *将灯和触摸传感器按照顺序固定在3D蝴蝶外壳上。 [[File:setup_3d_light1.jpg|600px|center|thumb]] [[File:setup_3d_light2.jpg|600px|center|thumb]] *给蝴蝶外壳加上一层漂亮的壁纸 [[File:setup_3d_page.jpg|600px|center|thumb]] *把喇叭固定在底座上,然后和蝴蝶外壳固定在一起。 [[File:setup_3d_buzzer.jpg|600px|center|thumb]] *最后插上USB数据线供电,你就可以尽情的玩耍了。 [[File:setup_3d_ok1.jpg|600px|center|thumb]] [[File:setup_3d_ok2.jpg|600px|center|thumb]] ==注意问题== *Audio模块默认采用串口1来控制,记得初始化串口1:“AUDIO_PORT.begin(9600);” *安装时候注意触摸和灯要对应。 ==视频== http://v.youku.com/v_show/id_XODc2NDMzODg4.html |}
返回至
Microduino 蝴蝶灯/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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息