极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

VS1003+SD卡播放MP3文件

[复制链接]
 楼主| 发表于 2013-4-21 15:29:04 | 显示全部楼层
lou2382 发表于 2013-4-19 14:45
感謝!摸索了好久! 請問他的錄音功能怎麼實現呢?

这个你可以自己去看一下 VS1003 的芯片文档,上面有讲关于关于录音的spi命令
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-21 15:30:32 | 显示全部楼层
lou2382 发表于 2013-4-20 13:51
請問!
    maga 2560  串扣一直停留在   Set SD card...
如何解決呢!?謝!

因为程序设定是如果不成功会一直测试,所以是你的SD卡没有连接好。看一下CS引脚的选择是否正确
回复 支持 反对

使用道具 举报

发表于 2013-4-23 07:48:35 | 显示全部楼层
[email protected] 发表于 2013-4-21 15:30
因为程序设定是如果不成功会一直测试,所以是你的SD卡没有连接好。看一下CS引脚的选择是否正确

我cs接腳,皆在  mega    pin 53對嗎?!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-23 21:17:42 | 显示全部楼层
lou2382 发表于 2013-4-23 07:48
我cs接腳,皆在  mega    pin 53對嗎?!

貌似是没错啊
回复 支持 反对

使用道具 举报

发表于 2013-5-8 18:28:38 | 显示全部楼层
想问问各位前辈,如果用UNO的话,CS的引脚应该接哪个端口呢?
回复 支持 反对

使用道具 举报

发表于 2013-5-9 22:38:50 | 显示全部楼层
有没有完整的接线图啊,比如SD卡怎么连接啊
回复 支持 反对

使用道具 举报

发表于 2013-5-10 19:53:12 | 显示全部楼层
<SD.h>
<SPI.h>
这两个库文件需要下载吗? 我按上面的做了感觉没有成功啊
回复 支持 反对

使用道具 举报

发表于 2013-5-10 20:13:59 | 显示全部楼层
我的程序也出现 Set SD card... 。。。。。中,我用的是UNO,用的是大的小的SD插在大的卡内~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-10 21:49:11 | 显示全部楼层
万马奔腾 发表于 2013-5-10 19:53
这两个库文件需要下载吗? 我按上面的做了感觉没有成功啊

这两个本来就是内置库啊
回复 支持 反对

使用道具 举报

发表于 2013-5-10 22:09:55 | 显示全部楼层
晓得了 SD卡一直初始化不成功 怎么解决啊
回复 支持 反对

使用道具 举报

发表于 2013-5-11 00:55:37 | 显示全部楼层
{:soso_e105:}同求····
回复 支持 反对

使用道具 举报

发表于 2013-5-13 19:23:13 | 显示全部楼层
现在听到声音了,但是声音是断断续续 ,就想光盘卡一样的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-13 22:17:36 | 显示全部楼层
万马奔腾 发表于 2013-5-13 19:23
现在听到声音了,但是声音是断断续续 ,就想光盘卡一样的

uno需要微调那个97行的delayMicroseconds(35);
因为每个arduino速度有点不一致,所以要更改数字以达到两个芯片同步。 像这个35是我自己试的2560的数字
回复 支持 反对

使用道具 举报

发表于 2013-5-13 23:19:39 | 显示全部楼层
[email protected] 发表于 2013-5-13 22:17
uno需要微调那个97行的delayMicroseconds(35);
因为每个arduino速度有点不一致,所以要更改数字以达到两 ...

首先谢谢你无私的指点,由于是新手非计算机专业,研究程序时有以下几个问题没有看懂,在麻烦指点指点。。。。无限感激!!
  1. //for sd test  
  2. File root;              //这里File是数据类型吗,没有找到相关这是

  3. char* playlist[]={/ /这是指针数组吗,表示什么意思啊,而且后面好像没有用到这个数组啊
  4. };

  5. File mp3;    //这里File是数据类型吗,mp3是文件名吗?

  6. Mp3Reset();  //这里是调用一个子函数吧

  7.   root = SD.open("/");//SD.open("/")是什么意思,看了SD库还是没有看懂
  8.   printDirectory(root, 0);
  9.   Serial.print("Totally ");
  10.   Serial.print(fileNumber);
  11.   Serial.print(" file(s)"); //" file(s)"这表示什么意思啊
  12.   Serial.println();
  13. }

  14. void loop(){
  15.    play("s1.mp3"); //这里好像S1这首歌没有播放,直接从S2开始的啊
  16.   play("s2.mp3");

  17. }

  18. void play(char* playplay){ //这里有事什么意思啊char* playplay
  19.   int val,i;
  20.   mp3=SD.open(playplay);
  21.   delay(10);
  22.   for(i=0;i<548;i++){
  23.     mp3.close();  //是否有这个内部函数啊
  24. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-14 08:19:24 | 显示全部楼层
万马奔腾 发表于 2013-5-13 23:19
首先谢谢你无私的指点,由于是新手非计算机专业,研究程序时有以下几个问题没有看懂,在麻烦指点指点。。 ...

file 本身是来源于c++的概念 就是一种object 一开始 那个root是用来生成文件目录 后来MP3的那个是用来播放文件
char* 这个数组一开始想要自动读取歌曲名称的,但是后来未完成
102行开始有Mp3Reset();的函数定义
SD.open("/");这是打开根目录的意思
Serial.print(" file(s)"); 没什么意义 只是打印到串口给你看一下
s1没有播放 可能是文件有所不支持 这个要看 vs1003的芯片资料
playplay只是我随便起的变量名,不用在意的
mp3.close();是指关闭前面的file

回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-5-2 19:28 , Processed in 0.039136 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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