当前位置:首页Arduino > 正文

processing绘制arduino数据

作者:野牛程序员:2023-11-16 10:37:45Arduino阅读 2838

使用Processing绘制Arduino数据可以通过建立串口通信来实现。以下是一个简单的示例,演示如何使用Processing读取Arduino通过串口发送的数据并绘制图形:

import processing.serial.*;

Serial myPort;  // 创建一个Serial对象
int[] dataValues;  // 存储从Arduino接收到的数据
int xPos = 1;  // 图形绘制的起始位置

void setup() {
  size(800, 400);
  // 更改串口名称为你的Arduino连接的串口
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
  myPort.bufferUntil('\\n');  // 设置缓冲区,当接收到换行符时触发serialEvent()
  
  dataValues = new int[width];  // 初始化数组
}

void draw() {
  background(255);
  drawGraph();
}

void serialEvent(Serial myPort) {
  String inString = myPort.readStringUntil('\\n');  // 读取串口数据直到换行符
  if (inString != null) {
    inString = trim(inString);
    int inValue = int(inString);
    updateDataValues(inValue);
  }
}

void drawGraph() {
  for (int i = 1; i < dataValues.length; i++) {
    line(i - 1, height - dataValues[i - 1], i, height - dataValues[i]);
  }
  xPos++;
  if (xPos >= width) {
    xPos = 1;
    background(255);
  }
}

void updateDataValues(int newValue) {
  for (int i = 0; i < dataValues.length - 1; i++) {
    dataValues[i] = dataValues[i + 1];
  }
  dataValues[dataValues.length - 1] = newValue;
}

请注意,这个示例假设Arduino通过串口以文本形式发送数据,并以换行符(\\n)结尾。需要根据你的Arduino代码和数据格式进行适当的修改。

在此示例中,Processing窗口的底部将显示一个实时更新的图形,表示从Arduino接收到的数据。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击