Quantcast
Channel: CAVEDU教育團隊技術部落格
Viewing all articles
Browse latest Browse all 678

打造虛擬鍵盤手勢控制音樂播放器—使用Arduino 首次接觸就上手

$
0
0

想做這個主題,是因為Murtaza’s Workshop 的Youtube 頻道,有分享「AI Virtual Keyboard using OpenCV」,就是透過OpenCV 實現出虛擬鍵盤,其中也有透過 Mediapipe 辨識手勢去模擬點擊鍵盤的行為。

透過這個Youtube 專題,筆者就想做出科技感十足的虛擬鍵盤的MP3 播放器。

在這篇文章中,筆者用Arduino 首次接觸就上手(以下簡稱Arduino)專案,透過 DFPlayer Mini MP3 播放模組、Arduino 的OLED以及虛擬鍵盤手勢控制來打造一個簡單的迷你 MP3 播放器。這個專案不僅讓你可以播放音樂,還可以透過 OLED 螢幕看到歌曲名稱、音量等資訊,同時使用手勢進行控制,非常適合想要深入了解音樂播放器應用的愛好者。

 

撰寫/攝影 許鈺莨
時間 1小時 材料
難度 2(滿分5)

 

 

專案原理圖

本專案是透過電腦開啟Python的虛擬鍵盤程式,透過手勢識別去觸發虛擬鍵盤,如同使用者按下鍵盤,進而去控制/播放Arduino 歌曲。

 

下圖的嵌入式系統,可以是本專案的電腦,可以是任何可以執行 Python 環境的裝置。 而嵌入式系統和 MCU 或 Arduino 則是透過 USB 進行序列埠有線通訊

 

DFPlayer Mini MP3 播放模組腳位介紹

 

若想了解更多資訊,可前往DFROBOT網站(簡體),或 國外的Github (英文)

 

硬體連接圖

以下是Arduino 與 DFPlayer Mini MP3 播放模組的接線圖

 

SD 卡中歌曲命名規則

MP3檔案命名前四個字需要使用4個數字,或4個數字加上其他字串,如0001.mp3、0010ABCD.mp3、或0050-元大.mp3。

而SD卡內可以放置100個資料夾(命名編號為01~99),每個資料夾可以放置255首歌(命名方式同上)。

 

程式環境設置

本專案有兩種程式需要執行,Python 和 Arduino 程式,以下先說明Arduino 程式環境操作。

筆者先提供專案程式載點(按我下載程式)

 

  • Arduino 環境操作

下載 BlocklyduinoF2(檔案下載請按我)

 

  • 開啟Arduino IDE

執行 arduino.exe ,檔案在BlocklyduinoF2>arduino-1.8.19裡

 

按下允許存取,即可開啟Arduino IDE。

 

  • 選擇開發板及COM號

選擇開發板> Arduino AVR Boards > Arduino Uno

 

選擇序列埠> COM XX (LinkIt7697)

[註] 會辨識到 LinkIt7697 是因為 Arduino 的驅動程式跟 LinkIt7697 相同,而筆者之前是先使用了 LinkIt7697 ,所以可能電腦會誤認這是 LinkIt7697 ,不過不影響燒錄程式。

 

  • 開啟並燒錄程式

請開啟 Handdetector_MP3player_Oled_Finish.ino Arduino 檔案,

並按下箭頭圖示即可上傳,如下圖所示。

 

  • 測試 MP3 播放

燒錄成功,可以開啟序列埠監控視窗,會聽見”吱吱”的雜訊聲,接著就會撥放第一首歌,之後就可以下指令去控制歌曲播放。

 

根據程式,從command_1到command_10,可以相對應下列程式

 

若成功,可以看見OLED 顯示播放歌曲。

 

Python 環境操作

  • 安裝Python 虛擬環境及套件

請到部落格『【AI人工智慧-神經網路運算】環境建置:安裝Anaconda、JupyterNotebook(Windows篇)』中有完整的環境及套件安裝介紹。

 

執行本專案程式步驟

  • 開啟Anaconda Prompt

開始 > Anaconda3 (64-bit) >選 Anaconda Prompt

 

  • 開啟Python 專案的虛擬環境

在 Anaconda Prompt 終端機中,輸入conda activate 虛擬環境名稱,此時base 環境就會被更改

 

  • 更換至執行程式的資料夾

筆者的檔案按放在E 磁碟區,所以要輸入”E: “,然後按Enter鍵。

 

在移動到目標資料夾,需輸入”cd E:\XXXX

 

  • 開啟Jupyter notebook

輸入”jupyter notebook“,瀏覽器要選Google Chrome開啟

 

  • 執行程式

點選Virtual_Keyboard_Player_Arduino.ipynb兩下即可開啟程式。

 

選擇Kernel > Restart Kernel and Run All Cells…

 

輸入攝影機編號

 

輸入Arduino 序列埠號

 

若成功執行,歌曲會先撥放,然後開啟程式

 

  • Arduino 序列埠發生錯誤
  1. 請確認 MicroUSB 有插入電腦
  2. 請檢查當初燒錄 Arduino 的序列埠號碼,並重新插入
  3. 請確認沒有被 Arduino IDE 程式佔用,並重新插入

 

程式執行結果

虛擬鍵盤介面介紹,如下圖所示

 

操作時,應將食指與中指合併,然後移至虛擬鍵盤,進而做出相對應控制。

 

 

打造虛擬鍵盤手勢控制音樂播放器— 使用Arduino 首次接觸就上手〉這篇文章最早發佈於《CAVEDU教育團隊技術部落格》。


Viewing all articles
Browse latest Browse all 678

Trending Articles