极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24940|回复: 2

[DFR0112 Arduino mp3 播放模块]评测

[复制链接]
发表于 2012-10-8 23:07:31 | 显示全部楼层 |阅读模式
本帖最后由 沧海笑1122 于 2012-10-8 23:22 编辑

评测项目:DFR0112 Arduino IIC/TTL串口SD卡音乐 mp3 机器人语音播放器
时间:2012-03~10

1、板子外观


板子做工比较精致,与喇叭尺寸相比,算是小巧。

2、连接方式
(1)左侧接口连接arduino,有两种方式:串口或者I2C通信方式,可以通过跳线选择。I2C方式:+5V,GND不必说,DO接A4,DI接A5
(2) 单/双声道选择:MONO短路子(短接为单声道)。
    连接后是这样的。


3、看看代码(来自DFR网站介绍,因为注释比较详细了,就不再解释)

  1. /////////////////////////////////////////////////////////////////////////////////
  2. //将音频文件放在根目录下的sound文件夹 (sound),支持.WAV、.MP3、.MIDI 这三种文件格式
  3. //模块的MOD跳针用于选择 串口(UART) 或者I2C接口,MONO短路子用于当只适用一个喇叭的时候
  4. //短路这个跳针作为单声道输出
  5. //电压 5V,电流保证有1000毫安,如果电流不够需要将音量调小或者使用单个喇叭
  6. //指示灯的功能: 开机后短促闪烁一次说明进入串口模式,闪烁两次进入I2C模式
  7. //               等待初始化成功后将长亮,如果SD卡未插好将一直闪烁同时
  8. //               如果是串口模块将输出 Plese check micro SD card\r\n
  9. ///////////////////////串口或者I2C通信方式/////////////////////////////////////////////
  10. // 播放音频:语音文件名称\r\n 播放相应名称的歌曲,如果找到歌曲播放正确将返回 Play ok\r\n
  11. // 如果失败返回 Not found\r\n; 如果播放完毕返回 over\r\n(\r\n表示回车换行)
  12. // 语音文件名称不超过8个英文字母,4个中文。I2C接口无命令返回
  13. // 暂停播放\\:p\r\n   成功返回pause\r\n
  14. // 继续播放\\:s\r\n   成功返回start\r\n
  15. // 播放下一首\\:n\r\n   成功返回next\r\n,失败返回 false\r\n
  16. // 播放上一首\\:u\r\n  成功返回key up\r\n
  17. // 音量设置\\:v255\r\n,设置音量大小 数字 0-255 数字越大音量越大,成功返回vol set ok
  18. /////////////////////////////////////////////////////////////////////////////////

  19. //IIC接线方式
  20. //Arduino    MP3
  21. //模拟口4    DO
  22. //模拟口5    DI
  23. //5V         +5V
  24. //GND        GND

  25. #include <Wire.h>
  26. #include <stdlib.h>
  27. #define ArduinoPlayer_address 0x35  //定义ArduinoPlayer 语音播放模块I2C地址

  28. void TwiSend(const char  *cmd)  //I2C发送命令函数
  29. {
  30.   char len = 0;
  31.   len = strlen(cmd); //计算字符串长度
  32.   Wire.beginTransmission(ArduinoPlayer_address); // ArduinoPlayer 语音播放模块I2C地址
  33.   while(len--)
  34.   {
  35.     Wire.send(*(cmd++));     
  36.   }
  37.   Wire.endTransmission();    // stop transmitting
  38. }
  39. void setup()
  40. {
  41.   Wire.begin(); // join i2c bus (address optional for master)
  42.   Serial.begin(9600);
  43.   delay(2000);//等待2秒钟播放器初始化完成
  44.   Serial.println("Ready");
  45.   TwiSend("\\:v 255\r\n");    // 音量设置最大  数字 0-255 数字越大音量越大
  46. }

  47. //接收串口命令字符,执行相应操作
  48. void loop()
  49. {
  50.   int val;
  51.   if(Serial.available() > 0)
  52.   {
  53.     val=Serial.read();
  54.     switch(val)
  55.     {
  56.     case 'p':      // 暂停播放
  57.       TwiSend("\\:p\r\n");
  58.       Serial.println("OK");
  59.       break;
  60.     case 's':     // 继续播放
  61.       TwiSend("\\:s\r\n");
  62.       Serial.println("OK");
  63.       break;   
  64.     case  'n':
  65.       TwiSend("\\:n\r\n");  // 播放下一首
  66.       Serial.println("OK");
  67.       break;
  68.     case 'u':
  69.       TwiSend("\\:u\r\n"); // 播放上一首
  70.       Serial.println("OK");
  71.       break;
  72.     case  'm':      //播放名称为yes的音频文件
  73.       //注意:必须将音量控制放在播放之前
  74.       TwiSend("\\:v 250\r\n");    // 音量设置250 数字 0-255 数字越大音量越大
  75.       TwiSend("\\yes\r\n");
  76.       Serial.println("OK");
  77.       break;  
  78.     default:
  79.       break;   
  80.     }
  81.   }
  82. }
复制代码



4、评测情况
(1)通过串口助手控制歌曲播放,P代表暂停;S是恢复播放;N/U上下翻动歌曲,M是播放特定名称歌曲。配套的小喇叭倒不是很给力,你也可以考虑输出给功放。

(2)感觉:控制起来是比较流畅的,通过串口方式由PC控制,很方便用上位机编程。或者用按钮(需要加电阻,编程时注意延时去抖)引入开关量,很便利地控制歌曲的播放、暂停、上下曲选择以及特定歌曲播放、音量调节。
(3)用途
a.因为体积很小,所以第一感觉就是互动玩具,与语音识别模块配合,可以做预先录制好的应答库。然后根据互动结果输出。
b.与液晶配合(英文数字歌曲名可以用1602),显示歌曲名称(使用串口模式),做一个小的MP3播放器。当然,这个功能需要详细的技术手册。
c.与oled2864配合,我希望能够试试视觉电子乐,(电位器可以调节声音)也许是另外一种很炫的玩法。很期待这个尝试。

5、需要注意的问题

(1)需要注意的问题就是micro sd卡的选择,就是那种手机卡,为了考虑和W5100模块兼容,最好选择2G以下的,我测试了两种卡,都认,不像W5100模块挑卡。下图就是我的诺基亚手机的卡。

(2)这块板子到手比较早,和语音识别模块一起买的,当时也评测了,但是没有整理。现在DF好像已经升级了这款模块,本文仅供参考。因为看到坛子里,有网友问,有没有mp3的解决方案,也有其他网友作出了尝试,本文抛砖引玉吧。
(3)板子与arduino UNO不是叠装方式,板子本身有四个比较合适的安装孔(在四角),可以通过铜柱固定。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2012-10-8 23:14:15 | 显示全部楼层
顶沧海,不错的学习资料!
回复 支持 反对

使用道具 举报

发表于 2012-10-9 01:41:26 | 显示全部楼层
强悍,不过 成本不低吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-28 05:31 , Processed in 0.038041 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表