<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于ESP32的卡林巴琴制作教程

基于ESP32的卡林巴琴制作教程

作者:張鵬(電子產(chǎn)品世界特約作者) 時(shí)間:2022-04-19 來(lái)源:電子產(chǎn)品世界 收藏

作為一個(gè)理工男,對音樂(lè )總有著(zhù)迷之興趣。但是在這方面一直缺乏指導,只在小學(xué)的時(shí)候上過(guò)幾節音樂(lè ),記得少許簡(jiǎn)譜的概念。后來(lái)中學(xué)忙于文化課,大學(xué)選擇了電子專(zhuān)業(yè),與音樂(lè )就越來(lái)越遠。筆者現在已經(jīng)參加工作了,小時(shí)候埋在心里的種子終究會(huì )發(fā)芽,工作閑暇利用自己專(zhuān)業(yè)相關(guān)的知識,設計了一款電子樂(lè )器,與諸君分享。

本文引用地址:http://dyxdggzs.com/article/202204/433243.htm

1   簡(jiǎn)介

本是非洲的一種民族樂(lè )器,通過(guò)彈撥發(fā)出聲音。本設計模仿的外觀(guān),采用圖1 所示的鼠標按鍵代替卡林巴琴的金屬彈片,藍牙連接手機,在手機上發(fā)出聲音。

image.png

圖1 鼠標按鍵

2   硬件設計

該設計采用ESP32 作為主控單元,ESP32 是一顆功能強大的物聯(lián)網(wǎng)芯片,可同時(shí)支持WiFi 和藍牙功能,20+ 可用GPIO,運行頻率最高可達240 MHz,可以采用C 語(yǔ)言、Ardiuno、MicroPython 等方式進(jìn)行開(kāi)發(fā)。

整體的設計思路是先使用ESP32 的藍牙功能實(shí)現MIDI 協(xié)議,連接手機后,與手機上的APP 配合,手機在手機上發(fā)出聲音。編程語(yǔ)言使用的是MicroPython,上手相對比較簡(jiǎn)單,非電子專(zhuān)業(yè)的同學(xué)也可以嘗試做一下。

1650350344417865.png

圖2 電子卡琳巴琴

工作原理也非常簡(jiǎn)單,當程序檢測到有按鍵按下時(shí),ESP32 通過(guò)藍牙發(fā)送相應的MIDI 指令到手機,手機收到相關(guān)的指令后,在手機上播放對應的音符。

講完了工作原理,接下來(lái)我們看下硬件設計。如果你沒(méi)有PCB 板設計經(jīng)驗,可以嘗試制作如圖3 所示的簡(jiǎn)易版本,使用現成的ESP32_Dev_Kit 開(kāi)發(fā)板配合鼠標按鍵,在一款較大的洞洞板上簡(jiǎn)單焊接就完成了。

注意,使用鼠標按鍵的上面;上面兩個(gè)引腳分別連接GND 和ESP 的引腳。

1650350408741018.png

(a)正面

1650350443218501.png

(b)背面

圖3 簡(jiǎn)易版卡林巴琴

如果你有一定的PCB 設計能力,建議制作圖4 所示的版本,集成了鋰電池充電電路和WS2812 彩燈,同時(shí)外觀(guān)也更為美觀(guān),電路原理圖見(jiàn)圖5,元器件布局見(jiàn)圖6。為了追求美觀(guān),所有的走線(xiàn)都放置在了PCB 板的背面。

1650350554151004.png

圖4 彩燈版卡林巴琴

1650350591261478.png

圖5 彩燈版卡林巴琴的原理圖

1650350623586482.png

圖6 彩燈版卡林巴琴的元器件布局

3   軟件設計

編程語(yǔ)言使用的是MicroPython,開(kāi)發(fā)環(huán)境使用的是uPyCraft,程序的邏輯是先通過(guò)藍牙實(shí)現MIDI 服務(wù),等待手機連接,手機連接成功后當檢測到有按鍵按下,就發(fā)送相關(guān)的MIDI 指令到手機上。

核心代碼請參考電子產(chǎn)品世界網(wǎng)站論壇。代碼運行后,根據手機平臺的不同,使用如下方式與設備建立連接,iOS 平臺見(jiàn)圖7,安卓平臺見(jiàn)圖8。連接成功就可以在手機上演奏了。

1650350727115177.png

圖7 iOS平臺設備連接示意

1650350757623322.png

圖8 安卓平臺設備連接示意

(本文來(lái)源于《電子產(chǎn)品世界》雜志2022年4月期)

image.png




關(guān)鍵詞: 202204 卡林巴琴

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>