求助,DFRobot Arduino TTL串口SD卡mp3播放器串口5无法返回低电平

2014-03-128567
AI 快速预览详细 收起
本文讨论了DFRobot Arduino TTL串口SD卡mp3播放器在使用过程中遇到的串口5无法返回低电平的问题。用户希望在mp3播放完毕后再播放下一个mp3,但发现串口5始终返回高电平。文章提供了详细的排查步骤和解决方案,包括修改代码中的条件判断语句。通过这些方法,用户可以解决mp3播放完毕后无法检测到低电平的问题,确保声音传感器触发播放项目正常运行。


有人用过这个模块吗?这个mp3播放模块介绍说音频文件播放完毕后会输出一个低电平。但我试了一下没有成功。我把串口的5号接到Arduino的数字口8上,但是mp3播放完毕数字口检测不到低电平。Serial.print(digitalRead(playing))在monitor上总是返回1;  ,如果有输出低电平的话应该会返回0吧?还是说我的线路连的不对吗?

*我在做一个通过声音传感器触发播放mp3的玩具,现在的问题就是如果一个mp3还没播放完毕,再次检测到声音就会播放下一个mp3了。我想让mp3播放完毕,再放下一个mp3。、

ps:wiki上面的代码有问题,必须把(digitalRead(button)==LOW)改成if(digitalRead(button)==HIGH)才能正常工作,不过就算改了也还是有点问题,按钮按下去的时候会重复触发这个if判断句,直到放开按钮才会执行。
还有就是说明上面写着“语音文件名称\r\n 播放相应名称的歌曲,如果找到歌曲播放正确将返回 Play ok\r\n“   但是我就算在代码中写上了\r\n,也不会返回我Play ok。我的意思是我得不到任何返回值


产品wiki: https://wiki.dfrobot.com.cn/index.php/(SKU:TOY0008)DFRduino_Player_V2.0(.NET_Gadgeteer_Compatible)MP3%E6%92%AD%E6%94%BE%E6%A8%A1%E5%9D%97

332.jpg (106.22 KB, 下载次数: 3956)

连线

DFRobot Arduino TTL串口SD卡mp3播放器串口5无法返回低电平 | DF创客社区_image_3.webp

333.jpg (46.37 KB, 下载次数: 4075)

代码

DFRobot Arduino TTL串口SD卡mp3播放器串口5无法返回低电平 | DF创客社区_image_6.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
BoBo
BoBo
OUT脉冲是表示歌曲播放完毕,输出脉冲非常短 只有1ms 你通过轮询的形式来读取这个脉冲是不容易读取到的。
另外你写的下一曲命令是错误的
//按按键播放下一首
void loop()
{
if(digitalRead(button)==HIGH) //检测是否有按钮按下,注意看看你手上的DF单按钮是不是按下是高电平,新版本是按下高电平。
{
delay(50); //延迟去抖动
if(digitalRead(button)==HIGH)
{ Serial.println("\\:n"); // 播放下一首
Serial.println("OK");
while( digitalRead(PlayEnd)==HIGH) ; // OUT管脚如果是高一直死循环,等待歌曲完成推出,再次检测按钮按下
}
}
}
cai4728
cai4728
作者
回复BoBo
成功了,谢谢大神!原来脉冲只有1ms,我之前一直都看成是1秒了。
- 没有更多了 -