Microduino 智能音乐盒/zh

来自Microduino Wikipedia
853387039@qq.com讨论 | 贡献2014年11月25日 (二) 12:58的版本 程序说明
跳转至: 导航搜索

概述

  • 项目名称:Microduino智能音乐盒
  • 目的:通过Microduino模块,搭建一个智能音乐盒,能通过iPodtouch控制播放音乐,还能设定闹钟。外壳采用iPodtouch包装盒,也可通过拨轮按键进行控制。
  • 难度:高级
  • 耗时:4小时
  • 制作者:Microduino Studio-YLB&&Microduino Studio-PKj

材料清单

  • Microduino设备
模块 数量 功能
Microduino-Core+/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-Audio/zh 1 存储音乐
Microduino-Amplifier/zh 1 功放
Microduino-RTC/zh 1 时间
Microduino-BT/zh 1 蓝牙传输数据
Microduino-OLED/zh 1 显示
Microduino-Duo-v/zh 1 扩展,降低高度
  • 其他设备
USB数据线 1 连接
喇叭 2 产生声音
iPodtouch包装盒 1 外壳
工具刀 1 剪切
胶枪 1 固定

文档

下载库:

程序下载:

搭建

iPodtouch包装盒改装

  • 步骤一:确定OLED尺寸,在面板的白纸上裁剪出屏一样大小洞,把屏露出才能看到。
  • 步骤二:将OLED固定在面板上
  • 步骤三:根据硬件需要用USB供电、更换歌曲、拨轮按键控制,所以在侧边用钻头和小刀切出一个孔。

整体组装

  • 步骤一:首先将Microduino-Duo-V和两个喇叭固定在盒子底部,注意Duo-V上有USB接口的一侧朝着iPodtouch开口,因为要供电。同时在Microduino-Duo-V上将OLED接口用4pin的转接线引出来。
  • 步骤二:将存储卡放入Audio-KEY-SD模块上
  • 步骤三:将Microduino-Audio叠加在已经开好孔的一侧,如果发现孔的大小还不合适,就需要再修改修改了。
  • 步骤四:先给核心下载程序,你需要将USBTTL和Core+叠加
  • 步骤五:下载使用到的库和程序,然后将库放到Arduino IDE的libraries文件夹里面。如果还没搭建Microduino开发环境,请参考:Microduino Getting start/zh
  • 步骤六:重新打开Arduino IDE ,打开下载好的程序, 编译通过后选择好板卡下载程序,也可使用快捷键“Ctrl+U”下载程序。
  • 步骤七:下载完毕就可以不用USBTTL模块了,然后将Core+、RTC、BT模块叠加在一起。
  • 叠加完毕将整体后放入盒子中。
  • 步骤八:接着需要把两个喇叭通过导线焊接在Amplifier模块上,再叠加在装了Audio模块的一侧。
  • 步骤九:将底板Duo-V上接口和OLED连接起来
  • 最后盖上盒子,准备测试。

拷贝音乐

  • 步骤一:使用USB数据线将Audio模块上的USB接口和电脑连接,连接后可发现一个新的磁盘,磁盘就是你安装在Audio-KEY-SD上的存储卡,Audio此时相当于一个读卡器了。
  • 步骤二:在磁盘内新建一个文件夹,并命名为01,然后把歌曲拷贝到该文件夹内,改名为:001-099,一个文件夹内最对存99首歌。

通电调试

拨轮按键控制

拨轮按键有三个功能,往上调,往下调和按下,就像老式的MP3一样。我们通过上调和下调来选择对应的菜单,通过按下来确认。

  • 步骤一: 通电默认显示有logo、时间,闹钟开启状态,闹钟开启时间。
  • 步骤二:如果时间不对,就用进入Set clock里面设置时间,包括日期和时间。
  • 步骤二:播放音乐,进入Set tone播放歌曲,程序设定了10首歌,用户可自行更改。
  • 步骤三:设置闹铃,进入Set alarm设置闹钟是否开启和闹钟时间。
  • 步骤四:进入System可以设置显示字体大小,共三级(0-2),可以设置音乐播放声音,1-30的音量调节。

iPodtouch控制

  • 步骤一:准备一个iphone设备,前往App store里面下载LightBlue

步骤三:开始设置IOS设备,启动IOS设备的蓝牙功能;

步骤四:打开LightBlue,在“Peripherals Nearbyl”选项卡中找到“Microduino”,单击开始连接。

步骤五:连接成功LED指示灯每5秒亮100毫秒,同ISO上可看到连接状态,然后滑倒最底下,选择“Characteristic 6”;

步骤六:点击右上角的“HEX”,选择“UTF-8 String”;

步骤七:选择“Write new value”,输入你想要发送的数据,然后选择“Done”

  • 控制的命令说明:
    • 播放音乐:play
    • 暂停音乐:stop
    • 上一曲:up
    • 下一曲:down
    • 调大音量:vol+
    • 调小音量:vol-

程序说明

  • 蓝牙控制指令

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;

注意问题

  • 用户需要安装Microduino的硬件支持包,如果还没请参考:Microduino Getting start/zh
  • Audio模块由两个板子,一个是核心带处理器用来播放音乐,一个是拨轮按键加存储卡底座,用来存储音乐文件和简单的控制。
  • 这里手机控制只用了IOS设备调试,同时也需要能支持蓝牙4.0的IOS设备( iPhone4s以上、iPod touch 5以上、iPad 3以上、iPad mini以上);如果使用Android设备调试,系统要4.3以上的才能和BT模块通讯,并且需要下载串口通讯助手来调试。