nanoFramework.Iot.Device.Mpu6886 1.2.613
前缀已预留
dotnet add package nanoFramework.Iot.Device.Mpu6886 --version 1.2.613
NuGet\Install-Package nanoFramework.Iot.Device.Mpu6886 -Version 1.2.613
<PackageReference Include="nanoFramework.Iot.Device.Mpu6886" Version="1.2.613" />
paket add nanoFramework.Iot.Device.Mpu6886 --version 1.2.613
#r "nuget: nanoFramework.Iot.Device.Mpu6886, 1.2.613"
// Install nanoFramework.Iot.Device.Mpu6886 as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Mpu6886&version=1.2.613 // Install nanoFramework.Iot.Device.Mpu6886 as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Mpu6886&version=1.2.613
Mpu6886 - 加速度计和陀螺仪
MPU-6886 是一款 6 轴运动跟踪传感器,它集成了 3 轴陀螺仪和 3 轴加速度计,具有以下特点
- 可编程的陀螺仪灵敏度 ±250 dps,±500 dps,±1000 dps 和 ±2000 dps
- 具有可编程灵敏度的加速度计 ±2g,±4g,±8g 和 ±16g
文档
- 数据表,寄存器描述从第 32 页开始。
- 本传感器可用于例如 M5StackC Plus 开发套件,初始化代码可以在 这里 找到。
用法
创建 Mpu6886
类并传入 I2C 设备。默认情况下,此传感器的 I2C 地址为 0x68
。
// I2C pins need to be configured, for example for pin 22 & 21 for
// the M5StickC Plus. These pins might be different for other boards.
Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK);
Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA);
I2cConnectionSettings settings = new(1, Mpu6886AccelerometerGyroscope.DefaultI2cAddress);
using (Mpu6886AccelerometerGyroscope ag = new(I2cDevice.Create(settings)))
{
Debug.WriteLine("Start calibration ...");
var offset = ag.Calibrate(1000);
Debug.WriteLine($"Calibration done, calculated offsets {offset.X} {offset.Y} {offset.Y}");
Debug.WriteLine($"Internal temperature: {ag.GetInternalTemperature().DegreesCelsius} C");
while (true)
{
var acc = ag.GetAccelerometer();
var gyr = ag.GetGyroscope();
Debug.WriteLine($"Accelerometer data x:{acc.X} y:{acc.Y} z:{acc.Z}");
Debug.WriteLine($"Gyroscope data x:{gyr.X} y:{gyr.Y} z:{gyr.Z}\n");
Thread.Sleep(100);
}
}
示例输出
Start calibration ...
Calibration done, calculated offsets 49.189 -86.21099999 -86.21099999
Internal temperature: 64.21664626 C
Accelerometer data x:-0.041503906 y:0 z:1.056884765
Gyroscope data x:4.94384765 y:-8.60595703 z:-15.68603515
Accelerometer data x:-0.040771484 y:-0.0051269531 z:1.062988281
Gyroscope data x:4.94384765 y:-7.56835937 z:-15.014648437
Accelerometer data x:-0.046630859 y:-0.0068359375 z:1.055175781
Gyroscope data x:3.60107421 y:-7.62939453 z:-15.1977539
Accelerometer data x:-0.049560546 y:-0 z:1.061279296
Gyroscope data x:4.39453125 y:-7.32421875 z:-14.28222656
请参阅 示例 了解完整的示例应用程序。
校准
可以使用Calibrate
函数进行陀螺仪校准。通过iterations
参数,您可以指定从传感器读取多少个值来计算平均值(1000次迭代似乎是不错的数字)。在校准过程中,您需要保持传感器静止并处于固定位置(例如,在桌面上平放)。Calibrate
函数将值写入传感器的对应补偿寄存器,读取值时将自动进行纠正。
Calibrate
方法的返回值给出一个包含3个(对应于X、Y和Z轴)计算补偿值的向量。
var offset = ag.Calibrate(1000);
Debug.WriteLine($"Calibration done, calculated offsets {offset.X} {offset.Y} {offset.Y}");
可以使用SetGyroscopeOffset
函数直接写入补偿寄存器。当您创建自己的自定义校准方法或从持久化数据存储或内存位置检索现有校准数据时,可能会这样做。
⚠ 当设备重新启动时,偏移寄存器将被清除。因此,如果您没有自己持久化校准数据,则必须在每次设备启动时运行校准方法。
睡眠模式
可以通过调用Sleep
函数将传感器置于睡眠模式。之后应调用WakeUp
函数。
设置比例
对于陀螺仪和加速度计,您都可以使用AccelerometerScale
和GyroscopeScale
属性设置所需的标度。
// Set the scale of the accelerometer to 2G
ag.AccelerometerScale = AccelerometerScale.Scale2G;
设置启用轴
默认情况下,启用所有陀螺仪和加速度计轴。如果您希望明确指定应启用哪些轴,则可以这样做。在这种情况下,其他轴将被禁用。当禁用轴时,仍然可以读取该轴的数据,但值将不再改变。
// Enable only the X axis of the gyroscope and accelerometer
ag.EnabledAxes = EnabledAxis.GyroscopeX | EnabledAxis.AccelerometerX;
未实现的功能
以下功能在MPU6886中已启用但在此驱动器中尚未实现:
- 寄存器
0x05
至0x0b
:低噪声至低功耗偏移 - 寄存器
0x0d
至0x0F
:自检 - 寄存器
0x1a
:FIFO模式,DLPF(数字低通滤波器) - 寄存器
0x1d
位0至3:DLPF - 寄存器
0x1e
位4至6:低功耗模式下平均滤波器 - 寄存器
0x20
至0x22
:唤醒运动阈值 - 寄存器
0x36
:fsync中断状态 - 寄存器
0x37
:INT/DRDY引脚配置 - 寄存器
0x39
和0x3a
:FIFO水印中断 - 寄存器
0x60
和0x61
:FIFO水印中断 - 寄存器
0x68
:信号路径复位 - 寄存器
0x69
:加速度计智能控制
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET Framework | net是兼容的。 |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.System.Buffers.Binary.BinaryPrimitives (>= 1.2.586)
- nanoFramework.System.Device.I2c (>= 1.1.16)
- nanoFramework.System.Device.Model (>= 1.2.586)
- nanoFramework.System.Math (>= 1.5.43)
- nanoFramework.System.Numerics (>= 1.2.586)
- UnitsNet.nanoFramework.Temperature (>= 5.56.0)
NuGet包 (7)
显示依赖nanoFramework.Iot.Device.Mpu6886的前5个NuGet包
包 | 下载 |
---|---|
nanoFramework.M5Core2 此包包含用于.NET nanoFramework C#项目的nanoFramework.M5Core2组件。 |
|
nanoFramework.M5StickC 此包包含用于.NET nanoFramework C#项目的nanoFramework.M5StickC组件。 |
|
nanoFramework.M5Core 此包包含用于.NET nanoFramework C#项目的nanoFramework.M5Core组件。 |
|
nanoFramework.M5StickCPlus 此包包含用于.NET nanoFramework C#项目的nanoFramework.M5StickCPlus组件。 |
|
nanoFramework.AtomMatrix 此包包含用于.NET nanoFramework C#项目的nanoFramework.AtomMatrix组件。 |
GitHub仓库 (1)
显示最热门的1个依赖nanoFramework.Iot.Device.Mpu6886的GitHub仓库
仓库 | Stars |
---|---|
nanoframework/nanoFramework.IoT.Device
📦 此仓库包含各种传感器、芯片、显示屏、帽子和服务器的.NET nanoFramework实现
|
版本 | 下载 | 最后更新 |
---|---|---|
1.2.613 | 78 | 8/9/2024 |
1.2.601 | 164 | 7/26/2024 |
1.2.590 | 359 | 7/17/2024 |
1.2.573 | 653 | 6/19/2024 |
1.2.570 | 81 | 6/14/2024 |
1.2.536 | 989 | 4/15/2024 |
1.2.514 | 659 | 3/22/2024 |
1.2.494 | 415 | 2/28/2024 |
1.2.478 | 383 | 1/26/2024 |
1.2.462 | 506 | 1/5/2024 |
1.2.458 | 202 | 12/20/2023 |
1.2.436 | 717 | 11/10/2023 |
1.2.416 | 437 | 11/8/2023 |
1.2.403 | 568 | 10/6/2023 |
1.2.396 | 390 | 9/27/2023 |
1.2.384 | 418 | 9/6/2023 |
1.2.378 | 630 | 8/16/2023 |
1.2.369 | 574 | 8/2/2023 |
1.2.363 | 369 | 7/28/2023 |
1.2.357 | 427 | 7/19/2023 |
1.2.354 | 366 | 7/14/2023 |
1.2.345 | 676 | 6/21/2023 |
1.2.341 | 434 | 6/14/2023 |
1.2.337 | 458 | 6/7/2023 |
1.2.335 | 161 | 6/2/2023 |
1.2.329 | 634 | 5/26/2023 |
1.2.313 | 811 | 5/12/2023 |
1.2.302 | 549 | 5/10/2023 |
1.2.297 | 566 | 5/3/2023 |
1.2.273 | 2,632 | 3/17/2023 |
1.2.267 | 1,445 | 3/10/2023 |
1.2.263 | 1,158 | 3/8/2023 |
1.2.259 | 1,236 | 2/27/2023 |
1.2.256 | 985 | 2/24/2023 |
1.2.253 | 1,021 | 2/22/2023 |
1.2.222 | 2,746 | 1/9/2023 |
1.2.217 | 2,092 | 1/6/2023 |
1.2.212 | 2,071 | 1/5/2023 |
1.2.208 | 325 | 1/3/2023 |
1.2.203 | 1,534 | 12/28/2022 |
1.2.159 | 1,787 | 11/14/2022 |
1.2.153 | 4,113 | 11/5/2022 |
1.2.141 | 5,571 | 10/25/2022 |
1.2.128 | 488 | 10/22/2022 |
1.2.87 | 15,883 | 9/15/2022 |
1.2.63 | 5,170 | 9/3/2022 |
1.2.47 | 2,178 | 8/15/2022 |
1.2.40 | 2,402 | 8/6/2022 |
1.2.38 | 2,097 | 8/5/2022 |
1.2.28 | 6,717 | 8/1/2022 |
1.2.13 | 5,160 | 7/24/2022 |
1.2.10 | 2,079 | 7/23/2022 |
1.1.142.3202 | 5,295 | 7/7/2022 |
1.1.133.52556 | 6,960 | 6/30/2022 |
1.1.121.35854 | 5,780 | 6/26/2022 |
1.1.116.8772 | 3,702 | 6/24/2022 |
1.1.113.2032 | 431 | 6/23/2022 |
1.1.102.51394 | 3,551 | 6/15/2022 |
1.1.99.36719 | 2,005 | 6/14/2022 |
1.1.97.17326 | 2,369 | 6/13/2022 |
1.1.92.53000 | 2,186 | 6/8/2022 |
1.1.72.29765 | 9,901 | 5/31/2022 |
1.1.64.21380 | 5,774 | 5/26/2022 |
1.1.54.28879 | 5,113 | 5/23/2022 |
1.1.40 | 7,119 | 5/5/2022 |
1.1.3 | 23,779 | 4/15/2022 |
1.1.1 | 448 | 4/14/2022 |
1.0.303 | 2,211 | 4/12/2022 |
1.0.302 | 7,842 | 3/31/2022 |
1.0.300 | 473 | 3/31/2022 |
1.0.288-preview.114 | 161 | 3/25/2022 |
1.0.288-preview.113 | 121 | 3/25/2022 |
1.0.288-preview.106 | 143 | 3/23/2022 |
1.0.288-preview.104 | 112 | 3/22/2022 |
1.0.288-preview.103 | 115 | 3/21/2022 |
1.0.288-preview.100 | 130 | 3/19/2022 |
1.0.288-preview.99 | 138 | 3/18/2022 |
1.0.288-preview.98 | 120 | 3/18/2022 |
1.0.288-preview.95 | 159 | 3/15/2022 |
1.0.288-preview.93 | 127 | 3/15/2022 |
1.0.288-preview.86 | 182 | 3/8/2022 |
1.0.288-preview.77 | 162 | 2/27/2022 |
1.0.288-preview.75 | 125 | 2/26/2022 |
1.0.288-preview.65 | 150 | 2/18/2022 |
1.0.288-preview.63 | 134 | 2/16/2022 |
1.0.288-preview.61 | 136 | 2/12/2022 |
1.0.288-preview.58 | 128 | 2/10/2022 |
1.0.288-preview.53 | 126 | 2/9/2022 |
1.0.288-preview.50 | 148 | 2/5/2022 |
1.0.288-preview.48 | 151 | 2/4/2022 |
1.0.288-preview.41 | 153 | 1/31/2022 |
1.0.288-preview.29 | 201 | 1/28/2022 |
1.0.288-preview.22 | 188 | 1/27/2022 |
1.0.288-preview.20 | 146 | 1/27/2022 |
1.0.288-preview.18 | 152 | 1/27/2022 |
1.0.288-preview.5 | 155 | 1/24/2022 |
1.0.272 | 577 | 1/10/2022 |
1.0.260 | 1,063 | 12/10/2021 |
1.0.259 | 332 | 12/9/2021 |
1.0.258 | 313 | 12/7/2021 |
1.0.224 | 461 | 10/22/2021 |
1.0.218 | 425 | 10/18/2021 |
1.0.191 | 336 | 9/29/2021 |
1.0.172 | 346 | 9/20/2021 |