13年4个月前IP:未同步
563375
21楼
回 20楼(布布卡) 的帖子
1:processing
2:arduino代码,自己稍改了一下
const int TrigPin = 3;
const int EchoPin = 4;

float SR04cm;
float m;
float dis=0;
float dis2=0;
float SR04()
{
      digitalWrite
      (TrigPin, LOW);
      delayMicroseconds(2);  
      digitalWrite(TrigPin, HIGH);
      delayMicroseconds(12);
      digitalWrite(TrigPin, LOW);  
      SR04cm = pulseIn(EchoPin, HIGH) / 58.00; //算成厘米 //
      SR04cm = (int(m * 100.0)) / 100.0; //保留两位小数
      delayMicroseconds(2);return SR04cm;}
void setup()
{
      Serial.begin(9600);  
      pinMode(TrigPin, OUTPUT);
      pinMode(EchoPin, INPUT);
}
void loop()
{
      int echocm=SR04();
      Serial.println(echocm);
      delay(10);
}

processing代码,没改过

import processing.serial.*;
Serial myPort=new Serial(this, Serial.list()[1], 9600);

float r=250;
float a=0;
float x, y;
void setup()
{  
     size(600, 600);  
     background(0);  
     smooth();  
     stroke(255);  
     frameRate(100);  
     println(Serial.list());
}
void draw()
{  
     displayX();  
     displayY();  
     fill(0,3);  
     noStroke();  
     rect(0, 0, width, height);  
     x=r*cos(a);  
     y=r*sin(a);  
     if (myPort.available()>0)
     {    
         int data;    
         data=myPort.read();      
         fill(255);    
         text("DISTANCE:", 30, 50);    
         text(data, 100, 50);    
         stroke(0, 200, 0);    
         strokeWeight(4);    
         line(width/2, height/2, width/2+x, height/2+y);//步进电机转一下,扫描线转一下    
         a=a+0.0124;//弧度增加    
         if (data<=50)
         {      
            stroke(255, 0, 0);      
            strokeWeight(10);      
            float locx, locy;      
            locx=5*(data-1)*cos(a);      
            locy=5*(data-1)*sin(a);      
            point(width/2+locx, height/2+locy);    
          }  
      }
}
void displayX()
{  
     for (int i=-250;i<300;i+=50)
     {    
         fill(255);    
         if (i<=0)      
           text(i, i+300, 300);    
         else      
           text(i, i+285, 300);  
      }
}
void displayY()
{  
      for (int i=250;i>=-250;i-=50)
      {    
          if (i!=0)
          {      
              fill(255);      
              text(i, 300, 300-i);    
           }  
       }
}
截图:
QQ图片20130824204751.jpg



评论
文号 / 563375

十步芳草
名片发私信
学术分 0
总主题 33 帖总回复 553 楼拥有证书:进士 笔友
注册于 2012/11/03 18:25:55最后登录 2018/05/13 17:00:45
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的