Arduino與Processing通信實驗一
2011/01/23:Arduino與Processing通信實驗一實驗目的:Arduino 與 Processing 基本通信實驗
程式下載:
說明文件:
補充資料:
更多的Processing 這是 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)
}
這是 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 秒
} rect 指令
語法: rect ( X , Y , width , height )
說明:
用來繪製一個矩形。前兩個參數設置位置,第三個 width 是寬度,第四個 height 是高度。
參數型態:
四個參數用 int (整數) 或 float (浮點數) 皆可。
fill 指令
語法:
fill ( 灰階 )
fill ( 紅, 綠, 藍 )
說明:
設置顏色用於填充形狀。 例如,如果您運行 fill(204,102,0) , 所有後續的形狀將充滿橙色。 這種顏色可以是指定條件的 RGB,每個取值範圍從0到255。
參數型態:
參數用 int (整數) 或 float (浮點數) 皆可。
頁:
[1]