2013年8月12日 星期一

RASPBERRY PI 連結arduino版

所需工具
  1. 樹莓派
  2. arduino mega 2560
  3. 七段顯示器
  4. 麵包版
  5. 線材, 電阻

買了樹莓派後,就心血來潮的把已經被快被蜘蛛網包覆的arduino拿出來了。

由於之前已經完成了一個arduino的七段顯示器實驗,請參考網址,就決定修改此功能,
將其修改為讓RASPBERRY PI 利用USB將數字傳輸給arduino後,
arduino接收數字後進行顯示的功能。

首先,先安裝一個pidora起來。安裝pidora的原因是因為我比較熟悉fedora的介面,等等可以用yum 來安裝相關資料。

安裝完成後,執行yum install arduino 就會將arduino進行安裝。
在X WINDOW環境上,開啟一個終端機,使用root權限,執行
 [root@raspi ]#arduino
即可開啟arduino程式。

參考以下圖一,將arduino的USB接到樹梅派上面.
圖一

 修改arduino程式,將 Serial.begin(9600);  加入到setup段落。
 目的是為了要設定鮑率。

 另外, LOOP段 修改如下:

     void loop() {
         int incomingByte = 0;
         if (Serial.available() > 0) {
                // read the incoming byte:
                incomingByte = Serial.read();
                incomingByte = incomingByte - 48;
                if (incomingByte >0 && incomingByte < 10){
                  sevenSegWrite(incomingByte);
                  // say what you got:
                  Serial.print("I received: ");
                  Serial.println(incomingByte, DEC);
                }
        }
              
        delay(1000);         
      }

 其中,-48的原因是因為接收到的為ascii碼,需減去48才能還原為數字。
 接著將程式上傳到arduino。
 執行arduino的tools==> Serial Port ==> 選擇 /dev/ttyACM0
 執行arduino的tools==> Serial Monitor 傳送 123456789到arduino,效果如影片一。
 影片一
就像影片裡,樹梅派傳送 123456789到arduino, arduino收到後,就將其做顯示到七段顯示器的動作。

很多人會用python來做傳輸,比方說這個例子 ==> 範例
原文的arduino寫法 ==> 範例

沒有留言:

張貼留言