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                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="nanoFramework.Iot.Device.Mpu6886" Version="1.2.613" />                
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中以引用该包。
paket add nanoFramework.Iot.Device.Mpu6886 --version 1.2.613                
#r "nuget: nanoFramework.Iot.Device.Mpu6886, 1.2.613"                
#r 指令可用于 F# Interactive 和多语言笔记本。请将此内容复制到交互式工具或脚本的源代码中以引用该包。
// 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

文档

用法

创建 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函数。

设置比例

对于陀螺仪和加速度计,您都可以使用AccelerometerScaleGyroscopeScale属性设置所需的标度。

// 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中已启用但在此驱动器中尚未实现:

  • 寄存器0x050x0b:低噪声至低功耗偏移
  • 寄存器0x0d0x0F:自检
  • 寄存器0x1a:FIFO模式,DLPF(数字低通滤波器)
  • 寄存器0x1d位0至3:DLPF
  • 寄存器0x1e位4至6:低功耗模式下平均滤波器
  • 寄存器0x200x22:唤醒运动阈值
  • 寄存器0x36:fsync中断状态
  • 寄存器0x37:INT/DRDY引脚配置
  • 寄存器0x390x3a:FIFO水印中断
  • 寄存器0x600x61:FIFO水印中断
  • 寄存器0x68:信号路径复位
  • 寄存器0x69:加速度计智能控制
产品 兼容和额外的计算目标框架版本。
.NET Framework net是兼容的。
兼容目标框架(s)
包含的目标框架(s)(在包中)
更多关于目标框架.NET Standard的信息。

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