999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Arduino 的音樂播放器設計

2022-10-28 13:42:50王瑜
電子設計工程 2022年20期
關鍵詞:界面音樂

王瑜

(西安航空學院機械工程學院,陜西西安 710077)

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

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

1 系統的結構及工作原理

音樂播放器結構框圖如圖1 所示,該系統主要由Arduino UNO 開發板、ESP8266 開發板、語音模塊、TF 卡、喇叭、OLED 液晶顯示器、按鍵、電源組成[6]。電源給整個系統供電,語音模塊、TF 卡、喇叭根據由按鍵輸入的控制信號來播放音樂或語音,在播放前需要將音樂或語音文件復制到TF 卡中。ESP8266 開發板獲取網絡時間,通過串口發送到Arduino UNO 開發板,利用兩個開發板之間的通信,實現網絡時間的傳輸,并顯示在OLED 液晶顯示器上,從而實現音樂播放器存儲音樂或音頻文件,并根據按鍵選擇播放音樂或音頻、顯示播放信息、顯示網絡時間等功能。

圖1 音樂播放器結構框圖

2 系統硬件設計

2.1 音樂/語音播放電路

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

圖2 音樂/語音播放電路

2.2 OLED顯示電路

OLED顯示電路如圖3所示,OLED用來顯示當前時間、曲目信息等內容[9],顯示器選取0.96 寸128×64分辨率OLED 液晶顯示屏,采用SSD1306 驅動芯片,基于三線SPI 通信的七線制OLED 顯示屏模塊,采用三條通信線路傳輸數據[10]。OLED 的7 個引腳分別為GND、VCC(3.3~5 V)D0(時鐘線)、D1(數據線)、RES(復位線)、DC(數據命令選擇線)和CS(SPI 片選線)。OLED 的7 個引腳和Arduino 的連接關系如下: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顯示電路

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

圖4 顯示當前時間

圖5 “曲目選擇”菜單

圖6 曲目1播放界面

圖7 曲目2播放界面

2.3 Arduino UNO和ESP8266開發板通信電路

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

圖8 ESP8266開發板和Arduino UNO的連接電路

3 軟件設計

3.1 OLED軟件設計

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

首先,利用PCtoLCD2002 字模提取軟件將OLED顯示的圖形轉換為點陣數據。接著,將數據存儲到數組中。最后,利用庫函數可以實現將圖形顯示在OLED 液晶顯示器上。

3.2 字模提取

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

圖9 PCtoLCD2002軟件圖形模式界面

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

圖10 PCtoLCD2002軟件字符模式界面

首先,在圖10 中的文本框輸入需要轉換的文字,例如,輸入“西安航空學院”,設置字體等信息,接著,單擊“字模生成和液晶面板選項”,設置“字模選項”中的內容,點擊“生成字?!眻D標按鈕,生成文字對應的顯示數據,如圖11 所示。

圖11 PCtoLCD2002軟件字符模式生成數據

3.3 系統軟件設計

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

圖12 軟件流程圖

4 結論

該文以Arduino UNO 開發板為核心,以Arduino IDE 作為軟件開發平臺,設計了一種基于Arduino 的音樂播放器。文中介紹了硬件組成和框圖,重點介紹了系統的硬件設計、Arduino UNO 開發板和ESP8266 開發板的通信設計、OLED 軟件設計、字模提取、系統軟件設計流程。系統具有音樂存儲、語音存儲、播放、曲目選擇、液晶顯示、網絡時間校準等功能。經過系統測試,該系統能夠正常工作,穩定性強,達到了設計要求,非常適合在工廠、圖書館、商場、學校、公園等場合應用。

猜你喜歡
界面音樂
奇妙的“自然音樂”
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
音樂從哪里來?
藝術啟蒙(2018年7期)2018-08-23 09:14:16
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
圣誕音樂路
兒童繪本(2017年24期)2018-01-07 15:51:37
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
音樂
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 欧美日韩成人在线观看| 久久精品人人做人人爽| 国产在线精品网址你懂的| 日本午夜三级| 91免费观看视频| 日韩无码一二三区| 欧美在线精品怡红院| 国精品91人妻无码一区二区三区| 国产精品999在线| 天天色天天综合网| 天天色天天操综合网| 99成人在线观看| 久久久成年黄色视频| 亚洲一区毛片| 熟妇人妻无乱码中文字幕真矢织江| 国产精品成人AⅤ在线一二三四| 婷婷六月天激情| 国产精品99r8在线观看| 国产免费福利网站| 亚洲三级成人| 亚洲第一极品精品无码| 国产成人精品一区二区三在线观看| 九九九精品视频| 99久久国产综合精品2023| 国产综合无码一区二区色蜜蜜| 久久男人资源站| 精品免费在线视频| 国产精品片在线观看手机版 | 精品视频在线观看你懂的一区| 欧美成a人片在线观看| 乱人伦99久久| 福利片91| 伦伦影院精品一区| 无码网站免费观看| 欧美色亚洲| 免费看a级毛片| 在线a视频免费观看| 国产主播福利在线观看| 免费一级毛片不卡在线播放| 色悠久久综合| 日本三级欧美三级| 色有码无码视频| 日本在线亚洲| 91福利在线看| 综合天天色| 欧美自拍另类欧美综合图区| 日韩一区精品视频一区二区| 日韩在线第三页| 亚洲国产中文在线二区三区免| 一级看片免费视频| 国产综合日韩另类一区二区| 国产人碰人摸人爱免费视频| 亚洲精品福利视频| 九色91在线视频| 国产亚洲精品自在线| 噜噜噜久久| 国产无遮挡猛进猛出免费软件| 色综合中文综合网| 亚洲日韩欧美在线观看| 美女无遮挡免费网站| 国产精品一区在线麻豆| 久久久久九九精品影院| 亚洲人成影院午夜网站| 4虎影视国产在线观看精品| 久久免费看片| 亚洲国产成人精品无码区性色| 永久免费无码成人网站| 精品三级网站| 9久久伊人精品综合| 久久国产热| 欧美一区二区丝袜高跟鞋| 亚洲欧洲自拍拍偷午夜色| 无码专区国产精品第一页| 国产一国产一有一级毛片视频| 日本在线国产| 欧美亚洲欧美区| 九九久久99精品| 真实国产乱子伦高清| 色呦呦手机在线精品| 国产麻豆另类AV| 日韩精品高清自在线| 欧美午夜在线观看|