极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16002|回复: 5

老师们 新人求助啊

[复制链接]
发表于 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 | 显示全部楼层
怎么没人啊   大神在哪里?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-5 22:09:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-5 22:58:35 | 显示全部楼层
现在问题是这样的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-12-5 23:22:20 | 显示全部楼层
arduino是用那个USB口吧,应该打开monitor
回复 支持 反对

使用道具 举报

发表于 2014-12-5 23:24:31 | 显示全部楼层
可以分步骤调试,在arduino这里插入print()保证能传感器到变化保证能送出
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 14:24 , Processed in 0.036389 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表