国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino 的音樂播放器設(shè)計(jì)

2022-10-28 13:42:50王瑜
電子設(shè)計(jì)工程 2022年20期
關(guān)鍵詞:開發(fā)板播放器液晶

王瑜

(西安航空學(xué)院機(jī)械工程學(xué)院,陜西西安 710077)

在生產(chǎn)、生活中需要播放音樂的場(chǎng)合很多,如工廠、圖書館、商場(chǎng)、學(xué)校、公園、電子導(dǎo)游、停車場(chǎng)、醫(yī)療設(shè)備等。隨著科技和互聯(lián)網(wǎng)的快速發(fā)展,電子產(chǎn)品隨處可見,給人們的生活帶來了便利。聽音樂可以提升創(chuàng)造力、舒緩壓力、解除疲勞、幫助睡眠,傳統(tǒng)的多功能音樂播放器面向高端市場(chǎng),難以普及到大眾,而在我國中低端市場(chǎng)才是消費(fèi)主力軍[1]。該文設(shè)計(jì)了一款基于Arduino UNO 和ESP8266 開發(fā)板并結(jié)合BY8001 語音模塊的音樂播放器。

Arduino UNO 的大腦是ATmega 328P,Arduino UNO 開發(fā)板有14 個(gè)數(shù)字I/O 引腳和6 個(gè)模擬輸入引腳,一個(gè)16 MHz 的晶振,一個(gè)USB 接口,一個(gè)DC 接口等,硬件資源豐富,使用電池可以驅(qū)動(dòng),使用方便、成本低。可以通過Arduino IDE 進(jìn)行編程,并下載到Arduino UNO 開發(fā)板中,不需要外接編程器。音樂播放器所有的硬件設(shè)備均在Arduino UNO 開發(fā)板上進(jìn)行集成和控制。通過Arduino IDE 軟件程序的控制完成各個(gè)模塊之間接口的數(shù)據(jù)傳遞和協(xié)同工作[2-3]。ESP8266 開發(fā)板上嵌入了ESP8266 芯片,該開發(fā)板采用板載PCB 天線,支持STA、AP、STA+AP 三種工作模式,支持無線802.11 b/g/n標(biāo)準(zhǔn),支持UART/GPIO 數(shù)據(jù)通信接口[4],利用ESP8266 開發(fā)板獲取網(wǎng)絡(luò)時(shí)間,可以實(shí)時(shí)顯示在OLED上。BY8001語音模塊采用BY8001-SSOP24 MP3 主控芯片,支持MP3、WAV 格式雙解碼。模塊內(nèi)置TF 卡座,可插卡進(jìn)行更換語音內(nèi)容,支持MP3、WAV高品質(zhì)音頻格式文件,聲音優(yōu)美,模塊支持24位DAC輸出,其動(dòng)態(tài)范圍為90 dB、信噪比為85 dB[5]。

1 系統(tǒng)的結(jié)構(gòu)及工作原理

音樂播放器結(jié)構(gòu)框圖如圖1 所示,該系統(tǒng)主要由Arduino UNO 開發(fā)板、ESP8266 開發(fā)板、語音模塊、TF 卡、喇叭、OLED 液晶顯示器、按鍵、電源組成[6]。電源給整個(gè)系統(tǒng)供電,語音模塊、TF 卡、喇叭根據(jù)由按鍵輸入的控制信號(hào)來播放音樂或語音,在播放前需要將音樂或語音文件復(fù)制到TF 卡中。ESP8266 開發(fā)板獲取網(wǎng)絡(luò)時(shí)間,通過串口發(fā)送到Arduino UNO 開發(fā)板,利用兩個(gè)開發(fā)板之間的通信,實(shí)現(xiàn)網(wǎng)絡(luò)時(shí)間的傳輸,并顯示在OLED 液晶顯示器上,從而實(shí)現(xiàn)音樂播放器存儲(chǔ)音樂或音頻文件,并根據(jù)按鍵選擇播放音樂或音頻、顯示播放信息、顯示網(wǎng)絡(luò)時(shí)間等功能。

圖1 音樂播放器結(jié)構(gòu)框圖

2 系統(tǒng)硬件設(shè)計(jì)

2.1 音樂/語音播放電路

音樂播放器選用BY8001 語音模塊作為音樂/語音播放模塊,由按鍵輸入信號(hào)控制BY8001 語音模塊播放TF 卡中的音樂/語音信息。TF 卡中的音樂/語音文件的排序按照存儲(chǔ)的先后順序,為了確保從電腦存入TF卡內(nèi)的音樂/語音文件的順序正確。首先,在電腦上將音樂/語音文件命名排序好(在SD 卡內(nèi)修改音樂/語音文件排序無效),可以將音樂/語音文件命名為0001XXX.MP3、0002XXX.MP3、0003XXX.MP3…。BY8001 語音模塊的16 個(gè)引腳分別為BUSY(忙信號(hào))、RX、TX、DACR(DAC 右聲道輸出)、DACL(DAC左聲道輸出)、SPK1、SPK2、VCC、I/O1~I(xiàn)/O5(觸發(fā)輸入口1~5)、GND、DP(USB 數(shù)據(jù)線)、DM(USB 數(shù)據(jù)線)。BY8001 語音模塊有五個(gè)觸發(fā)I/O 口,最多支持15 段按鍵一對(duì)一觸發(fā)播放。音樂播放器的音樂/語音播放電路如圖2 所示,按鍵的一端接地,另一端接BY8001 的I/O1、I/O2 引腳,同時(shí)和Arduino UNO 的引腳3、引腳4 連接,該設(shè)計(jì)的按鍵選擇獨(dú)立式按鍵,即每一個(gè)I/O 口上只接一個(gè)按鍵,另一端接地,這種接法的優(yōu)點(diǎn)是編程簡(jiǎn)單、系統(tǒng)穩(wěn)定[7-8]。

圖2 音樂/語音播放電路

2.2 OLED顯示電路

OLED顯示電路如圖3所示,OLED用來顯示當(dāng)前時(shí)間、曲目信息等內(nèi)容[9],顯示器選取0.96 寸128×64分辨率OLED 液晶顯示屏,采用SSD1306 驅(qū)動(dòng)芯片,基于三線SPI 通信的七線制OLED 顯示屏模塊,采用三條通信線路傳輸數(shù)據(jù)[10]。OLED 的7 個(gè)引腳分別為GND、VCC(3.3~5 V)D0(時(shí)鐘線)、D1(數(shù)據(jù)線)、RES(復(fù)位線)、DC(數(shù)據(jù)命令選擇線)和CS(SPI 片選線)。OLED 的7 個(gè)引腳和Arduino 的連接關(guān)系如下:OLED 的電源接Arduino 的VCC引腳;OLED 的地接Arduino 的GND 引腳;OLED 的D0 接Arduino 的13 引腳;OLED 的D1 接Arduino 的11引腳;OLED 的RES接Arduino 的8引腳;OLED 的DC 接Arduino 的9 引腳;OLED 的CS 接Arduino 的10 引腳[11]。

圖3 OLED顯示電路

當(dāng)按下“顯示當(dāng)前時(shí)間”按鍵時(shí),在OLED 液晶顯示器上顯示當(dāng)前時(shí)間,如圖4 所示;當(dāng)按下“曲目選擇”按鍵時(shí),在OLED 液晶顯示器上顯示“曲目選擇”菜單,如圖5 所示;當(dāng)按下“播放曲目1”按鍵時(shí),利用音樂/語音播放電路播放TF 卡中的曲目1,并在OLED 液晶顯示器上顯示曲目1 播放界面,如圖6 所示;當(dāng)按下“播放曲目2”按鍵時(shí),利用音樂/語音播放電路播放TF 卡中的曲目2,并在OLED 液晶顯示器上顯示曲目2 播放界面,如圖7 所示[12]。

圖4 顯示當(dāng)前時(shí)間

圖5 “曲目選擇”菜單

圖6 曲目1播放界面

圖7 曲目2播放界面

2.3 Arduino UNO和ESP8266開發(fā)板通信電路

系統(tǒng)選用ESP8266開發(fā)板獲取網(wǎng)絡(luò)時(shí)間,ESP8266開發(fā)板有豐富的GPIO接口、擴(kuò)展口和串口等,ESP8266開發(fā)板和Arduino UNO 的連接電路如圖8 所示。ESP8266 開發(fā)板的GND 引腳和Arduino UNO 的GND引腳相連;ESP8266 的GPIO1 引腳和Arduino UNO 的RX 引腳相連;ESP8266 的GPIO3 引腳和Arduino UNO 的TX 引腳相連[13-14]。ESP8266 開發(fā)板連接WiFi,獲取網(wǎng)絡(luò)時(shí)間,通過串口發(fā)送到Arduino UNO,并根據(jù)按鍵功能利用OLED 液晶顯示器顯示當(dāng)前時(shí)間,這種方法獲得的時(shí)間精準(zhǔn),只要有網(wǎng)絡(luò)即可,而不需要校時(shí)[15-16]。

圖8 ESP8266開發(fā)板和Arduino UNO的連接電路

3 軟件設(shè)計(jì)

3.1 OLED軟件設(shè)計(jì)

OLED 液晶顯示器是一種高對(duì)比度、高分辨率的顯示器,具有良好的顯示界面,可以顯示字符、圖形、漢字甚至更高級(jí)的動(dòng)畫,極大地提高了系統(tǒng)的可操作性[17]。利用Arduino UNO 控制OLED 液晶顯示器顯示字符、圖形等信息,需要使用OLED 模塊的專用庫SSD1306 和圖形庫GFX。

首先,利用PCtoLCD2002 字模提取軟件將OLED顯示的圖形轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù)。接著,將數(shù)據(jù)存儲(chǔ)到數(shù)組中。最后,利用庫函數(shù)可以實(shí)現(xiàn)將圖形顯示在OLED 液晶顯示器上。

3.2 字模提取

文中使用PCtoLCD2002軟件提取字模,雙擊桌面圖標(biāo),打開軟件。軟件有圖形模式和字符模式兩種工作模式,PCtoLCD2002軟件圖形模式界面如圖9所示。

圖9 PCtoLCD2002軟件圖形模式界面

通過選擇“模式菜單”,可以切換圖形模式或字符模式。選擇圖形模式,可以將BMP 格式的二值圖像轉(zhuǎn)換成OLED 液晶顯示屏上顯示的數(shù)據(jù);選擇字符模式,可以將中英文字符、數(shù)字等字符轉(zhuǎn)換成OLED 液晶顯示屏上顯示的數(shù)據(jù)。PCtoLCD2002 軟件字符模式界面如圖10 所示。

圖10 PCtoLCD2002軟件字符模式界面

首先,在圖10 中的文本框輸入需要轉(zhuǎn)換的文字,例如,輸入“西安航空學(xué)院”,設(shè)置字體等信息,接著,單擊“字模生成和液晶面板選項(xiàng)”,設(shè)置“字模選項(xiàng)”中的內(nèi)容,點(diǎn)擊“生成字?!眻D標(biāo)按鈕,生成文字對(duì)應(yīng)的顯示數(shù)據(jù),如圖11 所示。

圖11 PCtoLCD2002軟件字符模式生成數(shù)據(jù)

3.3 系統(tǒng)軟件設(shè)計(jì)

Arduino UNO 是基于Atmega328P 的開發(fā)板。Arduino IDE 提供了廣泛的庫函數(shù),易于編程,使用Arduino IDE 可以將程序下載到Arduino UNO 開發(fā)板中[18-19]。該系統(tǒng)的軟件流程圖如圖12所示。首先,初始化串口、按鍵引腳、OLED 液晶顯示器等。接著,掃描按鍵并判斷哪個(gè)鍵按下,如果“曲目選擇”按鍵按下,則在OLED 液晶顯示器中顯示“曲目選擇”菜單;如果“曲目選擇”按鍵沒有按下,則判斷“播放曲目1”按鍵是否按下,如果“播放曲目1”按鍵按下,則在OLED 液晶顯示器中顯示“曲目1 播放”界面,并控制BY8001 語音模塊播放曲目1;如果“播放曲目1”按鍵沒有按下,判斷“播放曲目2”按鍵是否按下。如果“播放曲目2”按鍵按下,則在OLED 液晶顯示器中顯示“曲目2 播放”界面,并控制BY8001 語音模塊播放曲目2;如果“播放曲目2”按鍵沒有按下,則判斷“顯示當(dāng)前時(shí)間”按鍵是否按下。如果“顯示當(dāng)前時(shí)間”按鍵按下,則讀取ESP8266 開發(fā)板發(fā)送的時(shí)間數(shù)據(jù)[20];如果“顯示當(dāng)前時(shí)間”按鍵沒有按下,則繼續(xù)掃描按鍵。

圖12 軟件流程圖

4 結(jié)論

該文以Arduino UNO 開發(fā)板為核心,以Arduino IDE 作為軟件開發(fā)平臺(tái),設(shè)計(jì)了一種基于Arduino 的音樂播放器。文中介紹了硬件組成和框圖,重點(diǎn)介紹了系統(tǒng)的硬件設(shè)計(jì)、Arduino UNO 開發(fā)板和ESP8266 開發(fā)板的通信設(shè)計(jì)、OLED 軟件設(shè)計(jì)、字模提取、系統(tǒng)軟件設(shè)計(jì)流程。系統(tǒng)具有音樂存儲(chǔ)、語音存儲(chǔ)、播放、曲目選擇、液晶顯示、網(wǎng)絡(luò)時(shí)間校準(zhǔn)等功能。經(jīng)過系統(tǒng)測(cè)試,該系統(tǒng)能夠正常工作,穩(wěn)定性強(qiáng),達(dá)到了設(shè)計(jì)要求,非常適合在工廠、圖書館、商場(chǎng)、學(xué)校、公園等場(chǎng)合應(yīng)用。

猜你喜歡
開發(fā)板播放器液晶
不可壓液晶方程組的Serrin解
《液晶與顯示》征稿簡(jiǎn)則
液晶與顯示(2020年8期)2020-08-08 07:01:46
Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器設(shè)計(jì)
電子制作(2019年9期)2019-05-30 09:41:44
Moon ACE播放器/放大器一體機(jī)
Microchip最新推出兩款PIC32 Curiosity開發(fā)板
淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
電子制作(2017年22期)2017-02-02 07:10:14
播放器背板注塑模具設(shè)計(jì)
中國塑料(2015年8期)2015-10-14 01:10:55
液晶與顯示2015年第30卷第1期 目錄
液晶與顯示(2015年1期)2015-02-28 21:15:54
Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
镇康县| 清苑县| 茶陵县| 乌什县| 延边| 通州区| 闽侯县| 洪泽县| 右玉县| 福贡县| 丰镇市| 江油市| 富平县| 江达县| 岳西县| 邵阳县| 松阳县| 南陵县| 杨浦区| 和林格尔县| 灵台县| 平遥县| 梅河口市| 祁门县| 搜索| 伊宁县| 永宁县| 会理县| 舞钢市| 陆川县| 韶山市| 康定县| 饶河县| 湟源县| 大兴区| 宣恩县| 大城县| 集安市| 肥东县| 河北省| 馆陶县|