呼啦啦啦圈 发表于 2013-11-18 01:55:24

高手救命,关于ARDUINO和processing连接的问题,以及关于PROCESSING模糊。

我想实现的功能是当转动连在ARDUINO上的电位器时,PROCESSING里显示的图片会跟随电位器上传来的值改变其模糊程度。

ARDUINO的代码如下:
int potPin = 0;
// 电位器第二针脚接在模拟口0上
void setup() {
// 启动串口,波特率为9600
Serial.begin(9600);}
void loop() {
// 读取电位器电压
int sensorValue = analogRead(potPin);
// 读取的数值以BYTE格式从串口输出
// 因为processing的serial.read()只支持0-255之间的数值,
//所以需要把0-1023数值除以4,缩放到0-255之间
Serial.write(sensorValue/4);
delay(100);}


这里的Serial.write(sensorValue/4);,一开始用的是Serial.println(sensorValue/4);,后来看论坛里有人说要干成WRITE。
运行了一下

Processing 代码如下:

import processing.serial.*;
Serial serial;
int sensorValue;
int last;
PImage photo;

void setup() {
size(400, 400);
   println(Serial.list());
   serial = new Serial(this, "COM4", 9600);
photo = loadImage("flower.jpg");
}

void draw() {
if ( serial.available() > 0) {   
// 读取从串口产过来的Sensor数值。   
sensorValue = serial.read();
println(sensorValue);
image(photo, 0, 0);
filter(BLUR, sensorValue/4);
}}

这个代码是根据http://www.geek-workshop.com/thread-301-1-1.html 的这个教程改的,
这个教程里的那个圆的功能我尝试配合ARDUINO的代码运行过,是可以实现的。

PROCSSING读出的数值非常的奇怪,求高手解答!!!

PS,同时想问一下PROCESSING有没有调节透明度的函数啊?

呼啦啦啦圈 发表于 2013-11-18 11:50:17

高手们赐教一个吧 T^T

呼啦啦啦圈 发表于 2013-11-20 14:30:12

自顶一个 求解答!

Simon 发表于 2013-11-20 14:42:08

Serial.write输出的是byte数值,Serial.print或者Serial.println输出的是字符串,但是如果浮点数,那么只会截取到小数点后两位。在Processing端读取数值的时候,最好强制一下转换类型,确保数值准确。

呼啦啦啦圈 发表于 2013-11-20 15:25:56

Simon 发表于 2013-11-20 14:42 static/image/common/back.gif
Serial.write输出的是byte数值,Serial.print或者Serial.println输出的是字符串,但是如果浮点数,那么只会 ...

请问怎么弄这个强制转换呢。。能说具体一些吗~

呼啦啦啦圈 发表于 2013-11-20 15:27:24

Simon 发表于 2013-11-20 14:42 static/image/common/back.gif
Serial.write输出的是byte数值,Serial.print或者Serial.println输出的是字符串,但是如果浮点数,那么只会 ...

Serial.print(sensorValue/4, BYTE);

我当时输上面那个代码的时候它说BYTE用不了呀。。该怎么办啊。。

Simon 发表于 2013-11-20 18:05:06

呼啦啦啦圈 发表于 2013-11-20 15:27 static/image/common/back.gif
Serial.print(sensorValue/4, BYTE);

我当时输上面那个代码的时候它说BYTE用不了呀。。该怎么办啊。。 ...

http://www.geek-workshop.com/thread-7881-1-1.html
页: [1]
查看完整版本: 高手救命,关于ARDUINO和processing连接的问题,以及关于PROCESSING模糊。