查看“开源条码刷卡音乐播放器/zh”的源代码
←
开源条码刷卡音乐播放器/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== *项目名称:Microduino开源条码刷卡音乐播放器 *目的:读取SD卡中的歌曲播放,通过刷卡改变曲目 *难度:中 *耗时:2小时 *制作者: *简介: 刷卡音箱一般是指在市场上支持或者能够读取SD、TF等等这些内存处理器的音箱的基础上,增加了刷卡换曲目功能的音箱,与传统的电脑音箱,手机音箱相比,插卡音箱独有的解码功能,使得它更为消费者所青睐,正因如此,它才被成为音响帝国中的解码大王。插卡音箱以实用,方便,最大限度的满足音箱消费者的需求为设计理念,产品设计简洁,使用高品质喇叭,音质震撼,还原度高,即使在最大音量下破音依然不明显,是追求完美音质的明智选择,还原效果明显,失真度低,被誉为音响王国中的音乐天使。精简按键设计、屏幕显示,无须复杂操作,轻松使用。 ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-Audio/zh]](with shield) ||1||解码,存储音乐文件 |- |[[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]] ==文档== 刷卡音乐播放器代码:【[[media:Card player V2-master.zip |刷卡音乐播放器代码]]】 Github:【[https://github.com/Microduino/card_player_V2 Github地址]】 ==调试过程== 将[[Microduino-Core+/zh]]、[[Microduino-USBTTL/zh]]堆叠在一起.用数据线将写好的程序通过[[Microduino-USBTTL/zh]]上传到[[Microduino-Core+/zh]]上。 注意:最好不要将所有模块堆叠在一起之后再上传程序 打开Arduino IDE编程软件,点击 【文件】->【打开】,打开插卡音箱文件夹后选择Microduino_Audio_ble\ Microduino_Audio_ble.ino 点击"√",编译程序。 点击【工具】,选择正确的板+处理器+端口。 点击"→",进行上传。 [[File:Downloadselectcore+.jpg||600px|center]] *使用Flash存储音乐(容量很小) 连接Audio模块到电脑。若成功识别,则“我的电脑”中会出现CD驱动,打开CD驱动。 注意:若未成功识别请检查数据线与模块之间是否插牢。如检查插牢还不能识别就换个电脑USB接口试试。 连接成功能显示出一个名为Microduino-Audio的CD驱动器,然后执行以下步骤: [[File:Dl5.jpg||400px|center]] 打开驱动后,以管理员权限选择打开MusicDownload.exe(注:win10系统用户需要右键打开MusicDownload.exe选择属性,设置一下以兼容性win7运行) [[File:Musicdl.jpg||400px|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]] 至此音乐盒拼装完成 ==刷卡使用== 在一张空白的纸上使用黑色马克笔分别在不同边缘按照如图方式画下黑白相间的粗条纹 [[File:刷卡.jpg||600px|center|thumb]] 之后将条纹从刷卡处刷过即可播放音乐。不同条纹数量即播放不同的音乐 ==注意事项== 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中更改阈值设定 ==程序说明== 主程序部分 <source lang="cpp"> boolean vokey(boolean _vokey) { key=analogRead(PIN_key)<paper_val_MIN; //触发时 switch(_vokey) { case 0: if(!key && key_cache) //按下松开后 { key_cache=key; //缓存作判断用 return true; } else { key_cache=key; //缓存作判断用 return false; } break; case 1: if(key && !key_cache) //按下松开后 { key_cache=key; //缓存作判断用 return true; } else { key_cache=key; //缓存作判断用 return false; } break; } } void loop() { if(vokey(0)) //触发时 { colorWipe(strip.Color(255, 255, 0), 10); paper_num++; //计数 // Serial.print("+"); paper_sta=true; //读取模式 time1=millis(); } if(millis()-time1>1000 && paper_num!=0) //触发,并且闲置超过一秒,结束扫描 { AUDIO.choose(paper_num); //播放扫描歌曲 Serial.println(paper_num); AUDIO.play(); //Serial.println(""); //Serial.print("num:"); //Serial.print(paper_num); paper_num=0; //归零 等待下次扫描 paper_sta=false; //读取模式结束 } if(!paper_sta) //非读取模式,LED呼吸 { if(LED_vol>=255) { LED_vol_sta=1; } if(LED_vol<=0) { LED_vol_sta=0; } if(!LED_vol_sta) { LED_vol+=4; } else { LED_vol-=4; } colorWipe(strip.Color(LED_vol, 0, 0), 10); //呼吸灯显示亮度 } delay(10); } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); } } </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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息