陀螺仪

来自Microduino Wikipedia
Pkj讨论 | 贡献2014年6月3日 (二) 08:19的版本 程序
跳转至: 导航搜索

目的

本教程将教大家如何把Microduino-10DOF模块中的陀螺仪和加速度传感器测到的数据经过处理在Processing中以姿态的形式显示出来。

设备

Microduino-10DOF

  • 其他硬件设备
    • USB数据连接线 一根


原理图

直接使用Microduino-10DOF上的陀螺仪和加速度传感器

程序

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/MPU6050Microduino

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/processingGyro

调试

步骤一:按着原理图搭建硬件环境,像这样:

AtmosphericDataCollectionConnectionDiagram.jpg


步骤二:解释一下代码:

本例需要两端的代码,Processing端和Microduino端

Microduino:

//得到陀螺仪和加速度的数据后输出到串口以便Processing显示

 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(20);
 }

Processing:

//得到第一个串口的数据,并定义如果有换行就缓存

 myPort = new Serial(this, Serial.list()[0], 9600); // first COM port

//把从Microduino接收到的数据进行处理在屏幕上显示姿态。

函数说明:

readSensors() //读取传感器数据

normalize3DVec(float [] vector) //处理3d 矢量

buildBoxShape() //建立盒子形状

drawCube() //绘画盒子

getInclination() //得到倾角


步骤三:下载代码并编译通过。

步骤四:运行后,晃动,旋转你手中的Microduino看看Processing中会显示什么。

结果

屏幕上会显示一个方块随着你手中的Microduino的姿态进行模拟,像这样:

ProcessingGyroResult.jpg


视频