Re: [問題] Arduino輸出值到Processing如何辨別A0及A1,2,3

作者: robrob99 (梁龍)   2020-11-18 19:31:34
===============================
Arduino
===============================
void setup()
{
Serial.begin( 9600 );
}
void loop()
{
/*
int value = analogRead( A0 );
Serial.write(value/4);
*/
long value1 = analogRead( A0 );
long value2 = analogRead( A1 );
long valueout = (value1*1000)+(value2);
//我這邊假設兩值最大小於1000 所以第一個值*1000 加上第二個值 值比較大用long
Serial.write(valueout);
delay(0);
}
===============================
Processing
===============================
/* Processing 範例:
* 讀取從 Serial Port 傳進來的 Sensor 讀值
* 利用 Sensor 讀值移動矩形 (Rectangle)
*/
import processing.serial.*;
Serial serial;
//int sensorValue;
long sensorValue;
long printValue1;
long printValue2;
void setup() {
// 設定畫布大小為 305 x 200
size(610, 400);
// 開啟 Serial port,通訊速率為 9600 bps
// 注意! 如果你 Arduino 不是接在 COM4,請做適當調整
serial = new Serial(this, "COM6", 9600);
}
void draw() {
if ( serial.available() > 0) {
// 讀取從 Serial Port 傳進來的 Sensor 讀值
sensorValue = serial.read();
println(sensorValue);
printValue1 = (sensorValue/1000)/4;
printValue2 = (sensorValue%1000)/4;;
// 在 (x, y) 為 (sensorValue, 80) 的位置畫一個 50x50 的矩形
background(255); // 白色背景
fill(255,0,0); // 填滿顏色為紅色
//rect(sensorValue, 80, 50, 50);
rect(printValue1, 80, 50, 50);
rect(printValue1, 140, 50, 50);
}
上色是我添加的片段 沒有編譯器也沒有裝置 請自行debug
作者: SHANDer (八面體)   2020-11-19 16:48:00
感謝你,我有用這個概念改了一下成功做出兩個,但我其實是要十個,這個方法我就Fail了QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com