音乐盒三(红外遥控)

来自Microduino Wikipedia
853387039@qq.com讨论 | 贡献2015年10月14日 (三) 03:58的版本 (Created page with "{{Language| 音乐盒一(红外控制)}} {| style="width: 800px;" |- | ==目的== 搭建一个音乐盒,可播放TF卡中的音乐文件,用遥控器进行选歌,及...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

搭建一个音乐盒,可播放TF卡中的音乐文件,用遥控器进行选歌,及音量操作,同时也可以用Joystick进行控制。

原理

检测是否有对应的红外遥控信号,根据不同红外信号控制播放音乐。同时检测摇杆X-Y方向的动作,通过读取模拟值来判断。同时判断停留时间长短来选择控制方式。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
mCookie-Audio/zh 1 音频模块
mCookie-Amplifier/zh 1 功率放大模块
mCookie-OLED/zh 1 显示屏
mCookie-BM/zh 1 电池管理
Microduino-Joystick/zh 1 摇杆传感器
Microduino-IR receiver/zh 1 红外接收
  • 其他设备:
    • 喇叭两个
    • 电池1个
    • TF存储卡
    • 红外遥控器

加载代买

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 2:点击Files > Examples > mCookie > _302_MusicBox_Remote, 加载程序。
  • Setup 3:选择好板卡和COM端口下载程序。出现上传成功(Done Uploading)提示,表示程序已经写进CoreUSB模块中了。

软件调试

  • ” audio.h”控制Audio模块文件
  • Audio模块串口使用
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

#define AUDIO_PORT mySerial
  • 检测摇杆值
int uiStep()         //切歌
{
  if (analogRead(A0) < 100)  //Y-up
  {
    delay(50);       //延迟50毫秒输出
    if (analogRead(A0) < 100)      //
      return 1;      //回到动作1
  }
  if (analogRead(A1) < 100)    //
  {
    delay(50);       //延迟50毫秒输出
    if (analogRead(A1) < 100)  //X-Right
      return 2;      //回到动作2
  }
  if (analogRead(A1) > 900)    //X-Left
  {
    delay(50);       //延迟50毫秒输出
    if (analogRead(A1) > 900)  //
      return 3;      //回到动作3
  }
  return 0;
}
  • OLED显示界面,用户可以改
 //主界面,可自由定义
void draw()
{
  setFont_L;

  u8g.setPrintPos(4, 16);
  u8g.print("Music_sta:");
  u8g.print(music_status ? "play" : "pause");

  u8g.setPrintPos(4, 16 * 2);
  u8g.print("Music_vol:");
  u8g.print(music_vol);
  u8g.print("/30");
  u8g.setPrintPos(4, 16 * 3);
  u8g.print("Music_num:");
  u8g.print(music_num);
  u8g.print("/");
  u8g.print(music_num_MAX);
  u8g.setPrintPos(4, 16 * 4);
  u8g.print("....Microduino....");
  //u8g.print(rtc.formatTime(RTCC_TIME_HMS));
}

搭建硬件

  • Setup 1:用连接线将OLED接到Hub模块的IIC接口上,Joystick传感器安装到A0,A1。IR receiver传感器接到D6。
  • Setup 2:将TF卡装在AudioShield模块的卡槽中。
MusicBox Joystick TF.jpg
  • Setup 3:将Audio和AudioShield模块堆叠并连接PC,就可以将想要播放的MP3文件储存在TF卡根目录下,最多储存9首。
MusicBox Joystick song.jpg
  • Setup4:将两个喇叭接到Amplifier上
MusicBox Joystick song speak.JPG
  • Setup5:将Audio,Audio shield,Amplifier三个叠堆到一块。
MusicBox Joystick 3 speak.JPG
  • Setup6:将激活后的电池盒与BM模块相连
CoreUSB Ble steup2.jpg
  • Setup7:将所有模块堆叠在一起,顺序随意(除了Audio,AudioShield和Amplifier三个要挨在一起),电路部分搭建完成了!

如何操作

你可以通过点按遥控器的相应按钮控制音乐盒的歌曲切换以及音量。

你也可以通过Joystick对音乐盒进行控制,方法如下。

也可以选择Duo-V进行堆叠,这样OLED就不需要连接在Hub上,整个应用的高度也会降低。

结果

通过红外遥控器或Joystick摇杆来控制音乐的播放、暂停与切歌。你也可以通过乐高搭建一个漂亮的外观。

视频