主要内容

apds9960

接通APDS9960传感器Arduino硬件采用I2C总线

描述

apds9960对象读取手势、接近度,并使用连接到Arduino I2C总线的APDS9960传感器测量清光和颜色(RGB)值®硬件。你可以在MATLAB中读取传感器的数据®使用对象的功能

创建

描述

apds9960obj= apds9960 (arduinoobj创建带有默认属性值的传感器对象。

apds9960obj= apds9960 (arduinoobj名称,值使用一个或多个名称-值对参数创建具有属性的传感器对象。

输入参数

全部展开

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

例子:arduinoobj = arduino('COM4', 'Nano33BLE', 'Libraries', 'APDS9960')创建到APDS9960传感器的连接。

名称-值参数

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

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

比特率设置从传感器接收数据的速率,范围为100000400000

例子:apds9960obj = apds9960(arduinoobj,'BitRate',100000)

数据类型:

I2C总线号,指定为01.默认值为0适用于除Nano 33 BLE Sense以外的所有Arduino板。

例子:apds9960obj = apds9960(arduinoobj, '总线',1)在硬件的I2C总线1上创建传感器对象。

数据类型:

属性

全部展开

此属性是只读的。

节点的I2C设备地址APDS9960传感器,指定为非负整数。

例子:

> > apds9960obj。I2CAddressans = 57

数据类型:

此属性是只读的。

I2C总线号,指定为01.默认值为0

例子:

> > apds9960obj。总线ans = 0

数据类型:

此属性是只读的。

I2C中心产生的串行时钟信号的串行时钟引脚,作为字符矢量返回。

例子:

> > apds9960obj。SCLPinans = 'A5'

数据类型:字符

此属性是只读的。

一种用于串行数据信号的串行数据引脚,作为字符向量返回。

例子:

> > apds9960obj。SDAPinans = 'A4'

数据类型:字符

此属性是只读的。

为I2C通信设置的总线速度,指定为以比特/秒为单位的正整数。

例子:

> > apds9960obj。比特率ans = 100000

数据类型:

您可以访问传感器配置的单个传感器属性,如手势、接近度和颜色。

接近

为接近数据值选择增益。

例子:

> > apds9960obj.Proximity。增益= 4;

在接近脉冲期间设置LED脉冲宽度。

例子:

> > apds9960obj.Proximity。PulseWidth = 8;

指定在LED上产生的脉冲数。例如,如果您将脉冲计数值设置为8时,LED产生8脉冲。

例子:

> > apds9960obj.Proximity。PulseCount = 8;

红外发射强度可选择使用四个,工厂校准,当前水平。在接近模式下设置LED驱动强度。

例子:

> > apds9960obj.Proximity。LEDCurrent = 25;

手势

为手势数据值选择增益。

例子:

> > apds9960obj.Gesture。增益= 4;

设置手势脉冲期间的LED脉冲宽度。

例子:

> > apds9960obj.Gesture。PulseWidth = 8;

指定在LED上产生的脉冲数。例如,如果您将脉冲计数值设置为8时,LED产生8脉冲。

例子:

> > apds9960obj.Gesture。PulseCount = 8;

红外发射强度是可选择使用四个,工厂校准,当前水平。在手势模式中设置LED驱动强度。

例子:

> > apds9960obj.Gesture。LEDCurrent = 25;

颜色

选择增益为颜色数据值。

例子:

> > apds9960obj.Color。增益= 4;

距离和手势

如果需要更高的强度,则使用LED升压电流将电流提升到一个额外的强度300%.改变了LED升压电流在接近配置中,改变手势配置的值,反之亦然。

例子:

> > apds9960obj.Gesture。LEDBoost = 100;

对象的功能

readColor 通过APDS9960传感器读取清光和RGB组件
readProximity 从APDS9960传感器读取接近度
readGesture 通过APDS9960传感器读取手势

例子

创建连接到APDS9960传感器

创建一个arduino对象。

arduino = arduino(“COM4为”“Nano33BLE”“库”“APDS9960”
arduino与属性:端口:'COM4'板:'Nano33BLE' AvailablePins: {'D0-D13', 'A0-A7'} AvailableDigitalPins: {'D0-D13'} AvailablePWMPins: {'D0-D13'} AvailableAnalogPins: {'A0-A3', 'A6-A7'} AvailableI2CBusIDs: [0,1] AvailableSerialPortIDs: [1] Libraries: {'APDS9960', 'I2C'}显示所有属性

创建传感器对象。

Apds9960obj = apds9960(arduinoobj)
APDS9960属性:I2CAddress: 57 ('0x39')总线:1 SCLPin: 'SCL1' SDAPin: 'SDA1' BitRate: 100000 (bits/s)显示所有属性

使用名称-值对参数创建APDS9960传感器连接

创建带有总线号的传感器对象1比特率400000

清晰的apds9960obj;Apds9960obj = apds9960(arduinoobj,“公共汽车”, 1“比特率”, 400000)
APDS9960属性:I2CAddress: 57 ('0x39')总线:1 SCLPin: 'SCL1' SDAPin: 'SDA1' BitRate: 400000 (bits/s)显示所有属性

更改APDS9960传感器配置

创建带有总线号的传感器对象1比特率400000

清晰的apds9960obj;Apds9960obj = apds9960(arduinoobj,“公共汽车”, 1“比特率”, 100000)
APDS9960带属性:I2CAddress: 57 ('0x39')总线:1 SCLPin: 'SCL1' SDAPin: 'SDA1' BitRate: 100000 (bits/s)手势:[1x1 GestureConfiguration]接近:[1x1 ProximityConfiguration]颜色:[1x1 ColorConfiguration]

访问手势属性。

apds9960obj。手势
ans =手势配置属性:增益:4 LEDCurrent: 100 LEDBoost: 100 PulseCount: 10 PulseWidth: 8

将手势增益值更改为1并显示手势属性。

传感器配置改变手势增益设置apds9960obj.Gesture。增益= 1;
%显示手势apds9960obj。手势
ans =手势配置属性:增益:1 LEDCurrent: 50 LEDBoost: 100 PulseCount: 50 PulseWidth: 8

版本历史

R2021b中引入

Baidu
map