注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙粒的博客

 
 
 

日志

 
 

arduino 模拟量传processing 显示  

2015-10-24 23:13:44|  分类: processing |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、程序功能:

1、读取arduinoA0数据,类型int 范围0~1024;为其加上前缀字符,后缀字符,并将int数据转换为String。从串口发送给processing

2processing接收到数据后,解析出int数据,有knob控件显示出来;

二、程序:

1arduino

//定义前缀、后缀字符

String str1,str2;

String tem;

 

void setup() {

  Serial.begin(9600);

  str1 =String("s");

  str2=String("e");

  tem=String();

}

 

void loop() {

  int v1 = analogRead(A0);

  tem=str1+v1+str2; 

  Serial.print(tem);

  delay(500);

}

 

2processing

import controlP5.*;

import processing.serial.*;

ControlP5 cp5;

Knob instrument;

int instrumentvalue;

Serial myport;

String instring;

char  startchar, endchar;

boolean flag, fget;

int invalue;

void setup() {

  size(600, 600);

 

  cp5 = new ControlP5(this);

 

  cp5.setFont(createFont("ArialMT-20", 20)) ;

 

 

  cp5.addKnob("instrument")

    .setRange(0, 1024)

      .setPosition(120, 50)

        .setRadius(80) 

          .setColorForeground(color(255, 0, 0))

            ;

 

  println(Serial.list()); 

  myport = new Serial(this, Serial.list()[1], 9600);

  startchar='s';

  endchar='e';

  flag=false;

  instring="";

}

 

 

void draw() {

  cp5.getController("instrument").setValue(instrumentvalue);

  if (fget==true) {

    instrumentvalue=int(instring);  

    fget=false;

    instring="";

  }

}

void serialEvent(Serial port) {

  int inbyte = port.read();

  if (inbyte==startchar) {

    flag=true;

    return;

  }

 

  if (inbyte==endchar) {

    flag=false;

    fget=true;

  }

 

  if (flag==true) {

    char c=char(inbyte);

    instring+=str(c);

  }

}

  评论这张
 
阅读(279)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017