Boboduino MiniCore 環境安裝

🦄 Boboduino MiniCore和MiniCore僅需選一個版本安裝即可,若是沒有特別需求,建議安裝Boboduino MiniCore。

Boboduino 採用了比Arduino Uno 原廠更方便的MiniCore bootloader,MiniCore設計支援了多種AVR McU,甚至可以搭配不同的晶體振盪器(Crystal oscillator)。考量有些MiniCore的功能在Boboduino這塊板子上幾乎不可能被用到(例如更換成其他非328系列晶片或是更換不同的晶體振盪頻率),因此我們在MiniCore的架構下,延伸開發了一套關閉部分MiniCore功能的Third party board,方便大家在官方的Arduino IDE可以安裝使用,這個版本的MiniCore只是把絕對不會用到的選項隱藏起來,讓大家不會因為不小心誤觸到而造成程式上傳出現問題,由於Boboduino內部裝的就是MiniCore bootloader,因此不用擔心和MiniCore之間相容性的問題。

以下我們用目前最新的Arduino IDE 2.2.1版本進行演示:

  • 以下畫面為Mac版本的Arduino IDE,Windows版本的的也很類似,如果真的看不懂,再請把看不懂的地方告訴我!
  • Arduino IDE 在1.8.x到2.0.x之間在操作界面上產生了滿大的變化,不過大致上的設計還是相同的,若您使用的是1.8.x的版本,建議可以升級到2.0.x,這樣以後會比較方便一點!

安裝Arduino IDE 2.2.0+

以下示範以下示範在電腦上安裝,首先,進入Arduino IDE 官方下載點,按照自己目前在用的作業系統,點選需要安裝的Arduino IDE。 詳細的安裝過程還滿簡單的,若有問題可以在官網上找找資料。

如果有要捐款給Arduino基金會可以點選金額,並且點選[CONTRIBURE&DOWNLOAD],如果暫時只是要下載軟體,就點左邊比較不明顯的[JUST DOWNLOAD],別擔心,下載軟體的時候他們沒有強迫要捐款的。


開啟Arduino IDE

開啟Arduino IDE 2.2.0以上的版本,並且點選 [Arduino IDE>Preferences]


添加Additional Boards Manager URLs

接下來我們將這段連結複製到Additional Boards Manager URLs 的框框裡面,如果框框裡面已經有裡面有其他的連結,不需要把舊的刪掉,把新添加的附加在最下面一行就好。

https://raw.githubusercontent.com/boboduino/Boboduino_MiniCore/master/third-party%20board/package_boboduino_com_index.json

這個動作的目的是要讓Arduino IDE找到第三方(比方說Boboduino或是Raspberry pi)所設計的開發板資料,並且透過board manager的功能直接下載下來,在驅動程式版本更新時,也會自動被通知道喔。

點選OK後,我們再進行下一步。


開啟Board Manager並且進行驅動程式安裝

接下來我們到[Tools>Board>Boards Manager]進行Boboduino MiniCore的安裝。


安裝Boboduino MiniCore Third party board

在左側[BOARDS MANAGER]處,輸入[Boboduino],並且點選[INSTALL]


確認是否安裝成功

在安裝完成後,我們應該就可以在[Tool>Board>Boboduino AVR boards]下面找到[Boboduino Uno R3]的開發板了。


配對BOARD和PORT

接下來我們準備上傳一段程式來試試,讓我們板子的Type-C USB插上電腦,點選下方的[Select other board and ports]


這邊需要設定一下[Boards]和[Ports]之間的配對關係,我們在[BOARDS]裡面選擇[Boboduino Uno R3],在[PORTS]裡面選擇電腦在連上板子後抓到的USB裝置。 點選[OK]後關閉視窗。


貼入測試的Blink程式

將下面這段Blink的測試程式貼到右邊的框框裡面,我們要用它來測試是否能夠成功把程式上傳到板子上。

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

上傳測試程式

接下來點選左上角的 [→]按鈕上傳一段測試程式,若可以成功看到右下角的Done uplpading,就代表上傳成功囉。