四重影 发表于 2014-12-5 21:07:28

老师们 新人求助啊

老师们我想做一个Processing和Arduino的互动作品
红外感应到人后   屏幕上的眼睛越来越多   
但是现在程序编写出错了   我也闹不清哪里错了    求大神指点啊

老师眼睛越来越多的Processing的   程序为

void setup(){
size(1280,720);
smooth();
background(255);
stroke(0,120);
}

void draw(){
float d = random(50);
fill(random(360),100,100,100);
eye(random(1280),random(720));
}
void eye(float x,float y){
pushMatrix();
translate(x,y);
stroke(0);
float d = 30;

strokeWeight(d/15);
fill(255,200,0);
ellipse(0,0,d*2,d);

strokeWeight(d/20);
fill(0,0,255);
ellipse(0,0,d,d);

fill(0);
noStroke();
ellipse(0,0,d/3,d/3);

popMatrix();
}



为了跟 Arduino人体红外互动   人进入空间眼睛越来越多
我把它改成了

import processing.serial.*;
Serial duankou;

int data;
int frame=0;
int flag=0;

void communication()
{
if(duankou.available()>0)
{
    data=duankou.read();
    println(data);
    if(data==1)
    {
      flag=1;
    }   
}
}
void setup()
{
size(1280,720);
smooth();
background(255);
stroke(0,120);
duankou = new Serial(this,"COM3",9600);
}
void draw()
{
if(flag==1 && frame<=680)
float d = random(50);
fill(random(360),100,100,100);
eye(random(1280),random(720));
{
       background(255);
       for(int i=0;i<50;i++)
       { communication();
      }
   }
void eye(float x,float y)
{
pushMatrix();
translate(x,y);
stroke(0);
float d = 30;

strokeWeight(d/15);
fill(255,200,0);
ellipse(0,0,d*2,d);

strokeWeight(d/20);
fill(0,0,255);
ellipse(0,0,d,d);

fill(0);
noStroke();
ellipse(0,0,d/3,d/3);

popMatrix();
}
    else
   {
   background(0);
    flag=0;
    frame=0;
    communication();
   }
}




还有下面的是Arduino程序



int ledPin = 13;
int sensor = 2;   

int val = 0;
void setup()
{
pinMode(ledPin, OUTPUT);         
digitalWrite(ledPin,HIGH);   
Serial.begin(9600);
}

void loop()
{
val = digitalRead(sensor);
if(HIGH == val)
{
   Serial.write(val);
    digitalWrite(ledPin,LOW);
    delay(50);
}
else
{digitalWrite(ledPin,HIGH);
Serial.write(val);
delay(50);
}
}

但是   一直弄不成    也不知道哪里出了问题    程序错误
老师您帮我看看   

四重影 发表于 2014-12-5 21:30:54

怎么没人啊   大神在哪里?:dizzy:

四重影 发表于 2014-12-5 22:09:21

:'(:'(:'(:'(

四重影 发表于 2014-12-5 22:58:35

现在问题是这样的

林定祥 发表于 2014-12-5 23:22:20

arduino是用那个USB口吧,应该打开monitor

林定祥 发表于 2014-12-5 23:24:31

可以分步骤调试,在arduino这里插入print()保证能传感器到变化保证能送出
页: [1]
查看完整版本: 老师们 新人求助啊