html音频从10秒播放至30秒,基于Arduino制作SD卡音乐播放器
一、项目介绍
前面用ATtiny85制作SD卡音乐播放器,本次主要利用Arduino UNO 和SD卡制作音乐播放器。这个播放器不需要添加多余的模块,只需要SD读卡器和Arduino UNO开发板就可以播放音频文件。遗憾的是我们需要将音频文件提前转换为wav文件格式,这与ATtiny85制作的SD卡音乐播放器一致。音频文件转换成wav格式,可遵循以下步骤:
2、推荐的转换格式设置
Bit Resolution
8 Bit
Sampling Rate
16000 Hz
Audio Channel
Mono
PCM format
PCM unsigned 8-bit
3、在网站上点击“choose file”,选择你想要转换的文件。然后按上面的设置输入值。操作界面如下:
4、点击 “Convert File” ,这样音频文件就转换器为.wav格式了,下载保存到SD卡。
二、元器件清单
1、Arduino UNO
2、8欧姆 0.25瓦 小喇叭
3、SD卡卡座模块
4、SD卡
5、连接线
三、电路连接图
Arduino UNO 与SD卡模块的引脚连接如下表
Arduino
SD card 模块
+5V
Vcc
Gnd
Gnd
Pin 12
MISO (Master In Slave out)
Pin 11
MOSI (Master Out Slave In)
Pin 13
SCK (Synchronous Clock)
Pin 4
CS (Chip Select)
Arduino UNO将从SD卡读取音乐文件,并从9号针脚输出音频信号。如果觉得Arduino发出的音频信号太小,可将9号引脚接入功放器放大声音信号,可参考下图,加入LM386芯片实现音频放大,这里不再过多赘述。
实物连接图:图中还有两个按钮开关连接到Arduino的2号和3号引脚。开关实现切换下一首的功能和实现播放/暂停功能。
四、库文件地址
文件下载后,应该为.zip文件,不用解压缩,安装库文件可参考下图操作:
五、程序代码
/*Arduino Music Player */
#include "SD.h" //读取 SD card 文件
#include "TMRpcm.h" //读取 音频播放文件
#include "SPI.h" //读取 SD card的SPI 文件
#define SD_ChipSelectPin 4 //设置CS 引脚 4
TMRpcm music; //设置音频播放对象 "music"
int song_number=0;
boolean debounce1=true;
boolean debounce2=true;
boolean play_pause;
void setup(){
music.speakerPin = 9; //设置音频输出针脚 9
Serial.begin(9600); //串口调试
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD fail");
return;
}
pinMode(2, INPUT_PULLUP); //Button 1 切换音频文件
pinMode(3, INPUT_PULLUP); //Button 2 播放或暂停
pinMode(3, INPUT_PULLUP); //Button 2 快进
music.setVolume(5); // 设置音量0 ~7
music.quality(1); // 设置 1 或 2x 采样速度,0为正常值
//music.volume(0); // 1(高) 0(低)控制音量
//music.play("filename",30); //从30秒开始播放一个文件
}
void loop(){
if (digitalRead(2)==LOW && debounce1 == true) //Button 1 按下
{
song_number++;
if (song_number==5)
{song_number=1;}
debounce1=false;
Serial.println("KEY PRESSED");
Serial.print("song_number=");
Serial.println(song_number);
if (song_number ==1)
{music.play("1.wav",10);} //从10秒开始播放第一首歌
if (song_number ==2)
{music.play("2.wav",33);} //从33秒开始播放第二首歌
if (song_number ==3)
{music.play("3.wav");} //从开始位置播放第三首歌
if (song_number ==4)
{music.play("4.wav",25);} //从25秒开始播放第四首歌
if (digitalRead(3)==LOW && debounce2 == true) //Button 2 按下
{
music.pause(); Serial.println("PLAY / PAUSE");
debounce2=false;
}
if (digitalRead(2)==HIGH) //防止误操作
debounce1=true;
if (digitalRead(3)==HIGH) //防止误操作
debounce2=true;
}
}
至此基于Arduino UNO的SD卡音频播放器就完成了,有兴趣可将它与基于ATtiny85的SD卡音频播放器进行对比测试。
html音频从10秒播放至30秒,基于Arduino制作SD卡音乐播放器相关推荐
- 基于FPGA的SD卡音乐播放器之完结篇
基于FPGA的SD卡音乐播放器之完结篇 目录 前言 一.WAV格式 二.FIFO模块 三.音频-SD卡交互模块 四.锁相环模块 五.按键去抖模块 六.按键控制模块 总结 前言 前面已经介绍了WM873 ...
- 基于FPGA的SD卡音乐播放器之WM8731篇
基于FPGA的SD卡音乐播放器之WM8731篇 目录 前言 一.I2C驱动模块 二.WM8731寄存器配置模块 三.WM8731时钟生成模块 四.音频发送模块 总结 前言 这个题目是我之前7月初做的一 ...
- FPGA实现SD卡音乐播放
1 前面我们已经学习了 SD 卡的数据读写和 WM8731 语音录放的功能, 那这章我们把这两部分结合起来做一个音乐播放器吧! 本实验把存储在 SD 卡的音频文件(.wav)读取后传输到WM8731 ...
- [DIY]给孩子做个音乐盒(arduino制作LCD显示音乐播放器)
一次带孩子去商场,他对一个用木盒做的,LCD显示的音乐盒非常感兴趣,玩了半天,于是便想给孩子做一个音乐盒. 完成效果图: 材料: Arduinouno USB供电音箱(或8欧姆喇叭,10欧姆电阻,10 ...
- 【紫光同创国产FPGA教程】【第十二章】SD卡音乐播放例程
原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.alinx.com). 适用于板卡型号: PGL22G/PG ...
- 开机启动win7,自动启动突出显示的选择之前的秒数有30秒
遇到问题:重装了系统,win7开机,会"显示自动启动突出显示的选择之前的秒数有30秒":这时候的30秒显得时间太长,一般都不会愿意等. 解决问题:一开始还以为是bios里面修改设置 ...
- PHP制作音乐播放器制作教案,js制作简单的音乐播放器的示例代码
一.设计目的: 1.随着现在人民生活质量的提高同样伴随着生活压力的增大,越来越多的人追求越来越多的娱乐,其中一种娱乐方式就是音乐,于是突发奇想,制作一个音乐播放器. 2.主要功能: 1 支持循环自动播 ...
- 基于微信小程序的音乐播放器设计
目 录 1绪论 1 1.1选题背景及意义 1 1.2发展现状 1 1.2.1什么是微信小程序 1 1.2.2小程序市场的现状 4 1.3研究主要内容 4 2系统技术 5 2.1 Java语言 5 2. ...
- [嵌入式Linux项目实战开发]基于QT4.7.4的音乐播放器实现与设计【2018年给力项目】
[嵌入式Linux项目实战开发]基于QT4.7.4的音乐播放器实现与设计[2018年给力项目]是[创科之龙]团队aiku嵌入式视频教程系列制作的现有的音乐播放器. 主要功能实现: 1.新建工程,基类选 ...
最新文章
- Git创建本地分支并关联远程分支
- CentOS 6.5安全加固及性能优化
- python中requests库的用途-python中requests库session对象的妙用详解
- CTFshow php特性 web125
- Android提权漏洞CVE-2014-7920CVE-2014-7921分析
- 配置虚拟机 Linux 静态IP
- Android Studio之编译t提示Invoke-customs are only supported starting with Android O (--min-api 26)
- openssh arm linux 编译,openssh编译安装到ARM嵌入式系统中
- bbs.php168,PHP168 下载安装教程
- 【CUDA编程】nsight compute和nsight system的使用
- oracle 同义词表结构,Oracle 数据库的同义词+视图
- JavaScript 数组(二)数组练习
- 麻雀虽小五脏俱全--一个小项目的总结
- echarts年龄饼图_ECharts中饼图的操作
- 【JS】使用jQuery制作图片手风琴效果
- 读书笔记:《人类简史:从动物到上帝》
- 基于HMM的拼音转汉字程序
- vue将链接转为二维码的方法即插件
- NBA得分后卫阅兵:科比榜首麦蒂第9 小AI获至高赞誉
- 2021 年 9 项优秀在线电话会议服务比较(带免费选项)
热门文章
- wxWidgets:窗口 ID
- boost::hana::detail::type_foldr1用法的测试程序
- boost::hana::test::TestLogical用法的测试程序
- boost::histogram::detail::accumulator_traits用法的测试程序
- boost::hana::minimum.by用法的测试程序
- Boost CRC的测试程序
- Boost:GPU上的2D图像中绘制最终的随机“walk”,并使用OpenCV进行显示
- ITK:重新运行管道不断变化的最大可能的地区
- DCMTK:DIMSE状态代码和类的测试程序
- VTK:图片之ImageGradientMagnitude