主要内容

bno055

连接到BNO055传感器Arduino硬件I2C总线

自从R2020a

描述

bno055对象读取加速度、角速度、磁场,在指定的模式和方向的BNO055惯性测量单元(IMU)传感器连接到Arduino®硬件。BNO055是9自由度(自由度)的惯性测量单元(IMU)用于读取加速度、角速度,在所有三维磁场。

bno0055对象代表了一个连接到设备的Arduino硬件I2C总线。附加一个BNO055传感器I2C Arduino硬件上的别针。你可以在MATLAB从传感器读取数据®使用对象的功能。

在你使用bno055对象,创建一个arduino对象与I2C图书馆。有关更多信息,请参见连接到Arduino硬件

创建

描述

imu= bno055 (一个)创建一个BNO055传感器对象使用默认属性值。对象表示连接的传感器Arduino硬件,一个

imu= bno055 (一个,名称,值)创建一个BNO055传感器使用一个或多个对象的属性名称,值对参数。

输入参数

全部展开

Arduino硬件创建连接使用arduino。确保arduino创建对象的I2C的图书馆。

例子:imu = bno055 (a)创建一个连接到BNO055 Arduino对象上的传感器,一个

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

配置在NDOF BNO055传感器输出传感器数据或AMG模式。

当您设置操作模式ndof传感器在NDOF运营。在这种模式下你可以阅读的校准值加速度,角速度和磁场与欧拉角,和传感器的校准状态。

当您设置操作模式amg传感器在加速度计磁强计陀螺仪(AMG)模式。在这种模式下你可以阅读原始的加速度值,角速度和磁场。

例子:imu = bno055 (' OperatingMode ', ' ndof ');

数据类型:字符串

指定的I2C地址传感器当多个I2C BNO055设备预期的地址连接到相同的硬件。BNO055可以有两个I2C地址根据逻辑电平的销COM3传感器。

销的名字 销状态 I2C地址
COM3 0 x28
0 x29

您可以指定I2C地址:

  • 十六进制、十进制、二进制格式

  • 串十六进制值的I2C地址

  • 字符的十六进制值向量I2C地址

例子:imu = bno055 (' I2CAddress ', ' 0 x28 ')

如果没有指定,那么将创建对象和一个可用的I2C表中的设备地址。I2C的设备将由使用预期的地址scanI2CBus

I2C总线的数字,指定为0或1。

例子:imu = bno055(“公共汽车”,1)

数据类型:

属性

全部展开

请注意

除了TimeFormatnon-tunable,所有其他的属性,这意味着你无法改变他们的价值观一旦被锁定的对象。当你调用对象锁功能,释放函数打开它们。如果属性是可调的,你可以在任何时候改变它的值。

样品/ s的速度从传感器读取的数据。在ndof模式下,一个内部融合算法配置的带宽和ODR传感器数据表的值。因此SampleRate是固定的100。然而,在amg模式SampleRate可以不同。

可调:没有

数据类型:

从传感器读取的数量的样品在一个单一的执行函数。

可调:没有

数据类型:

指定是否返回最新或最古老的数据样本。取决于样品的数量SamplesPerRead价值。从传感器读取的数据是存储在MATLAB缓冲区。

  • 最新的- - - - - -

    提供最新的数据样本中可用的缓冲区。以前所有样本数据的缓冲区被丢弃。例如,如果SamplesPerRead= 3,最新的三个数据样本返回读取的传感器。

    下图说明了最新数据样本返回假设S1是第一个传感器数据存储在缓冲区,S2是第二个数据等等和Sn是最后数据存储在缓冲区和SamplesPerRead在传感器对象创建属性设置为3。

  • 最古老的- - - - - -

    最古老的样本数据提供了可用的缓冲区。在这种情况下,不丢弃的数据样本。例如,如果SamplesPerRead= 3,前三个样本数据读取返回第一读接下来的三个数据样本返回第二阅读,等等。

    下图说明了古老的数据样本返回假设S1是第一个传感器数据存储在缓冲区,S2是第二个数据等等和Sn是最后数据存储在缓冲区和SamplesPerRead在传感器对象创建属性设置为3。

可调:没有

数据类型:特征向量|字符串

这个属性是只读的。

读取第一个样品。当你释放的对象,SamplesRead设置为0。

数据类型:

这个属性是只读的。

样品可以在主机缓冲区。从传感器读取的数据是存储在MATLAB缓冲区。SamplesAvailable属性显示的数量SamplesAvailable在这个主机缓冲区。当你释放对象,SamplesAvailable设置为0。当ReadMode传感器的设置最新的,SamplesAvailable永远是0。

数据类型:

设置返回的数据的输出格式执行函数。

OutputFormat被设置为时间表,返回的数据有以下字段:

  • 时间-时间戳datetime持续时间格式

  • 加速度——N-by-3数组单元的m / s2

  • AngularVelocity - N-by-3阵列在单位的rad / s

  • 磁场——在单位µT N-by-3数组(microtesla)

  • 取向——N-by-3数组以弧度为单位

OutputFormat被设置为矩阵,数据返回矩阵的加速度、角速度,磁场和时间戳。传感器读数的单位是一样的时间表格式。每个矩阵的大小是N-by-3。

N是每阅读指定的样本的数量SamplesPerRead。每个字段代表测量的三列在x, y和z轴。

可调:没有

数据类型:特征向量|字符串

设置时间时显示的格式读取传感器数据。

  • datetime——显示的日期和时间数据读取。

  • 持续时间——显示时间在秒后传感器对象是锁着的。传感器对象锁定在第一次调用函数对象创建后或之后执行的释放函数。

可调:是的

数据类型:特征向量|字符串

使用

创建连接BNO055 NDOF模式

创建一个arduino对象,包括I2C图书馆。

一个= arduino (“COM4为”,“Uno”,“库”,“I2C”);

创建传感器对象。

imu = bno055 (,“OperatingMode”,“ndof”)
imu = bno055属性:OperatingMode:“ndof”I2CAddress: 40 (“0 x28”)总线:0 SCLPin:“A5”SDAPin:“A4”SampleRate: 100(样本/ s) SamplesPerRead: 10 ReadMode:“最新”SamplesRead: 0 SamplesAvailable: 0显示所有属性,函数

创建传感器对象与附加属性指定为名称-值对。

清晰的imu;imu = bno055 (,“OperatingMode”,“ndof”,“SamplesPerRead”5,“ReadMode”,“古老的”)
imu = bno055属性:OperatingMode:“ndof”I2CAddress: 40 (“0 x28”)总线:0 SCLPin:“A5”SDAPin:“A4”SampleRate: 100(样本/ s) SamplesPerRead: 5 ReadMode:“古老”SamplesRead: 0 SamplesAvailable: 0显示所有属性,函数

创建连接BNO055 AMG模式

创建一个arduino对象,包括I2C图书馆。

一个= arduino (“COM4为”,“Uno”,“库”,“I2C”);

创建一个传感器对象。

imu = bno055 (,“OperatingMode”,amg的)
imu = bno055属性:OperatingMode:“amg”I2CAddress: 40 (“0 x28”)总线:0 SCLPin:“A5”SDAPin:“A4”SampleRate: 100(样本/ s) SamplesPerRead: 10 ReadMode:“最新”SamplesRead: 0 SamplesAvailable: 0显示所有属性,函数

创建传感器对象与附加属性指定为名称-值对。

清晰的imu;imu = bno055 (,“OperatingMode”,amg的,“SampleRate”,50岁,“SamplesPerRead”5,“ReadMode”,“古老的”)
imu = bno055属性:OperatingMode:“amg”I2CAddress: 40 (“0 x28”)总线:0 SCLPin:“A5”SDAPin:“A4”SampleRate: 50(样本/ s) SamplesPerRead: 5 ReadMode:“古老”SamplesRead: 0 SamplesAvailable: 0显示所有属性,函数

对象的功能

使用这些函数来读取传感器数据:

信息 读取输出数据速率和带宽设置BNO055传感器
读取加速度、角速度磁场,时间,泛滥BNO055传感器的数据
readAcceleration 从BNO055传感器读取加速度的一个示例
readAngularVelocity 从BNO055传感器读取角速度的一个示例
readCalibrationStatus 读BNO055传感器的校准状态
readMagneticField 读一个样本来自BNO055传感器的磁场强度
readOrientation 阅读取向BNO055传感器的数据
释放 释放BNO055对象
冲洗 冲洗主机缓冲BNO055传感器

更多关于

全部展开

版本历史

介绍了R2020a

另请参阅

||