“陀螺仪”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
调试
程序
 
(未显示2个用户的2个中间版本)
第7行: 第7行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
'''[[Microduino-10DOF]]'''
+
*'''[[Microduino-10DOF/zh]]'''
  
 
*其他硬件设备
 
*其他硬件设备
**USB数据连接线  一根  
+
**USB数据连接线  一根
 
 
  
 
==原理图==
 
==原理图==
第21行: 第20行:
 
==程序==
 
==程序==
  
MPU6050Microduino
+
[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/MPU6050Microduino MPU6050Microduino]
  
processingGyro
+
[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/processingGyro processingGyro]
  
 
==调试==
 
==调试==

2014年10月29日 (三) 07:14的最新版本

目的

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

设备

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

原理图

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

程序

MPU6050Microduino

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


视频