主要内容

读和写可以用Arduino硬件信息

这个例子展示了如何使用MATLAB支持包Arduino硬件读写的数据可以使用指定的网络设备金宝app。

所需的硬件

要运行这个例子,您必须有以下硬件:

  • Sparkfun can总线盾

  • Arduino Uno

  • MKR可以屏蔽

  • Arduino MKR1000

连接可以盾牌Arduino电路板。这两个Arduino电路板组成一个网络。Arduino Uno作为发射机,Arduino MKR1000作为接收器。连接CANHCANL针在两个盾牌来完成连接。

这个图显示了一个示例可以MKR之间的通信连接的盾牌和Sparkfun CAN总线的盾牌。连接的Arduino董事会可能有所不同。

canh-canl-connections_new.png

创建频道写消息

创建一个arduino对象arduino Uno板和包括可以图书馆。

arduinoUnoObj = arduino (“COM15”,“Uno”,“库”,“可以”)
arduinoUnoObj = arduino的属性:端口:“COM15”:“Uno”AvailablePins: {‘D2-D13’,‘A0-A5} AvailableDigitalPins: {‘D2-D13’,‘A0-A5} AvailablePWMPins: {‘D3’,‘D5-D6’,‘D9-D11} AvailableAnalogPins: {“A0-A5”} AvailableI2CBusIDs:[0]库:{“可以”、“SPI”}显示所有属性

创建一个可以通道对象连接到Sparkfun CAN总线盾写消息。

txObj = canChannel (arduinoUnoObj,“MCP2515”,“D10”,“D2”)
txObj =通道属性:设备:“MCP2515”ProtocolMode:“可以”BusSpeed: 500000数据库:[]显示所有属性

创建通道读取消息

创建一个连接到Arduino MKR1000董事会的可以图书馆。

arduinoMKRObj = arduino (“COM5”,“MKR1000”,“库”,“可以”)
arduinoMKRObj = arduino的属性:端口:“COM5”:“MKR1000”AvailablePins: {‘D0-D14’,‘A0-A6} AvailableDigitalPins: {‘D0-D14’,‘A0-A6} AvailablePWMPins: {‘D0-D8’,‘D10’,‘A3-A4} AvailableAnalogPins: {“A0-A6”} AvailableI2CBusIDs: [0] AvailableSerialPortIDs:[1]库:{“可以”、“SPI”}显示所有属性

创建一个可以通道对象连接到MKR盾阅读消息。

rxObj = canChannel (arduinoMKRObj,“MKR可以盾”)
rxObj =通道属性:设备:“MKR可以屏蔽”ProtocolMode:“可以”BusSpeed: 500000数据库:[]显示所有属性

写数据通道

写一个消息到通道。

写(txObj 100,假的,[1:8])

从可以读取数据通道

阅读可以从英吉利海峡的消息。

readMsg =阅读(rxObj)
readMsg =1×8的时间表时间ID扩展名称数据长度误差信号远程________________________ ___ ________ __________ ___________ ______ _______专攻06 - 100年2月- 2020年14:33:52.901假{0×0字符}{1×8 uint8} 8 {0×0 struct}假假
readMsg.Data
ans =1×1单元阵列{1×8 uint8}

清理

当完成时,清晰的连接硬件。

清晰的txObj;清晰的arduinoUnoObj;清晰的rxObj;清晰的arduinoMKRObj;