|
我按照论坛中几位老师的帖子尝试Arduino和Processing组合演示姿态。
其中参考了几位老师的帖子:arduino学习笔记37 - Arduino Uno + MPU6050首例整合性6轴演示实验。MPU6050姿态识别【抛砖】,引'弘毅''Randy'等人【抛玉】。arduino学习笔记28 - ITG3200 ADXL345做姿态识别实验等,但是现在卡在里如下几个地方
1.Arduino代码部分,Arduino代码部分好像很简单就下面这几行:
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"
MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t gx, gy, gz;
char str[512];
void setup() {
Wire.begin();
Serial.begin(9600);
accelgyro.initialize();
}
void loop() {
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
sprintf(str, "%d,%d,%d,%d,%d,%d,%d", ax, ay, az, gx, gy, gz);
Serial.print(str);
Serial.write(byte(10));
delay(50);
}
但是不知道为什么输出很慢,在PC上看就是一个数5,而且一个一个的蹦很慢的蹦。但是要是去掉这一行:
sprintf(str, "%d,%d,%d,%d,%d,%d,%d", ax, ay, az, gx, gy, gz);
再把Serial.print(str);改成Serial.print(ax);似乎输出一下就正常了。
2.不管我怎么捣鼓似乎Processing都接受不到Arduino的数据。COM口也看过了是对的。
3.Processing代码部分中这一行是什么意思:
//myPort = new Serial(this, "/dev/ttyUSB0", 9600); 它和我指定串口那行
//myPort = new Serial(this, Serial.list()[2], 9600);
有什么区别呢,
盼望各位老师回答 |
|