magiccar 發表於 2011-1-23 14:15

Arduino與Processing通信實驗一

2011/01/23:Arduino與Processing通信實驗一
實驗目的:Arduino 與 Processing 基本通信實驗
程式下載:
說明文件:

補充資料:
  更多的Processing

magiccar 發表於 2011-2-12 22:54

這是 Processing 的程式碼, 負責接收串列通訊埠(COM PORT)的數據, 並用其來改變繪圖的內容
/*
第一個資料傳送實驗
從Adurino的輸入信號經過串列通訊埠(COM PORT), 去改變矩形的顏色
*/
import processing.serial.*; // 載入串列通訊物件模組
Serial myPort;            // 建立一個串列通信物件類別
int val;                  // 設定從串列埠接收數據的變數

void setup()                // 設定程式段
{
println(Serial.list());   // 列出使用通信埠的編號
size(640,480);            // 設定顯示視窗大小
String portName = Serial.list();      // 設定通信埠的編號
myPort = new Serial(this, portName, 9600); // 設定物件類別內容
}

void draw()                      // 繪圖程式段
{
if ( myPort.available() > 0) { // 檢查通信埠是否有資料傳入
    val = myPort.read();         // 將資料存到 val 變數中
}
background(255);               // 設定背景色為白色 ( 黑色 = ___ )
fill(Val);                     // 設定後續圖形要填入的色彩
rect(50, 50, 100, 100);      // 畫出矩形 (x, y, width, height)
}

magiccar 發表於 2011-2-12 23:09

這是 Arduino 部分的程式碼, 負責把第五支類比輸入摸腳的信號, 傳送到串列通信埠(COM PORT)
/*
Arduino 的連線程式碼
用來把類比或數位資料送到串列埠(COM PORT)
*/
const int analogInPin = A5;      // 設定要輸入信號的接腳
int sensorValue = 0;             // 設定儲存輸入資料的變數
int outputValue = 0;             // 設定儲存要送出資料的變數

void setup()
{                               // 設定程式段
Serial.begin(9600);         // 啟動 9600bps 速度的串列通訊
}

void loop()          //主程式段
{
    sensorValue = analogRead(analogInPin);               // 儲存收到的類比信號值
    outputValue = map(sensorValue, 0, 1023, 0, 255);         // 將信號值對映到 0 ~ 255
    Serial.print(outputValue,BYTE);                        // 送出 1 BYTE 資料到 Processing
    delay(100);                                             // 延遲 0.1 秒
}

magiccar 發表於 2011-2-12 23:55

rect 指令
語法:    rect ( X , Y , width , height )


說明:
用來繪製一個矩形。前兩個參數設置位置,第三個 width 是寬度,第四個 height 是高度。      


參數型態:
四個參數用 int (整數) 或 float (浮點數) 皆可。

fill 指令
語法:
    fill ( 灰階 )
    fill ( 紅, 綠, 藍 )


說明:
設置顏色用於填充形狀。 例如,如果您運行 fill(204,102,0) , 所有後續的形狀將充滿橙色。 這種顏色可以是指定條件的   RGB,每個取值範圍從0到255。      


參數型態:
參數用 int (整數) 或 float (浮點數) 皆可。


頁: [1]
查看完整版本: Arduino與Processing通信實驗一