如何在Raspberry Pi運行Arduino程式

基礎範例:LED和控制台

理論描述到此為止,現在我們將其付諸實踐!我們從最簡單的Arduino基本功能開始:LED和串接輸出。我使用的Arduino程式如下所示。我對Arduino的“淡入淡出”程式進行了簡單修改。該程式透過PWM(脈衝寬度調製)調節LED的亮度,並將當前PWM值列印到控制台。

 

有了代碼之後,我們需要將所有元件連接在一起。其實並不複雜,只需連接兩個LED和幾個10k電阻即可。

arduino code raspberry pi

圖9 本例的接線示意圖

對Arduino研發板進行程式設計的最後一步:點擊神奇的“Upload”按鈕,然後系統會自動編譯器並將其上傳到硬體中。在RasPiArduino框架下,將程式上傳到Raspberry有兩種方法。

1. 使用“Upload”按鈕。將Raspberry連至您的本地網路,在“Tools”功能表中的“Ports”部分應該能看到其IP位址。選擇該位址,就像選擇Arduino COM埠一樣,然後點擊“Upload”。然後,系統會提示您輸入超級使用者(root)密碼。輸入後,系統會上傳程式並自動執行。您可以在Arduino序列監視器中查看控制台輸出結果。

2. 手動上傳。在Arduino IDE中,進入功能表“Sketch”,然後點擊“Export compiled binary”。系統會編譯您的程式,並將二進位檔案匯出為.bin檔,檔的存放路徑為程式資料夾。現在,我們得把此檔複製到Raspberry Pi。下一步是用以下命令將這個二進位檔案變成可執行檔:

chmod +x exported_binary.bin

現在,您可以透過另一個命令來運行該二進位檔案,必須以超級用戶身份執行:

sudo ./exported_binary.bin

現在,所有控制台輸出都將顯示在控制台中。與其他任何端子程式一樣,我們可以透過鍵盤快速鍵Ctrl+C停止。我更喜歡手動上傳,因為它不需要設定其他服務,並且通常更可靠(至少在我的配置中是這樣的)。

請用以上兩種方法其中的一種上傳程式,然後觀察兩個LED。其中一個LED應該會不斷閃爍,而另一個則會呈現淡入淡出效果!

arduino code raspberry pi

圖10 Raspberry Pi控制兩個LED

程式還將當前的PWM值列印到控制台中,具體輸出情況如下圖所示。

arduino code raspberry pi

圖11 Raspberry Pi控制台輸出