读和写可以用Arduino硬件信息
这个例子展示了如何使用MATLAB支持包Arduino硬件读写的数据可以使用指定的网络设备金宝app。
所需的硬件
要运行这个例子,您必须有以下硬件:
Sparkfun can总线盾
Arduino Uno
MKR可以屏蔽
Arduino MKR1000
连接可以盾牌Arduino电路板。这两个Arduino电路板组成一个网络。Arduino Uno作为发射机,Arduino MKR1000作为接收器。连接CANH
和CANL
针在两个盾牌来完成连接。
这个图显示了一个示例可以MKR之间的通信连接的盾牌和Sparkfun CAN总线的盾牌。连接的Arduino董事会可能有所不同。
创建频道写消息
创建一个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;