[第三課] ARDUINO IDE/ XIAO開發環境與程式庫建立

Arduino是一個開源嵌入式硬體平台,用來供使用者製作可互動式的嵌入式專案。此外Arduino作為一個開源硬體開源軟體的公司,同時兼有專案和使用者社群。』~維基百科

***

雖然,我也算是電子工程的科班出身,但因為好奇心的驅使,常常喜歡『不務正業』跨足到其他各式的領域;而且經常是十年一次循環。Arduino IDE 源於義大利,非常適合喜歡自己動手的自造者使用。在NFC ACCP開發之初,就決定用一個創用(Creative Commons, CC)專案的方式來分享;選用Arduino來開發,也正好符合這個本意。另外,為了避免造成『硬體障礙』,也提供事先組裝完成的NFC ACCP,只要打開電源、插上USB接頭,就可以輕易連上電腦,改造屬於你自己個性機組;也可以讓同好共享。

***

NFC ACCP 是以 Microchip ATSAMD21-G18 微控制器為核心的 Seeeduino XIAO 主板,與其專用含OLED顯示器的擴充板(XIAO Expansion Board)為主體所構成;使用Arduino IDE來開發與編譯此專案前,必須先安裝相關的主板(Board)與會使到的程式庫(Libraries);

首先,在 Arduino -> Preferences... 裡的 Additional Boards Manager URLs: 加入下面的連結

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

然後,到 Tools -> Boards: -> Board Manager 尋找 “Seeed SAMD Boards" 並安裝;(圖2-1

安裝完主板,接下來要將其所連結的模組,包括:DFPlayer MP3 Mini、RTC與本身的OLED顯示器等,安裝它們的驅動程式庫:

點選上面的連結,下載這些程式庫的ZIP 檔;然後回到Arduino選單--> Sketch -->
Include Library --> Add .ZIP Library,(圖2-2) 然後指到剛下載ZIP的檔案,就可以完成安裝。請務必逐一點選完成所有程式庫的安裝。

                                圖2-1                                                            圖2-2
 

以上,全部安裝成功後,就可以去 NFC ACCP的Github原始碼網站, 在選單<> Code 下 --> Code--> Download ZIP ,來載程式原始碼,解開ZIP檔會得到一個名為 NFC_ACCP-main 的目錄,請先將此目錄更名為 MP3_ACCP_NFCduino_V1H_EQ ,然後在此目錄下,點選核心(主)程序: MP3_ACCP_NFCduino_V1H_EQ.ino 即可。



上圖可以看到此NFC ACCP的所有程序,而我習慣把一些功能性(Function)的程序,另外以Tab方式獨立出來,一方面可以讓閱讀性提高,不至於讓主程序變得很冗長;也可以清楚知道各功能模組的運作。這些Tabs包括:

  • Display 顯示本機狀態、目前時間、播放模式與音軌的目錄與曲目編號...等。
  • GenRandom 產生隨機選擇且不重複的某區間序列。
  • NFC_ReWriter 啟動ISO14443A通訊協定的設定,並支援對NFC Type II的TAG掃描與其記憶體的讀取及編寫。
  • QuizGame 以世界10國的國歌為題的語音問答(Quiz)遊戲程序:答對3題則過關,反之,答錯達3題就失敗。
  • SetPlayer 設定MP3播放器播放時的音量、等化器(EQ)模式與取得播放器目前的狀態。
  • SetRTC 設定與調整RTC的日期與時間,並顯示目前的時間。
  • TagPgmer 可以針對特定的X-DISC,進行曲目資訊(Page 0x24 - 0x27)的複製功能。



留言

熱門文章