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 中的文本框輸入需要轉換的文字,例如,輸入“西安航空學院”,設置字體等信息,接著,單擊“字模生成和液晶面板選項”,設置“字模選項”中的內容,點擊“生成字模”圖標按鈕,生成文字對應的顯示數據,如圖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
主站蜘蛛池模板: 国产好痛疼轻点好爽的视频| 国产麻豆另类AV| 精品第一国产综合精品Aⅴ| 久久窝窝国产精品午夜看片| 91麻豆国产精品91久久久| 亚洲日本中文字幕天堂网| 久精品色妇丰满人妻| 免费看av在线网站网址| 人妻无码中文字幕一区二区三区| 亚洲国内精品自在自线官| 精品国产香蕉伊思人在线| 一区二区三区四区日韩| 91小视频在线观看免费版高清| 精品久久综合1区2区3区激情| 久久精品66| 欧美区在线播放| 亚洲Av综合日韩精品久久久| 亚洲视频在线观看免费视频| 全午夜免费一级毛片| 狠狠干欧美| 中文字幕在线观| 青青青伊人色综合久久| 日韩天堂视频| 午夜国产在线观看| 中文字幕色站| 午夜福利免费视频| 久久这里只有精品8| 国产精品大白天新婚身材| 无码aaa视频| 国产二级毛片| 本亚洲精品网站| 亚洲熟妇AV日韩熟妇在线| 国产网站免费| 就去色综合| 一本大道视频精品人妻| 欧美a在线视频| 22sihu国产精品视频影视资讯| 国产成人啪视频一区二区三区| 中文字幕在线永久在线视频2020| 亚洲国产日韩一区| 91青青草视频| 国产麻豆精品久久一二三| 91免费国产在线观看尤物| 亚洲性网站| 免费啪啪网址| 久草视频中文| 欧美一区国产| 久久免费视频播放| 亚洲国产系列| 国产丝袜丝视频在线观看| 国产一级二级在线观看| AV在线麻免费观看网站 | 亚洲天堂.com| 免费看美女毛片| 久久精品人妻中文系列| 国产小视频网站| 中文字幕在线观| 欧美三级自拍| a毛片在线| 熟妇无码人妻| 亚洲天堂免费观看| 热久久这里是精品6免费观看| 国产不卡国语在线| av无码一区二区三区在线| 手机在线看片不卡中文字幕| 国产色网站| 久996视频精品免费观看| 国产玖玖玖精品视频| 久久综合色播五月男人的天堂| 久久国产拍爱| 欧美日韩国产综合视频在线观看| 男女男免费视频网站国产| 亚洲精品不卡午夜精品| 欧美亚洲国产一区| 日韩欧美中文| 久久久成年黄色视频| 欧美不卡在线视频| 国产一区在线视频观看| 片在线无码观看| 五月天综合网亚洲综合天堂网| a级毛片一区二区免费视频| 2020最新国产精品视频|