查看“音乐盒/zh”的源代码
←
音乐盒/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== *项目名称:Microduino插卡音箱 *目的:读取SD卡中的歌曲播放 *难度:中 *耗时:2小时 *制作者: *简介: 插卡音箱一般是指目前市场上支持或者能够读取SD、TF等等这些内存处理器的音箱,与传统的电脑音箱,手机音箱相比,插卡音箱独有的解码功能,使得它更为消费者所青睐,正因如此,它才被成为音响帝国中的解码大王。插卡音箱以实用,方便,最大限度的满足音箱消费者的需求为设计理念,产品设计简洁,使用高品质喇叭,音质震撼,还原度高,即使在最大音量下破音依然不明显,是追求完美音质的明智选择,还原效果明显,失真度低,被誉为音响王国中的音乐天使。精简按键设计、屏幕显示,无须复杂操作,轻松使用。 ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-Audio/zh]] ||1||解码,存储音乐文件 |- |[[Microduino-Audio&shield/zh]] ||1||拨轮,MicroSD卡 |- |[[Microduino-Amplifier/zh]] ||1||攻放 |- |[[Microduino-OLED/zh]] ||1||显示 |- |[[Microduino-Cube-S1/zh]] ||1||扩展板OLED接口 |} *其他设备 {|class="wikitable" |- |模块||数量||功能 |- |OLED连接线||1||连接 |- |Micro-USB线 ||1||下载程序、供电 |- |喇叭||1||播放音频 |- |MicroSD卡(可选) ||1||存储音乐文件 |- |尼龙螺丝&螺母 ||1||固定 |- |木质外壳 ||1||外观,固定 |} [[File:音乐盒物料.jpg||600px|center]] [[File:音乐盒物料2.jpg||600px|center]] ==实验原理== Microduino-Audio板可解码并存储音乐文件,Microduino-Audio&shield 与喇叭连接实现音乐拨轮及大容量存储,Microduino-Cube-S1与Microduino-OLED连接可以直观的文字提示方式在OLED中显示音量及曲目。再将Microduino-USBTTL,Microduino-Core+与其他模块无序拼接即可实现插卡音箱功能。音箱外形采用木质外壳也可DIY自己的专属外壳。 [[File:外形.jpg||600px|center]] *主要传感器 [[Microduino-Audio]] ==文档== ==调试过程== 将[[Microduino-Core+/zh]]、[[Microduino-USBTTL/zh]]堆叠在一起.用数据线将写好的程序通过[[Microduino-USBTTL/zh]]上传到[[Microduino-Core+/zh]]上。 注意:最好不要将所有模块堆叠在一起之后再上传程序 [[File:download1.jpg||600px|center]] 打开Arduino IDE编程软件,点击 【文件】->【打开】,打开插卡音箱文件夹后选择Microduino_Audio_ble\ Microduino_Audio_ble.ino 点击"√",编译程序。 点击【工具】,选择正确的板+处理器+端口。 点击"→",进行上传。 [[File:Downloadselectcore+.jpg||600px|center]] *使用Flash存储音乐(容量很小) 连接Audio模块到电脑。若成功识别,则“我的电脑”中会出现CD驱动,打开CD驱动。 注意:若未成功识别请检查数据线与模块之间是否插牢。如检查插牢还不能识别就换个电脑USB接口试试。 [[File:Dl4.jpg||600px|center]] 连接成功能显示出一个名为Microduino-Audio的CD驱动器,然后执行以下步骤: [[File:Dl5.jpg||600px|center]] 打开驱动后选择MusicDownload.exe [[File:Musicdl.jpg||600px|center]] 打开后选择“音频加载” [[File:Musicdl1.jpg||600px|center]] 点击“浏览”后选择所有歌曲,点击“打开”(歌曲在Case1-4.mp3中)。 注意:Flash中音乐文件不能超过4M,因此显屏中只有Music Num:1-4号有歌曲,5-9号歌曲还是上一首歌。如果想要增加歌曲,则使用第一种方法即音乐存入MicroSD卡 [[File:Musicdl2.jpg||600px|center]] 打开后点击返回“更新下载”,点击“更新”,点击更新,更新时间较长,请耐心等待 [[File:Musicdl3.jpg||600px|center]] 当现显示“校验成功”后,拷贝音乐就成功了。 注意:校验成功后直接关闭窗口,不要再点击更新,否则又要重新更新 *使用TF卡存储音乐(容量随TF卡大小变化) 将Audio&Shield模块通过USB数据线连接到电脑,此时会识别出一个CD驱动一个可移动磁盘。双击可移动磁盘 [[File:TF步骤1.png||600px|center]] 点击鼠标右键新建文件夹,命名为01(如需要多个可继续命名为02,03以此类推) [[File:TF步骤2.jpg||600px|center]] 之后将音乐存储进文件夹01中即可 [[File:TF步骤3.jpg||600px|center]] ==组装== 如图,请点击查看大图并对应步骤进行拼装 *'''Step1''':首先将A1与OLED显示屏用螺丝钉和螺帽固定,再将传感器连接线接入OLED背面的接口 [[File:Musicstep1.jpg||600px|center]] *'''Step2''':将D1和C2分别插入B1接口 [[File:Musicstep2.jpg||600px|center]] *'''Step3''':将音响嵌入如图位置,再将A1和B1用D3拼装起来 [[File:Musicstep3.jpg||600px|center]] *'''Step4''':将音响嵌入如图位置,再将A1和B1用D3和D2拼装起来 [[File:Musicstep4.jpg||600px|center]] *'''Step5''':将C1与A1和B1进行合并,并将Core,USBTTL,Audio&Shield,Amplifier,Audio叠加在一起,插在底板上,并用D4固定 [[File:Musicstep5.jpg||600px|center]] *'''Step6''':将传感器线和音响线接入模块底板相应位置,再使用USB线接到USBTTL模块上 [[File:Musicstep6.jpg||600px|center]] 至此音乐盒拼装完成 ==注意事项== 1. 如果发生:只能增加音量不能减少音量,只能增加歌曲号不能减少歌曲号,或反之。 原因:uiStep()中阈值设定不合理。 {|class="wikitable" |- |波轮动作||A6实测电压(V)||对应编码(电压/5*1023)||阈值设定 |- |Default||3.3||675.18||>600 |- |向下 ||0||0||0~50 |- |向左||1.6||327.36||150~400 |- |向右 ||2.6||531.96||450~600 |} 在uiSetup中更改阈值设定 ==程序说明== 百度盘地址:http://pan.baidu.com/s/1eQiA6CM 提取码:v576 主程序部分 <source lang = "cpp"> int vol=uiStep(); //检测输入动作 // Serial.print("vol:"); // Serial.println(vol); if(vol==1) key=true; else key=false; if(!key && key_cache) //按下松开后 { key_cache=key; //缓存作判断用 music_status=!music_status; //播放或暂停 if(music_status == true) //播放 { Serial.println("play"); // audio_choose(1); audio_play(); } else //暂停 { Serial.println("pause"); audio_pause(); } } else { key_cache=key; //缓存作判断用 } if(vol==0) { // Serial.println("no"); music_vol_time_cache=millis(); music_vol_time=music_vol_time_cache; music_vol_sta=false; } else if(vol==2) { music_vol_time=millis()-music_vol_time_cache; // if(music_vol_time>200) delay(500); if(uiStep()==0 && !music_vol_sta) { Serial.println("next"); music_num++; //歌曲序号加 if(music_num>music_num_MAX) //限制歌曲序号范围 { music_num=1; } audio_choose(music_num); audio_play(); // delay(500); music_status=true; eeprom_WRITE(); } else if(music_vol_time>1500) { music_vol_sta=true; music_vol++; if(music_vol>30) music_vol=30; audio_vol(music_vol); Serial.println("++"); delay(100); eeprom_WRITE(); } } else if(vol==3) { music_vol_time=millis()-music_vol_time_cache; // if(music_vol_time>200) delay(500); if(uiStep()==0 && !music_vol_sta) { Serial.println("perv"); music_num--; //歌曲序号加 if(music_num<1) //限制歌曲序号范围 { music_num=music_num_MAX; } audio_choose(music_num); audio_play(); // delay(500); music_status=true; eeprom_WRITE(); } else if(music_vol_time>1500) { music_vol_sta=true; music_vol--; if(music_vol<1) music_vol=1; audio_vol(music_vol); Serial.println("--"); delay(100); eeprom_WRITE(); } } if(millis()-timer_draw>init_draw) //OLED显示部分 { u8g.firstPage(); do { draw(); } while( u8g.nextPage() ); timer_draw=millis(); } } </source> ==视频==
返回至
音乐盒/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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息