要把Raspberry Pi當做開發主機,在上面撰寫Arduino的程式,實在非常簡單,因為Raspberry Pi就是一台Linux機器,而Arduino軟體開發環境原本就支援Linux了。
我在Raspberry Pi在命令列模式下,讓Arduino的LED燈閃爍,步驟記錄如下。
我的環境是Raspbian wheezy,2012-07-15-wheezy-raspbian.img,後來也試過2014-06-20-wheezy-raspbian.img。板子是Arduino Uno Rev 3。
Arduino的軟體開發環境都已經打包好了,直接以apt-get安裝即可。
$ sudo apt-get install arduino arduino-mk
其中arduino-mk是要在命令列模式下以make進行編譯與燒錄動作所需要的套件。
安裝後,執行檔(arduino、avr-g++、avr-gcc、avrdude、等等)位於/usr/bin裡,avrdude的設定檔位於/etc/avrdude.conf,範例程式碼與API參考文件分別位於/usr/share/doc/arduino-core的子目錄examples與reference裡,Arduino核心程式碼位於/usr/share/arduino/hardware/arduino/cores/arduino裡,內建程式庫位於/usr/share/arduino/libraries裡,重要的就這些,請自行瀏覽其他相關目錄。
然後,在家目錄下新增子目錄sketchbook,在裡面新增BlinkByPi專案目錄,我們將需要兩支檔案,BlinkByPi.cpp與Makefile,內容如下。
BlinkByPi.cpp的內容:
#include <Arduino.h>
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
Makefile的內容:
TARGET = BlinkByPi
ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT =/dev/ttyACM0
include /usr/share/arduino/Arduino.mk
以ARDUINO_DIR指定Arduino軟體開發環境的路徑。若你從Arduino官方網站自行下載、自行解壓縮的話,請修改此路徑。
以TARGET指定最後產生出來的檔案的主檔名,最好跟此專案名相同。(註:有時若出問題,拿掉此項或可解決,那麼TARGET就會預設為當前目錄名。)
以BOARD_TAG指定你使用的板子。
以ARDUINO_PORT指定與板子連接的通訊埠,在Raspberry Pi上為/dev/ttyACM0。
然後使用include匯入內涵基本設定與規則的Arduino.mk。
如果使用內建函式庫的話,須再加入類似於底下的這一行:
ARDUINO_LIBS = Ethernet Ethernet/utility SPI
接下來,在此專案目錄裡以
$ make
即可編譯、連結,將會產生出build-cli子目錄,存放建置過程的中間檔,最後產生出來的.elf與.hex也會放在裡面。
然後以
$ make upload
即可燒錄。
哇,成功囉。
另外可用make clean清除,以make depends更新檔案相依性。
更詳細的用法可參考/usr/share/arduino/Arduino.mk裡的說明,以及底下的參考資料。
參考資料:
- Arduino Playground的Install on Debian。
- Arduino Playground的Installing Arduino on Linux。
- RaspberryPi @Homelabs的RaspberryPi the Arduino Development Tool。
- netduinoplusfun的Arduino IDE on Raspberry Pi with Arduino Uno。
- Dr. Monk's DIY Electronics Blog的Raspberry Pi and Arduino。
- Martin's Atelier: Arduino from the command line。
- Arduino 1.0 development with a makefile on Linux。
我想要在raspberry pi上開發arduino,
ReplyDelete並且在arduino上使用溫濕度感測器dht11,
想請問一下函示庫要怎麼新增,
然後新增函示庫的位子在哪裡。
拜託葉大了
安裝Arduino IDE比較方便吧。
Delete從IDE選單 https://www.arduino.cc/en/Guide/Libraries#toc3
叫出程式庫管理員(Library Manager),
尋找DHT11,就可找到程式庫,按下Install按鈕即可安裝。
我有安裝在樹莓派上面安裝ide,可是選單Laporte library裡面有add library
Delete版本?
Delete1.6.2開始才有Library Manager
我是用樹莓派用的2:1.0.5+dfsg2-4
Delete1.0.5版沒有Library Manager。
Delete需要自己手動安裝程式庫。
網路上找找,很多介紹文,
如 http://skybow.pixnet.net/blog/post/106036427-%5Barduino%5D%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%9D%E7%AC%AC%E4%B8%89%E6%96%B9%E5%87%BD%E5%BC%8F%E5%BA%AB%28library%29
葉大不好意思再請教一下
Delete我在raduino官網下載最新的1.8.5 64位元
可是安裝完不能開啟
是要把舊的移除掉嗎
還是有什麼方法可以安裝新的版本
Delete謝謝葉大我處理好了
Delete葉大 我使用 uno mega2560 可這樣用但使用due 板就不行請問是否要使用其他方法
ReplyDelete