“Microduino 智能音乐盒/zh”的版本间的差异
853387039@qq.com(讨论 | 贡献) (→程序说明) |
853387039@qq.com(讨论 | 贡献) (→搭建) |
||
第56行: | 第56行: | ||
===iPodtouch包装盒改装=== | ===iPodtouch包装盒改装=== | ||
*步骤一:确定OLED尺寸,在面板的白纸上裁剪出屏一样大小洞,把屏露出才能看到。 | *步骤一:确定OLED尺寸,在面板的白纸上裁剪出屏一样大小洞,把屏露出才能看到。 | ||
− | [[File: iPodtouch_steup-1.jpg| | + | [[File: iPodtouch_steup-1.jpg|600px|center|thumb]] |
*步骤二:将OLED固定在面板上 | *步骤二:将OLED固定在面板上 | ||
− | [[File: iPodtouch_steup-2.jpg| | + | [[File: iPodtouch_steup-2.jpg|600px|center|thumb]] |
*步骤三:根据硬件需要用USB供电、更换歌曲、拨轮按键控制,所以在侧边用钻头和小刀切出一个孔。 | *步骤三:根据硬件需要用USB供电、更换歌曲、拨轮按键控制,所以在侧边用钻头和小刀切出一个孔。 | ||
− | [[File: iPodtouch_steup-3.jpg| | + | [[File: iPodtouch_steup-3.jpg|600px|center|thumb]] |
===整体组装=== | ===整体组装=== | ||
*步骤一:首先将Microduino-Duo-V和两个喇叭固定在盒子底部,注意Duo-V上有USB接口的一侧朝着iPodtouch开口,因为要供电。同时在Microduino-Duo-V上将OLED接口用4pin的转接线引出来。 | *步骤一:首先将Microduino-Duo-V和两个喇叭固定在盒子底部,注意Duo-V上有USB接口的一侧朝着iPodtouch开口,因为要供电。同时在Microduino-Duo-V上将OLED接口用4pin的转接线引出来。 | ||
− | [[File: iPodtouch_Module_steup-1.jpg| | + | [[File: iPodtouch_Module_steup-1.jpg|600px|center|thumb]] |
*步骤二:将存储卡放入Audio-KEY-SD模块上 | *步骤二:将存储卡放入Audio-KEY-SD模块上 | ||
− | [[File: iPodtouch_Module_steup-2.jpg| | + | [[File: iPodtouch_Module_steup-2.jpg|600px|center|thumb]] |
*步骤三:将Microduino-Audio叠加在已经开好孔的一侧,如果发现孔的大小还不合适,就需要再修改修改了。 | *步骤三:将Microduino-Audio叠加在已经开好孔的一侧,如果发现孔的大小还不合适,就需要再修改修改了。 | ||
− | [[File: iPodtouch_Module_steup-3.jpg| | + | [[File: iPodtouch_Module_steup-3.jpg|600px|center|thumb]] |
*步骤四:先给核心下载程序,你需要将USBTTL和Core+叠加 | *步骤四:先给核心下载程序,你需要将USBTTL和Core+叠加 | ||
− | [[File: iPodtouch_Module_steup-4.jpg| | + | [[File: iPodtouch_Module_steup-4.jpg|600px|center|thumb]] |
*步骤五:下载使用到的库和程序,然后将库放到Arduino IDE的libraries文件夹里面。如果还没搭建Microduino开发环境,请参考:[[Microduino Getting start/zh]] | *步骤五:下载使用到的库和程序,然后将库放到Arduino IDE的libraries文件夹里面。如果还没搭建Microduino开发环境,请参考:[[Microduino Getting start/zh]] | ||
第76行: | 第76行: | ||
*步骤七:下载完毕就可以不用USBTTL模块了,然后将Core+、RTC、BT模块叠加在一起。 | *步骤七:下载完毕就可以不用USBTTL模块了,然后将Core+、RTC、BT模块叠加在一起。 | ||
− | [[File: iPodtouch_Module_steup-5.jpg| | + | [[File: iPodtouch_Module_steup-5.jpg|600px|center|thumb]] |
*叠加完毕将整体后放入盒子中。 | *叠加完毕将整体后放入盒子中。 | ||
− | [[File: iPodtouch_Module_steup-6.jpg| | + | [[File: iPodtouch_Module_steup-6.jpg|600px|center|thumb]] |
*步骤八:接着需要把两个喇叭通过导线焊接在Amplifier模块上,再叠加在装了Audio模块的一侧。 | *步骤八:接着需要把两个喇叭通过导线焊接在Amplifier模块上,再叠加在装了Audio模块的一侧。 | ||
− | [[File: iPodtouch_Module_steup-7.jpg| | + | [[File: iPodtouch_Module_steup-7.jpg|600px|center|thumb]] |
*步骤九:将底板Duo-V上接口和OLED连接起来 | *步骤九:将底板Duo-V上接口和OLED连接起来 | ||
[[File: iPodtouch_Module_steup-8.jpg|800px|center|thumb]] | [[File: iPodtouch_Module_steup-8.jpg|800px|center|thumb]] | ||
*最后盖上盒子,准备测试。 | *最后盖上盒子,准备测试。 | ||
− | [[File: iPodtouch_Module_steup-9.jpg| | + | [[File: iPodtouch_Module_steup-9.jpg|600px|center|thumb]] |
+ | |||
==拷贝音乐== | ==拷贝音乐== | ||
*步骤一:使用USB数据线将Audio模块上的USB接口和电脑连接,连接后可发现一个新的磁盘,磁盘就是你安装在Audio-KEY-SD上的存储卡,Audio此时相当于一个读卡器了。 | *步骤一:使用USB数据线将Audio模块上的USB接口和电脑连接,连接后可发现一个新的磁盘,磁盘就是你安装在Audio-KEY-SD上的存储卡,Audio此时相当于一个读卡器了。 |
2014年11月25日 (二) 12:59的版本
目录概述
材料清单
文档下载库: 程序下载: 搭建iPodtouch包装盒改装
整体组装
拷贝音乐
通电调试拨轮按键控制拨轮按键有三个功能,往上调,往下调和按下,就像老式的MP3一样。我们通过上调和下调来选择对应的菜单,通过按下来确认。
iPodtouch控制
步骤三:开始设置IOS设备,启动IOS设备的蓝牙功能; 步骤四:打开LightBlue,在“Peripherals Nearbyl”选项卡中找到“Microduino”,单击开始连接。 步骤五:连接成功LED指示灯每5秒亮100毫秒,同ISO上可看到连接状态,然后滑倒最底下,选择“Characteristic 6”; 步骤六:点击右上角的“HEX”,选择“UTF-8 String”; 步骤七:选择“Write new value”,输入你想要发送的数据,然后选择“Done”
程序说明
iPodtouch和蓝牙模块通过ble协议栈无线传输数据,在主程序中,核心Core+收到来自蓝牙传输过来的数据,通过分析处理,给Audio模块下达不同指令来控制暂停、播放等功能。 while (mySerial.available() > 0) //判断串口是否有输入
{
comdata += char(mySerial.read()); //读取字符
delay(2); //等待串口缓存
}
if(comdata=="play")
audio_play();
else if(comdata=="stop")
audio_pause();
else if(comdata=="up")
audio_up();
else if(comdata=="down")
audio_down();
else if(comdata=="vol+")
audio_vol_up();
else if(comdata=="vol-")
audio_vol_down();
comdata = "";
按键检测是采用模拟值来进行判断的,上调、下调、按下返回的值是不一样的,通过这个值,就知道是哪个状态,从而根据状态执行相应的动作。 if (analogRead(A6)>300 && analogRead(A6)<400)
uiKeyCodeFirst = KEY_NEXT;
else if (analogRead(A6)>200 && analogRead(A6)<300)
uiKeyCodeFirst = KEY_PREV;
else if (analogRead(A6)<100)
uiKeyCodeFirst = KEY_SELECT;
else
uiKeyCodeFirst = KEY_NONE;
注意问题
|