編譯成功的訊息 |
不過,在開始說明安裝和設定方式前,阿舍要先來講一下有關用指令編譯 Arduino 程式的方法哩 ! 就 Arduino 官方來說,在 Arduino IDE 1.5.x 之後,就會有命令列介面 (CLI) 來提供用指令編輯的方法,但是,目前還是開發版本,所以,阿舍就沒試了哩 ...
然後,在 Arduino 官網上有建議使用一套叫做「Ino」的工具,不過,這個 Ino 是阿舍這二天才看到的,還沒試,所以,阿舍要介紹的並不是這套 Ino,阿舍一直在用的,其實,是一套叫做「Arduino-MK」的工具,雖然,阿舍當初在選擇使用這個 Arduino-MK 的時候,就已經知道它沒在更新了,並且,有了新 fork 一個專案叫做「Arduino-Makefile」,但是,因為 Arduino-MK 安裝容易又阿舍用起來沒出過什麼問題,因此,阿舍就一直都用這個 Arduino-MK 來編譯囉 !
所以,如果你對於已經停止更新的軟體有疑慮的話,那阿舍就不建議安裝來使用哩 ! 但是,如果你和阿舍一樣懶,喔 ! 不 ! 是一樣勇敢的話,那就來試試吧 ! 不過,阿舍可是不掛保證的哩 ! ... ^^!!
首先,請先用下面第一行的指令來安裝 Arduino 的套件,接著,再打下面第二行的指令來安裝 ArduinoMK 套件。
sudo apt-get install arduino
sudo apt-get install arduino-mk
搞定上面這二行指令後,請用指令下面這一行指令來把你的 Ubuntu 使用者帳號加到「dialout」這個群組,這樣把編譯好的程式上傳到 Arduino 的時候才不會有問題。( 下面指令以阿舍的帳號是「arthuryu」為例)
sudo usermod -a -G dialout arthuryu
再來,就要在你的程式碼所在的資料夾裡,新增一個檔名為「Makefile」的檔案,裡面請放進下列文字,然後,把存檔起來就可以了,基本上,如果 Arduino 和 Arduino-MK 套件都是用 apt-get 安裝的話,路徑是都不需要修改的哩 !
ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyACM*
ARDUINO_LIBS =
include /usr/share/arduino/Arduino.mk
而 Makefile 檔案裡,唯一需要修改的,是「ARDUINO_LIBS」這個項目,這個「ARDUINO_LIBS」的項目會隨著你在程式碼裡 Include 了那些程式庫而調整,例如,阿舍在程式中用了控制伺服馬達的「Servo.h」和 使用 I2C 連線的「Wire.h」程式庫 ,這樣,這個 Makefile 就要調成下面這個樣子
ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyACM*
ARDUINO_LIBS = Wire
ARDUINO_LIBS += Wire/utility
ARDUINO_LIBS += Servo
include /usr/share/arduino/Arduino.mk
Makefile 搞定後,就可以開始來編譯 Arduino 的程式了,編譯的方式很簡單,只要在程式碼所在的資料夾裡,直接打入「make」指令並執行,接著,就會開始編譯了,如果程式碼有錯的話,會出現如下圖的訊息,如果編譯成功的話,則是會出現如本文上方圖片的訊息哩 ! 要注意的是,執行 make 指令時,預設是會把該資料夾裡的所有 .ino 檔都拿來一起編 (不包含子資料),所以,不需要的 .ino 檔請移走,不然,可能會有錯誤的哩 !
編譯失敗的訊息 |
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
沒有留言 :
張貼留言
歡迎留言提問和討論 .... 😁