主要内容

lsm303c

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

描述

lsm303c对象通过连接硬件I2C总线的LSM303C传感器读取线性加速度、磁场强度和温度。LSM303C是一个惯性测量单元(IMU),用于读取所有三个维度的加速度和磁场。LSM303C还具有嵌入式温度传感器。将LSM303C传感器连接到硬件上的I2C引脚上。你可以在MATLAB中读取传感器的数据®使用对象的功能

创建

描述

imu= lsm303c (一个创建具有默认属性值的传感器对象。

例子:imu = lsm303c(一个);

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

例子:imu = lsm303c(a, 'Bus', 1);

输入参数

全部展开

到指定为对象的硬件的连接。

例子:imu = lsm303c (a)在表示为对象的硬件上创建与LSM303C传感器的连接,一个

属性

全部展开

请注意

属性还可以作为名称-值对参数在创建lsm303c对象。

I2C总线号,指定为0或1。默认值为0。

数据类型:

请注意

的属性SampleRateSamplesPerReadReadModeOutputFormatTimeFormatSamplesAvailable,SamplesRead只能与传感器融合和跟踪工具箱™和导航工具箱™一起使用。可以在创建传感器对象时设置这些属性。

除了TimeFormat,所有其他属性都是不可调优的,这意味着一旦对象被锁定,就不能更改它们的值。对象在调用功能,释放函数打开它们。如果属性是可调的,则可以随时更改其值。

从传感器读取数据的速率,以采样/秒为单位。

数据类型:

方法的一次执行中从传感器读取的样本数函数。

数据类型:

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

  • 最新的- - - - - -

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

    下图展示了如何返回最新的数据样本,假设S1是缓冲区中存储的第一个传感器数据,S2是第二个数据,以此类推,Sn是缓冲区中存储的最后一个数据,并且SamplesPerRead属性在创建传感器对象时设置为3。

  • 最古老的- - - - - -

    提供缓冲区中可用的最古老的数据示例。在这种情况下,不会丢弃任何数据样本。例如,如果SamplesPerRead= 3时,在第一次读取时返回前三个数据样本,在第二次读取时返回后三个数据样本,以此类推。

    下图展示了如何返回最老的数据样本,假设S1是缓冲区中存储的第一个传感器数据,S2是第二个数据,以此类推,Sn是缓冲区中存储的最后一个数据SamplesPerRead属性在创建传感器对象时设置为3。

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

此属性是只读的。

Samplesread属性输出到目前为止通过执行所读取的样例的值函数。Samplesread被设置为0,当对象被创建时,或者当释放对象。

数据类型:

此属性是只读的。

主机缓冲区中可用的样本。从传感器读取的数据存储在MATLAB缓冲器中。SamplesAvailable属性显示的数量SamplesAvailable在这个主机缓冲区中。当你释放这个物体时,SamplesAvailable设置为0。当ReadMode的值设置为最新的SamplesAvailable总是0。

数据类型:

方法返回的数据的输出格式函数。

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

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

  • 加速度- n × 3数组,单位为m/s2

  • 磁场- n × 3排列,以μ T为单位

  • 温度- n × 1数组,单位为摄氏度

OutputFormat被设置为矩阵,数据以加速度、磁场、温度和时间戳矩阵的形式返回。传感器读数的单位和尺寸与时间表格式。

N是每次读取的样本数SamplesPerRead.每个字段的三列表示x、y和z轴的测量值。

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

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

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

  • 持续时间—以秒为单位显示传感器对象锁定后经过的时间。的第一次调用时,传感器对象被锁定函数在对象创建之后或执行释放函数。

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

对象的功能

readAcceleration 从传感器读取一个加速度样本
readMagneticField 从传感器读取一个磁场样本
readTemperature 从传感器读取一个温度样本
使用。以指定的速率读取实时传感器数据传感器融合和跟踪工具箱导航的工具箱
释放 释放传感器对象
冲洗 刷新主机缓冲区
信息 读取传感器相关信息

例子

创建连接到LSM303C传感器

创建一个arduino对象的I2C库。

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

创建传感器对象。

imu = lsm303c (a)
imu = lsm303c with properties: I2CAddress: 29 ("0x1D"): 30 ("0x1E") Bus: 0

创建LSM303C传感器连接传感器融合和跟踪工具箱导航的工具箱

创建具有仅在传感器融合和跟踪工具箱或导航工具箱中可用属性的传感器对象。

清晰的imu;imu = lsm303c (,“SampleRate”, 110,“SamplesPerRead”3,“ReadMode”“最新”
imu = lsm303c with properties: I2CAddress: 107 ("0x6B") Bus: 0 SCLPin: "A5" sdram: "A4" SampleRate: 110(采样/秒)SamplesPerRead: 3 ReadMode: "latest" SamplesRead: 0 SamplesAvailable: 0显示所有属性所有函数

更多关于

全部展开

介绍了R2021a