hehehejunzhi 发表于 2013-6-28 17:10:26

processing和arduino通信问题

本人小白。。。在利用processing和arduino进行通信时遇到了问题。。。

是这样,我想利用arduino的超声波传感器和processing结合,做出来一个当人靠近到一定距离时就会自动切换视频。。。但processing读取的数据和arduino的总是不一样。Serial.write(byte())已经写进去了,还是不行。。。。


ARDUINO CODE:

int inputPin = 3;
int outputPin = 2;

int inputPin1 = 9;
int outputPin1 = 8;



int distance;
int distance1;


void setup(){

Serial.begin(9600);
pinMode(inputPin,INPUT);
pinMode(outputPin,OUTPUT);
pinMode(inputPin1,INPUT);
pinMode(outputPin1,OUTPUT);

}


void loop(){


digitalWrite(outputPin,LOW);
delayMicroseconds(2);
digitalWrite(outputPin,HIGH);
delayMicroseconds(10);
digitalWrite(outputPin,LOW);
float distance = pulseIn(inputPin,HIGH);
distance = distance/58.0;


Serial.print("distance = ");
Serial.print(distance);
Serial.println("cm");
Serial.write(byte(distance));

delay(100);
}











PROCESSING CODE:

import processing.video.*;
import processing.serial.*;

Serial duankou;
Serial duankou1;
Movie mine;
Movie yours;
int data;
int data1;

void setup() {

size(1200, 960);
background(0);
noStroke();
smooth();
duankou = new Serial(this, "/dev/cu.usbmodem1411", 9600);

mine = new Movie(this, "1.mov");
yours = new Movie(this, "2.mov");
}


void draw() {

if (duankou.available()>0) {
    float data=duankou.read();
    println(data);
    if (data <= 10) {
      mine.play();
      yours.stop();

      image(mine, 0, 0);
    }
    if (data >20) {
      yours.play();
      mine.stop();
      image(yours, 0, 0);
    }
}
}

void movieEvent(Movie mine) {
mine.read();
}




弘毅 发表于 2013-6-29 13:51:29

这个帖子可以参考下http://www.geek-workshop.com/thread-683-1-1.html

不二的文艺 发表于 2013-11-16 16:48:46

我回答不了,想请教下我用processing.serial的时候出现了serial does not run in 64-bit mode.
是不是因为我的电脑是64位的呢
页: [1]
查看完整版本: processing和arduino通信问题