音乐播放器

来自Microduino Wikipedia
跳转至: 导航搜索
Language English

目的

本教程将教大家如何用processing来控制Microduino实现的音乐播放器。

设备


  • 其他硬件设备
    • USB数据连接线 一根
    • 喇叭 一个
    • 存储卡 一张

原理图

堆叠设备说明中的四个Microduino模块,喇叭的两根线接到Microduino-LM4863即可

程序

MicroduinoMusicplayer

ProcessingMusicplayer

调试

步骤一:硬件搭建类似于Microduino KIT示例教程的Microduino LM4863音乐播放器-301KIT:Microduino LM4863音乐播放器-301KIT/zh


  • 将存储卡插入Microduino SD卡槽内
301KIT-SD
  • 连接喇叭
301KIT-Speak


按着原理图搭建硬件环境,像这样:

ProcessingMusicplayerConnectionDiagram.jpg


步骤二:音源制作

  • 我们需要用到一款基于SoX的工具,然后根据你的Microduino的工作频率选择合适的转换程序;
  • 解压文件,进入“Microduino with 16 MHz”文件夹,把音频文件放入到该文件夹中,并拖动到“FullRate@16MHz_Mono.bat”批处理上;
Audio
  • 拖动之后即可转换程序,会弹出一对话框,出现“请按任意键继续...”;
Audio
  • 结束后你会发现新建了一个文件夹,转换好的文件就在里面,如果不行可将原音频文件转换成.wav格式再试试.
Audio
  • 将转换的音频文件复制到存储卡内,插入Microduino SD卡卡槽即可。
  • 用IED打开Microduino提供的测试程序,板卡选择Microduino Core (Atmega328P@16M,5V),下载程序前需要注意:
    • 有些库可能引脚定义不一致,请下载更改过的库,将原来的库替换掉;
    • 程序中需要把音频文件名更换成生成的音频文件名。


步骤三:解释一下代码:

本例需要两端的代码,Processing端和Microduino端

Microduino:

//代码与Microduino LM4863音乐播放器-301KIT基本一致,不同的是添加了接收串口数据功能

   if(Serial.available())
   {
     command=Serial.read();
     Serial.println(command);
     SdPlay.worker();
     if(num_two!=num_one)
     {
       num_two=num_one ;
       if(command=='p') {//’p’ means play
         SdPlay.play();
         Serial.println(F("Play."));
       }
       else if(command=='t') {//’t’ means stop
         SdPlay.pause();
         Serial.println(F("Pause."));
       }
       Serial.println(ok);
       Serial.print(num_one);
       Serial.println(num_two);
     }
   }

Processing:

//得到第一个串口的数据。

 println(Serial.list());
 // is always my Arduino, so I open Serial.list()[0].
 // Open whatever port is the one you're using.
 port = new Serial(this, Serial.list()[0], 9600);

//添加背景图,判断鼠标点击,发送播放或暂停到Microduino控制音乐播放器

 void draw() {
   image(bg, 0, 0);
   if (button) {
     image(play, x, y);
     port.write("p");
   } 
   else {
     image(pause, x, y);
     port.write("t");
   }
 }


步骤四:下载代码并编译通过。

步骤五:运行后,屏幕上会出现一个唱片播放器,点击中间的按钮看看有什么反应。

结果

鼠标点击播放按钮后,播放器开始播放音乐,暂停后音乐暂停,像这样

ProcessingMusicplayerResult.jpg


视频