基于Arduino Uno開發(fā)板制作音樂播放器
本文將基于Arduino開發(fā)板實現(xiàn)一個音樂播放器。
利用Arduino Uno讀取sd卡模塊中內(nèi)存卡的音樂,傳輸信號到揚聲器進行播放。
一、項目軟硬件簡介&準(zhǔn)備
1.Arduino開發(fā)板
Arduino Uno 是一款基于 Microchip ATmega328P 微控制器的開源微控制器板,由 Arduino.cc 開發(fā),最初于 2010 年發(fā)布。該板配備了一組數(shù)字和模擬輸入/輸出 (I/O) 引腳,可以連接到各種擴展板(屏蔽)和其他電路。 該板具有 14 個數(shù)字 I/O 引腳(6 個能夠進行 PWM 輸出)、6 個模擬 I/O 引腳,并可通過 B 型 USB 電纜使用 Arduino IDE(集成開發(fā)環(huán)境)進行編程。
在Arduino開發(fā)板中具有USB接口,并且所有 Arduino 板都有?個內(nèi)置的引導(dǎo)加載程序,允許通過 USB 刷新板。同時配置了電源接口,可以外接電源,也就是說,通過外接一個可充電電池電源我們就可以制造出一個無線音樂播放器。
2.Arduino IDE軟件
軟件安裝,及esp32c3環(huán)境搭建見:
鏈接: 公眾號文章
鏈接: 博文
Arduino IDE是Arduino產(chǎn)品的軟件編輯環(huán)境,是一款專業(yè)的Arduino開發(fā)工具,主要用于Arduino程序的編寫和開發(fā),擁有開放源代碼的電路圖設(shè)計、支持ISP在線燒,同時支持Flash、Max/Msp、VVVV、PD、C、Processing等多種程序兼容的特點。
3.SD卡模塊
拼多多3.5元
制接口: 共 6 個引腳(GND、VCC、MISO、MOSI、SCK、CS),GND 為地,VCC 為供電電源,MISO、MOSI、SCK 為 SPI 總線,CS 為片選信號腳;
3.3V 穩(wěn)壓電路: LDO 穩(wěn)壓輸出的 3.3V 為電平轉(zhuǎn)換芯片、Micro SD 卡供電;
電平轉(zhuǎn)換電路: 往 Micro SD 卡方向的信號轉(zhuǎn)換成 3.3V,MicroSD 卡往控制接口方向的 MISO信號也轉(zhuǎn)換成了 3.3V,一般 AVR 單片機系統(tǒng)都能讀取該信號;
Micro SD 卡座: 是自彈式卡座,方便卡的插拔。
定位孔: 4 個 M2 螺絲定位孔,孔徑為 2.2mm,使模塊便于安裝定位,實現(xiàn)模塊間組合。
其余器件
① 丹麥JAMO尊寶HIFI揚聲器 拼多多5.6元
②面板板 拼多多2.8元
③杜邦線 5.5元
項目實現(xiàn)
1.準(zhǔn)備音樂
首先要將內(nèi)存卡格式化
其次將音樂按一定格式轉(zhuǎn)為的wav音樂文件格式
鏈接: 這是一個免費音樂轉(zhuǎn)換格式鏈接
點擊上面鏈接,選擇音樂,按照以下格式進行轉(zhuǎn)換,完成后下載并重新命名為1.wav(代碼中是1.wav,可以命名為其他,但要改代碼,命名簡單一點,例如該示例)
重新命名之后放入內(nèi)存卡中,并將內(nèi)存卡插入sd卡模塊
2.引腳連接
將sd卡讀取模塊的CS引腳連接到Arduino Uno的引腳4;
將sd卡讀取模塊的SCK引腳連接到Arduino Uno的引腳13;
將sd卡讀取模塊的MOSI引腳連接到Arduino Uno的引腳11;
將sd卡讀取模塊的MISO引腳連接到Arduino Uno的引腳12;
將sd卡讀取模塊的VCC引腳連接到Arduino Uno的引腳5v輸出端;
將sd卡讀取模塊的GND引腳連接到Arduino Uno的引腳GND端。
Arduino Uno的引腳9、3.3v輸出端口分別接入揚聲器
3.上傳代碼
1.在github上或者微信公眾號“百合錦簇”回復(fù)“音樂播放器”獲取TMRpcm和SPI庫并導(dǎo)入Arduino IDE中,由于在Arduino中已經(jīng)存在SD卡庫,通過該庫的導(dǎo)入我們便可以很容易從SD卡中讀取音樂信號,總代碼也就更加容易編寫,編寫代碼如下:
#include "SD.h"
#define SD_ChipSelectPin 4
#include "TMRpcm.h"
#include "SPI.h"
TMRpcm tmrpcm;
void setup(){
tmrpcm.speakerPin = 9;
Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD fail");
return;
}
tmrpcm.setVolume(5);
tmrpcm.play("1.wav");
}
void loop(){ }
確保編譯上傳成功
結(jié)果
視頻文章來源:http://www.zghlxwxcb.cn/news/detail-592333.html
VID_20221102_212405文章來源地址http://www.zghlxwxcb.cn/news/detail-592333.html
到了這里,關(guān)于基于Arduino Uno開發(fā)板制作音樂播放器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!