主要内容

测量LSM9DS1传感器输出使用纳米33 BLE意义

这个例子展示了如何使用MATLAB®支持包Arduino®硬件连接一种Arduino金宝app纳米33 BLE董事会通过蓝牙与LSM9DS1®。

传感器连接到Arduino董事会在一个I2C接口。

您可以使用一台电脑从传感器读取数据,支持蓝牙4.0或更高版本。金宝app

概述

lsm9ds1传感器是一个九自由度(自由度)的惯性测量单元(IMU)用于读取加速度、角速度,在所有三维磁场。

传感器对象表示一个设备连接Arduino硬件I2C总线。LSM9DS1传感器是目前纳米33 BLE董事会。你可以读取数据从传感器在MATLAB使用对象的功能。

您还可以使用其他传感器hts221,lps22hb,或apds9960Arduino董事会MATLAB在蓝牙连接。

Arduino董事会MATLAB /蓝牙,连接类型arduinosetup在MATLAB命令行并设置蓝牙连接类型。选择董事会和港口后,Arduino上传服务器窗口中,选择I2C。完整的工作流程,请参阅通过蓝牙连接

连接到传感器和读取传感器输出

创建一个Arduino对象。

一个= arduino
= arduino的属性:地址:“DEBD293F7CDC”的名字:“LSMOverBLE”连接:1板:“Nano33BLE”AvailablePins: {‘D0-D13’,‘A0-A7} AvailableDigitalPins: {‘D0-D13’,‘A0-A7} AvailablePWMPins: {“D0-D13”} AvailableAnalogPins: {‘A0-A3’,‘A6-A7} AvailableI2CBusIDs: [0,1] AvailableSerialPortIDs:[1]库:{I2C, SPI,“伺服”}显示所有属性

创建传感器对象。LSM9DS1传感器连接到I2C总线1Nano 33 BLE董事会。

lsmObj = lsm9ds1 (,“公共汽车”,1)
lsmObj = lsm9ds1属性:I2CAddress: 107 (“0 x6b”): 30 (“0 x1e”)总线:1 SCLPin:“SCL1”SDAPin:“SDA1”显示所有属性所有功能

读取加速度。

加速度= readAcceleration (lsmObj)
加速度=1×32.6315 -7.8341 5.6433

这个函数返回一个加速度数据的示例。有关更多信息,请参见readAcceleration

读角速度。

angularVelocity = readAngularVelocity (lsmObj)
angularVelocity =1×30.0053 0.0057 0.0078

这个函数返回一个角速度数据的示例。有关更多信息,请参见readAngularVelocity

读磁场。

磁场= readMagneticField (lsmObj)
磁场=1×326.1100 27.0620 14.0140

这个函数返回一个磁场数据的示例。有关更多信息,请参见readMagneticField

清理

一旦不再需要传感器连接,明确相关的对象。

清晰的lsmObj一个