日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

html音频从10秒播放至30秒,基于Arduino制作SD卡音乐播放器

發布時間:2024/9/27 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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卡音乐播放器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。