急!新手求助:arduino发送与processing接收不一致?
int potPin=0;void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(potPin);
Serial.println(sensorValue/4);
delay(500);
}
import processing.serial.*;
Serial serial;
int sensorValue;
void setup() {
serial = new Serial(this, "COM6", 9600);
}
void draw() {
if ( serial.available() > 0) {
sensorValue = serial.read()
println(sensorValue);
}
程序很简单,arduino能发送,但是processing接收到的不是发的数据,是一个个有规律循环出现的数,改变旋转编码器的值,processing还是不变,但是如果processing用string读取的话就可以了,可是我想实现的是通过读取旋转编码器变化的值反映为processing上一个图形角度的变化,但string字符串型是无法用来计算角度的,怎么办?哪位好心人可以帮助一下,如果谁做过类似的实验,能不能分享一下你的成果。万分感谢!!! 我沒用過 processing, 不過, 從你的 source:
Arduino:
Serial.println(sensorValue/4);
Processing:
sensorValue = serial.read()
arduino 以字符輸出, processing 以 數值的方式讀取 (我想 serial.read 應該是 數值的直接讀取吧), 兩者不配合.
先想好通訊協定, 再跟據協定作出輸出及輸入的程序吧. 本帖最后由 洛克王国专用号 于 2014-5-5 21:25 编辑
试试下面代码能否行?
import processing.serial.*;
Serial serial;
int sensorValue;
void setup() {
size(400,400);
background(255);
stroke(255,2,0);
serial = new Serial(this, "COM6", 9600);
}
void draw() {
}
void serialEvent(Serial p){
String message = serial.readStringUntil('\n');
if(message !=null){
println(message);
//intx = Integer.parseInt(message);
float rad = map(float(message),0,255,0,TWO_PI);
pushMatrix();
translate(width/2,height/2);
point(cos(float(message))*50,sin(float(message))*50);
popMatrix();
message = "";
}
}
字符型数据转角度用这句看是否可行?float rad = map(float(message),0,255,0,TWO_PI);
洛克王国专用号 发表于 2014-5-5 21:04
试试下面代码能否行?
import processing.serial.*;
Serial serial;
感谢帮助,我试试 Super169 发表于 2014-5-4 21:24
我沒用過 processing, 不過, 從你的 source:
Arduino:
好像用serial.write()可以,不过还是谢谢啦! ♂幻聽伱の過去 发表于 2014-5-5 23:14 static/image/common/back.gif
好像用serial.write()可以,不过还是谢谢啦!
對了, 以數值的傳輸, read 的對頭就是 write 了.
我之前發了一個帖, 說明 數值 與 字符 在串口通訊時的分別....可惜大家都沒興趣.
本帖最后由 SafetySuit 于 2014-6-8 23:54 编辑
Super169 发表于 2014-5-5 23:23 static/image/common/back.gif
對了, 以數值的傳輸, read 的對頭就是 write 了.
我之前發了一個帖, 說明 數值 與 字符 在串口通訊時的 ...
好像这两者一个是传输的数字信号一个是模拟信号。看了你的那个帖子,但是没有相关基础知识看不太懂,有没有方法能把这二者进行转换呢?就是把write改成read就能解决吗? SafetySuit 发表于 2014-6-8 23:53 static/image/common/back.gif
好像这两者一个是传输的数字信号一个是模拟信号。看了你的那个帖子,但是没有相关基础知识看不太懂,有 ...
這跟digital 及 analog 的訊號沒有關係, 不要攪錯吧.
簡單的說, 只是數值及字串上的分別, 你知道 123 跟 "123" 兩者的意義嗎?
把 write 改成 read, 除非是之前把讀取/寫入攪錯了, 否則不可能解決問題.
Super169 发表于 2014-6-9 09:20 static/image/common/back.gif
這跟digital 及 analog 的訊號沒有關係, 不要攪錯吧.
簡單的說, 只是數值及字串上的分別, 你知道 123...
请问可以同时两个传感器同时发送给processing进行数据采集吗?需要如何写代码呢,比如简单的两个电位器,一个控制processing程序里的Y,一个控制X。
页:
[1]