主要内容

arduino

连接到arduino.硬件

描述

一个arduino对象表示与Arduino的连接®硬件。使用arduino功能实现Arduino硬件与MATLAB的连接®。创建对象后,您可以使用对象函数直接从MATLAB编程硬件并使用自定义附加库。

创建

描述

例子

一种= Arduino.重新创建与Arduino硬件的最后一次成功的连接。如果没有最后一次成功的连接或该连接失败,它会通过USB创建与连接到主机的第一个官方Arduino硬件的连接。

例子

一种= arduino (港口董事会在指定的串口上创建到Arduino硬件的连接。串口可以是USB串口,也可以是adaffruit串口®EZ-Link蓝牙®串口,这取决于您如何配置Arduino硬件。

例子

一种= arduino (___名称,值创建与一个或多个指定的其他选项的连接名称,值对参数。

例子

一种= arduino (btaddress.董事会使用HC-05或HC-06设备的蓝牙地址创建与Arduino硬件的连接。

例子

一种= arduino (Btname.董事会使用HC-05或HC-06蓝牙设备的名称创建到Arduino硬件的连接。

例子

一种= arduino (IP地址董事会在指定的IP地址创建与WiFi支持的Arduino板的连接。万博1manbetx

例子

一种= arduino (IP地址董事会tcpipport.通过指定的IP地址和TCP/IP远程端口连接支持WiFi的Ardu万博1manbetxino板。

输入参数

全部展开

Arduino连接的硬件端口,指定为字符向量或字符串数组。端口可以​​是USB串行端口或ADAFRuit EZ-Link蓝牙串行端口,具体取决于您对Arduino硬件的方式。说明USB串口标识请参见在Windows, Mac和Linux上找到Arduino端口。要识别蓝牙设备地址或串行端口,请参阅配对蓝牙设备和提取蓝牙设备地址。如果通过USB串行端口或使用板名称连接,则可以自己指定此参数。

例子:a = arduino('com5')

启用Arduino的名称,指定为字符向量或字符串数​​组。必须使用有效的串口,IP地址,蓝牙地址或蓝牙名称指定此参数。看万博1manbetx支持董事会所有支持的板。万博1manbetx

例子:a = arduino('com5','uno')使用端口5创建到Arduino Uno板的连接。

HC-05或HC-06设备的蓝牙地址,指定为表单的字符向量或字符串数组BTSPP://后跟12位16进制的地址值。确认蓝牙设备地址,请参见配对蓝牙设备和提取蓝牙设备地址

例子:a = arduino('btspp:// 98d331fb3b77','uno')创建蓝牙连接到Arduino Uno板。

设备的蓝牙名称,指定为字符向量或字符串数组。

例子:a = arduino('hc-05','uno')创建一个无线蓝牙连接Arduino Uno板,使用HC-05蓝牙设备。

支持WiFi的Arduino板IP地址,指定为字符向量或字符串数组。万博1manbetx

例子:A = Arduino('192.168.1.15','mkr1000')创建WiFi连接到Arduino MKR1000单板,使用该IP地址192.168.1.15

Arduino板上的TCP/IP端口,指定为数字。

例子:一个= arduino(‘192.168.1.15’,‘MKR1000’,9500)创建一个WiFi连接到Arduino MKR1000板,使用TCP/IP端口在9500。

名称-值对的观点

指定可选的逗号分离对名称,值参数。名称是参数名称和价值是对应的值。名称必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家

笔记

如果您使用无线网络连接Arduino Board,则无法指定名称,值参数。

例子:a = arduino('com3','uno','libraries','i2c')

Arduino库的名称,指定为逗号分隔的对,由“库”一个字符向量或者字符向量的单元数组。默认安装的库扩展了Arduino环境。

笔记

当您第一次连接到Arduino硬件时,使用这些默认库创建Arduino连接{“I2C”“伺服”“SPI”}。但是,如果您与默认值以外的库创建Arduino连接,则您的Arduino连接将仅具有您指定的库,即使在断开连接并重新连接Arduino硬件后,即使在连接和重新连接。

例子:a = arduino('com9','uno','libraries','spi')将环境限制为指定的库。

例子:A = Arduino('com9','uno','libraries','adafruit / motorshieldv2')将环境限制在Adafruit电机屏蔽V2库及其相关性库。

例子:A = Arduino('com9','uno','libraries','shiftregister')限制环境转移寄存器库。

参考电压的类型,指定为内部外部的。在外部的模式,在ISF引脚处施加外部电压。在内部模式,使用Arduino板支撑的内部电压。万博1manbetx

万博1manbetx支持董事会对于Ar万博1manbetxduino板的支持内部电压。

笔记

外部的模式下,必须指定应用在AREF引脚上的外部电压AnalogReference。在内部模式,可以指定单板支持的内部电压。万博1manbetx如果不指定电压内部模式时,使用默认的Arduino板内部参考电压。

例子:a = arduino('COM9','Uno','AnalogReferenceMode','external' 'AnalogReference',1.1)外部设置参考电压为1.1V。

模拟输入的参考电压,指定为双电压。

在使用ISF引脚上使用外部参考电压之前,请确保以下内容:

  • 将外部电压通过5K电阻连接到AREF引脚,以防止损坏电路板。如果analogreferenceMode.内部并且参考电压仍然在ISF引脚外部连接,您将缩短内部参考电压和ISF引脚,从而损坏板。

  • 电压不能小于0V或大于单板支持的最大电压。万博1manbetx

笔记

当您更改模拟参考电压时,输出readVoltage可能不准确。运行readVoltage直到你看到期望值。Arduino Uno和Mega板,参见不正确的readVoltage结果

例子:a = arduino('COM9','Uno','AnalogReferenceMode','external' 'AnalogReference',1.1)外部设置参考电压为1.1V。

如果“ForceBuildOn”没有设置为真正的,Matlab不会重新编程Arduino Board,如果您使用现有Arduino服务器上已上的库匹配的库,则使用现有的Arduino服务器。使用此设置在使用自定义Arduino库时使用不同的源代码更新Arduino服务器。

例子:= arduino(“COM9”、“Uno”,‘库’,‘CustomLibrary’,‘ForceBuildOn’,真的)使用最新的C ++源代码重新编程Arduino BoardCustomLibrary

笔记

如果您指定的库与现有Arduino服务器上的库匹配,MATLAB不会重新编程Arduino板,并使用现有的Arduino服务器。

程序日志和Arduino命令日志,指定为逗号分隔对'Traceon',要么错误的真正的。如果您无法连接到您的Arduino Board,请设置'Traceon'真正的在MATLAB命令窗口中打印arduino IDE的编译和上传错误。你也可以设置'Traceon'真正的打印在Arduino板上执行的每个MATLAB命令Arduino命令。

例子:a = arduino('com9','uno','traceon',true)

笔记

创建I2C时设备对象,并用于串行设备功能, 这使用选项卡完成不受支持。万博1manbetx

信息在通信信道中传输信息的速率。对于Arduino Pro Mini和数字沙箱使用波特率57600的价值。所有其他的板列在查找板名称使用波特率115200的价值。

笔记

确保您使用的Arduino板支持万博1manbetx波特率在创建之前arduino对象的值不是默认值。

例子:= arduino(“COM9”、“Uno”,“波特率”,115200年);

依赖性

用于使用带有导航工具箱™或传感器融合和跟踪工具箱™的多个传感器流式传输数据,设置波特率到921600年。Arduino上的这种变化使MATLAB能够从GPS接收机和IMU传感器获取实时数据。对于其他应用程序使用默认值波特率arduino板。

特性

全部展开

此属性是只读的。

Arduino连接的硬件端口,指定为字符向量或字符串数组。接口可以是USB串口或Adafruit EZ-Link蓝牙蓝牙串口,具体取决于Arduino硬件的配置。创建时指定端口arduino对象。说明USB串口标识请参见在Windows, Mac和Linux上找到Arduino端口。要识别蓝牙串口,请参阅配对蓝牙设备和提取蓝牙设备地址

例子:

>> a.Port ans = 'COM4'

数据类型:字符

此属性是只读的。

启用Arduino的名称,指定为字符向量或字符串数​​组。它是连接到系统的Arduino硬件类型。创建时指定板类型arduino对象。看万博1manbetx支持董事会所有支持的板。万博1manbetx

例子:

>> a.Board ans = 'Uno'

数据类型:字符

此属性是只读的。

在Arduino设备上可用的引脚连接到您的系统,指定为字符向量的单元数组。

例子:

a.AvailablePins ans = 1×18单元阵列列1到12{“D2”}{D3的}{D4的}{“D5”}{D6的}{D7的}{D8的}{D9的}{D10的}{‘这里’}{D12的}{‘D13}列13通过18 {A0的}{“A1”}{A2的}{A3的}{A4的}{A5的}

数据类型:细胞

此属性是只读的。

在Arduino设备上可用的数字引脚连接到您的系统,指定为字符向量的单元数组。

例子:

a.AvailableDigitalPins ans =列1到12{“D2”}{D3的}{D4的}{“D5”}{D6的}{D7的}{D8的}{D9的}{D10的}{‘这里’}{D12的}{‘D13}列13通过18 {A0的}{“A1”}{A2的}{A3的}{A4的}{A5的}

数据类型:细胞

此属性是只读的。

在Arduino设备上可用的PWM引脚连接到您的系统,指定为字符向量的单元数组。

例子:

a.availabledwmpins ans = {'d3'} {'d5'} {'d6'} {'d9'} {'d10'} {'d10'} {'d11'}

数据类型:细胞

此属性是只读的。

在连接到您的系统的Arduino设备上可用的模拟引脚,指定为字符向量的单元格数组。

例子:

a.AvailableAnalogPins ans = 1×6单元阵列{A0的}{“A1”}{A2的}{A3的}{A4的}{A5的}

数据类型:细胞

此属性是只读的。

连接到您的系统的Arduino设备上可用的I2C总线ID。

例子:

a.availablei2cbusids ans = [0]

数据类型:

Arduino设备上可用的串行总线ID连接到您的系统。

笔记

Arduino Mega2560和MegaAdk板有三个串口,而Arduino Leonardo,Micro,MKR1000和MKR1010可提供串行端口。

例子:

a.availableserialportids ans = 1

依赖性

只有使用串行库创建到Arduino硬件的连接时,此属性才有效。

数据类型:

此属性是只读的。

安装了Arduino附加库,下载到您的硬件,指定为字符向量或字符向量阵列。查看可用库listArduinoLibraries指定要使用的附加组件库。

例子:

a.Libraries ans = 1×3 cell array {'I2C'} {'Servo'} {'SPI'}

数据类型:细胞|字符

此属性是只读的。

参考电压的类型,指定为内部外部的。在外部的模式,在ISF引脚处施加外部电压。在内部模式,使用Arduino板支撑的内部电压。万博1manbetx

外部的模式下,必须指定应用在AREF引脚上的外部电压AnalogReference。在内部模式,可以指定单板支持的内部电压。万博1manbetx如果不指定电压内部模式时,使用默认的Arduino板内部参考电压。

例子:

a.analogreferencemode ans ='内部'

此属性是只读的。

模拟输入的参考电压,指定为双电压。

在使用ISF引脚上使用外部参考电压之前,请确保以下内容:

  • 将外部电压通过5K电阻连接到AREF引脚,以防止损坏电路板。如果analogreferenceMode.内部并且参考电压仍然在ISF引脚外部连接,您将缩短内部参考电压,因此损坏电路板。

  • 电压不能小于0V或大于单板支持的最大电压。万博1manbetx

万博1manbetx支持董事会对于Ar万博1manbetxduino板的支持内部电压。

当您更改模拟参考电压时,输出readVoltage可能不准确。运行readVoltage直到你看到期望值。Arduino Uno和Mega板,参见不正确的readVoltage结果

例子:

A.Analogreference ANS = 5.0

万博1manbetx支持董事会

董事会输入参数目前支持这些板:万博1manbetx

Arduino Board. 输入参数 无线网络支万博1manbetx持 万博1manbetx支持的内部电压(V)
Arduino Uno 'uno' 没有 5.0(默认),1.1
Arduino到期 “由于” 没有 3.3(默认)
Arduino超级2560 “Mega2560” 没有 5.0(默认),1.12.56
arduino leonardo 'leonardo' 没有 5.0(默认),2.56
Arduino Mega Adk. 'megaadk' 没有 5.0(默认),1.12.56
Arduino Micro. '微' 没有 5.0(默认),2.56
Arduino MKR1000 “MKR1000” 是的 3.3(默认),1.01.652.23
Arduino MKR WiFi1010 “MKR1010” 是的 3.3(默认),1.01.652.23
Arduino MKR零 'mkrzero' 没有 3.3(默认),1.01.652.23
Arduino 3.1纳米 'nano3' 没有 5.0(默认),1.1
Arduino Nano 33 IoT 'nano33' 是的 3.3(默认),1.01.652.23
Arduino Pro Mini.
  • promini328_3v.

  • promini328_5v.

没有
  • 3.3(默认),1.1

  • 5.0(默认),1.1

Sparkfun数字沙箱 digitalsandbox. 没有 3.3(默认),1.1
arduino nano 33 ble 'nano33ble' 没有 3.3(默认)
Arduino Nano 33 BLE感觉 'nano33ble' 没有 3.3(默认)

对象功能

对象功能设备Shiftregister.rotaryEncoder伺服插件,超声波用于为其各自的外围设备创建对象。其他功能用于与Arduino硬件上的引脚交互。

设备 在I2C总线上连接到设备arduino.硬件
Shiftregister. 连接到移位寄存器arduino.硬件
rotaryEncoder 与正交编码器的连接arduino.硬件
伺服 连接伺服电机arduino.硬件
插件 连接到附加设备arduino.硬件
超声波 连接到超声波传感器arduino.硬件
configurePin arduino.销模式
readDigitalPin 从数字引脚读取数据arduino.硬件
WRITEDIGITALPIN. 将数据写入数字销arduino.硬件
Writepwmvoltage. 在数字管脚上产生具有指定电压的PWM信号
writePWMDutyCycle 在数字引脚上生成具有指定占空比的PWM信号
playTone 使用数字销在压电扬声器上播放音调
readVoltage 从模拟引脚上读取电压arduino.硬件
scani2cbus. 扫描I2C总线arduino.设备地址的硬件

例子

全部折叠

自动检测Arduino Uno。

a = arduino()
A = Arduino具有属性:端口:'COM9'板:'UNO'可用:{'d2-d13','a0-a5'}可用性帖:{'d2-d13','a0-a5'}可录取:{'d3','d5-d6','d9-d11'} availableanalogpins:{'a0-a5'}可用:[0]库:{'adafruit / bno055','i2c'}显示所有属性

在端口9连接Arduino Uno。端口和板名取决于您的配置。

一个= arduino ('com9''uno'
在Uno (COM9)上更新服务器代码。这可能需要几分钟。
a = arduino with properties: Port: 'COM9' Board: 'Uno' AvailablePins: {'D2-D13', 'A0-A5'} AvailableDigitalPins: {'D2-D13', 'A0-A5'} AvailablePWMPins: {'D3', 'D5-D6', 'D9-D11'} AvailableAnalogPins: {'A0-A5'} AvailableI2CBusIDs: [0] Libraries: {'SPI'}显示所有属性

使用蓝牙连接Arduino Uno。仪器控制工具箱软件需要连接到HC-05或HC-06蓝牙模块。

一个= arduino (“btspp: / / 98 d331fb3b77”'uno'
A = Arduino具有属性:DeviceAddress:'BTSPP:// 98D331FB3B77'板:'Uno'可用:{'D2-D13','A0-A5'}可用性:{'D2-D13','A0-A5'}ismoverspwmpins:{'d3','d5-d6','d9-d11'} availableanalogpins:{'a0-a5'}可用:[0]库:{'i2c','servo','spi'}显示所有特性

使用蓝牙连接Arduino Uno。仪器控制工具箱软件需要连接到HC-05或HC-06蓝牙模块。

一个= arduino ('HC-06''uno'
a = arduino with properties: DeviceAddress: 'HC-06' Board: 'Uno' AvailableDigitalPins: {'D2-D13', 'A0-A5'} availablepwpins: {'D3', 'D5-D6', 'D9-D11'} AvailableAnalogPins: {'A0-A5'} AvailableI2CBusIDs: [0] Libraries: {'I2C', 'Servo', 'SPI'}显示所有属性

使用WiFi连接到Arduino MKR1000板。

一个= arduino ('10 .10.10.55'“MKR1000”
A = Arduino具有属性:DeviceAddress:'10 .10.10.55'端口:9500板:'MKR1000'可用:{'D0-D14','A0-A6'}可用性尼泊尔斯:{'D0-D14','A0-A6'}可实现:{'d0-d8','d10','a3-a4'} availableanalogpins:{'a0-a6'}可用:[0] availableerialports:[1]库:{'i2c','spi','序列','伺服'}
一个= arduino ('10 .10.10.55'“MKR1000”,9500)
A = Arduino具有属性:DeviceAddress:'10 .10.10.55'端口:9500板:'MKR1000'可用:{'D0-D14','A0-A6'}可用性尼泊尔斯:{'D0-D14','A0-A6'}可实现:{'d0-d8','d10','a3-a4'} availableanalogpins:{'a0-a6'}可用:[0] availableerialports:[1]库:{'i2c','spi','序列','伺服'}

在端口连接Arduino Uno/dev/tty.usbmodem1421

一个= arduino (“/ dev / tty.usbmodem1421”'uno'
a = Arduino具有属性:端口:'dev / tty.usbmodem1421'板:'uno'可用:{'d2-d13','a0-a5'}可用性:{'d2-d13','a0-a5'}可录取:{'d3','d5-d6','d9-d11'} availableanalogpins:{'a0-a5'}可用:[0]库:{'adafruit / motorshieldv2','i2c','spi','i2c','spi','伺服'}显示所有属性

限制Arduino环境仅使用I2C库。

一个= arduino ('com9''uno'“库”“I2C”
在Uno (COM9)上更新服务器代码。这可能需要几分钟。
a = arduino with properties: Port: 'COM9' Board: 'Uno' AvailablePins: {'D2-D13', 'A0-A5'} AvailableDigitalPins: {'D2-D13', 'A0-A5'} availablepwpins: {'D3', 'D5-D6', 'D9-D11'} AvailableAnalogPins: {'A0-A5'} AvailableI2CBusIDs: [0] Libraries: {'I2C'}显示所有属性

限制Arduino环境仅使用伺服和移位寄存器库。

一个= arduino ('com9''uno'“图书馆”, {“伺服”“ShiftRegister”},“ForceBuildOn”,真的)
在Uno (COM9)上更新服务器代码。这可能需要几分钟。
a = arduino with properties: Port: 'COM9' Board: 'Uno' AvailablePins: {'D2-D13', 'A0-A5'} AvailableDigitalPins: {'D2-D13', 'A0-A5'} availablepwpins: {'D3', 'D5-D6', 'D9-D11'} AvailableAnalogPins: {'A0-A5'} AvailableI2CBusIDs: [0] Libraries: {'Servo', ' shif寄存器'}显示所有属性

AnalogReference内部到1.1 v

一个= arduino ('com9''uno'“AnalogReferenceMode”“内部”'analogreference', 1.1)
在Uno (COM9)上更新服务器代码。这可能需要几分钟。
A = Arduino具有属性:端口:'COM9'板:'UNO'可用:{'d2-d13','a0-a5'}可用性帖:{'d2-d13','a0-a5'}可录取:{'d3','d5-d6','d9-d11'} availableanalogpins:{'a0-a5'}可用:[0]库:{'adafruit / bno055','i2c'}显示所有属性

更多关于

全部展开

介绍了R2014b