找回密码
 立即注册

QQ登录

processing显示arduino传感器动作实验

来源: 互动项目 奥松-Tony 2014-12-15 15:22 显示全部楼层 |阅读模式
以前用过processing显示姿态识别,代码过度高深了。。。大家可能一下子接受不了。这里开始从简单到复杂,慢慢介绍processing怎样与arduino互动。

这次我们使用一个电位器+arduino控制板,通过电位器的转动,让processing输出一个可以移动的圆形。

先看硬件连接图




这个是本次试验的arduino代码ARDUINO 代码复制打印

  • int potPin = 0; // 电位器第二针脚接在模拟口0上
  • void setup() {
  •   // 启动串口,波特率为9600
  •   Serial.begin(9600);
  • }
  • void loop() {
  •   // 读取电位器电压
  •   int sensorValue = analogRead(potPin);
  •   // 读取的数值以BYTE格式从串口输出
  •   // 因为processing的serial.read()只支持0-255之间的数值,所以需要把0-1023数值除以4,缩放到0-255之间
  •   Serial.print(sensorValue/4, BYTE);
  •   delay(100);
  • }

这个是本次试验的processing代码ARDUINO 代码复制打印

  • import processing.serial.*;
  • Serial serial;
  • int sensorValue;
  • void setup() {
  •   // 设置画布大小为 305 x 200
  •   size(305, 200);  //设置305的原因是arduino ADC口输入过来的数值是0-255,加上圆形半径50,刚好305.
  •   // 打开串口,设置波特率为9600
  •   // 本次实验arduino控制板所连接为COM6口,此处请根据实际情况调整。
  •   serial = new Serial(this, "COM6", 9600);
  • }
  • void draw() {
  •   if ( serial.available() > 0) {
  •     // 读取从串口产过来的Sensor数值。
  •     sensorValue = serial.read()+25;  //+25的原因是后面设置圆形半径为50,为了让圆形起点与重点贴边,就需要+25半径。
  •     println(sensorValue);
  •     // 在画布内画一个
  •     background(255); // 背景为白色
  •     fill(255,0,0);   // 圆形内填充为红色
  •     ellipse(sensorValue, 100, 50, 50);
  •   }
  • }

我们熟悉一下processing的基本界面,arduino的界面和processing一样滴。。。因为arduino的图形界面,就是直接使用的processing的。所以大家可以很容易上手。



我们点击工具栏第一个编译的图标,就会跳出来下图的样子的窗口。



看一下实验效果



其他的命令比较简单,这里介绍一下绘图命令
ellipse:(圆形)

ellipse(x,y,width,height)
x,y是圆形坐标点,指的是圆心。
width是圆的水平直径
height是圆的垂直直径
比如120,60这样画出来的就是一个椭圆了。


rect:(矩形)
rect(x,y,width,height)
x,y指的是矩形坐标点,是左上角那个点。
width是矩形宽度
height是矩形高度
默认模式是CORNER。
画矩形有三种模式:
1、CORNER:rect(左上x,左上y,宽,高)
2、CENTER:rect(中心x,中心y,宽,高)
3、CORNERS:rect(左上x,左上y,右下x,右下y)

例子:
rectMode(CENTER);
rect(150,150,200,200)


回复

使用道具 举报

大神点评1

beiwoj702 2016-2-12 18:44 显示全部楼层
顶起来!!不好碰到的好帖子
回复 支持 反对

使用道具 举报

您可能感兴趣的文章

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

关注0

粉丝3

帖子10

发布主题
社区热门 MORE+
    社区热帖 MORE+