注意:不再支持此解决方案(以前称为“Arduino IO包”)。建议您使用MathWorks开发和支持的Arduino支持包:
- Arduino硬件的MATLAB支持包:从Arduino传感器读取、写入和分析数据
//www.ru-cchi.com/hardware-support/arduino-matlab.html
- Arduino硬件的Simulink支持包:开发在Arduino上独立运行的算法
//www.ru-cchi.com/hardware-support/arduino-simulink.html
仅在以下情况之一为真时使用此遗留支持:
-您使用的是MATLAB R2013b或更早版本(但不早于R2011a)。
-您需要Simulink模块,使您能够从Arduino中交互式地输入和输出流
-您需要能够交互式读取或重置编码器的函数或块
-您使用的是不支持的Arduino克隆,不支持官方包(例如ChipKit32)
示例用法:
------------------
%——连接到电路板
a = arduino('COM9')
%——指定引脚模式
a.pinMode(4、“输入”);
a.pinMode(13,“输出”);
%——数字I / O
a.digitalRead(4) %读引脚4
a.digitalWrite(13,0) %写0到引脚13
%——模拟I / O
a. analoggread(5) %读取模拟引脚5
a.analogWrite(9,155) %写入155到模拟引脚9
%——串口
A.serial %获取串口
a.flush;%刷新PC的输入缓冲区
a.roundTrip(42) %发送42到arduino并返回
%,伺服系统
a.servoAttach (9);在引脚9上附加伺服
a.servoWrite (9100);%在引脚9上旋转伺服至100度
val = a.servoRead (9);%从引脚9上的伺服读取角度
a.servoDetach (9);%从引脚9分离伺服
%——编码器
A . encoderattach(0,3,2) %在引脚3(引脚A)和引脚2(引脚B)上附加编码器#0
a.encoderRead(0) %读取位置
a.encoderReset(0) %重置编码器0
a.encoderStatus;get所有三个编码器的状态
a.encoderDebounce(0,12) %设置debounce延迟到12 (~1.2ms)
a.encoderDetach (0);%分离编码器#0
%——adafruit马达屏蔽(带有AFMotor库)
a.motorRun(4, 'forward') %运行电机向前
a.stepperStep(1, 'forward', 'double', 100);移动步进电机
%——关闭会话
删除()
与此软件包相关的一些幻灯片和示例可以在这里找到:
//www.ru-cchi.com/matlabcentral/fileexchange/27843
最后,关于使用和故障排除的更详细信息可以在本次提交中包含的readme.txt文件中找到。
引用作为
詹皮耶罗·坎帕(2023年)。Arduino的MATLAB和Simulink支持(//www.ru-cchi.com/matlabcentral/fileexchange/32374-legacy-matlab-and-simulink-support-for-arduino), MATLAB中央文件交换。检索.
例子/
模型/
例子/
模型/
例子/ html /
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.14.0.0 | 增加了空格以增强可读性 |
||
1.13.0.0 | 改进了对Simulink ADIO块中mega-相关引脚的处理。还添加了关于如何使用官方step .h Arduino库的说明(在readme.txt文件中)。 |
||
1.12.0.0 | 重新组织了草图处理和示例,改进了文档,并增加了对Adafruit Motor Shield V2的支持。 |
||
1.10.0.0 | 增加编码器跳线功能 |
||
1.7.0.0 | 1) Simulink库现在可以处理已有的Arduino对象 |
||
1.6.0.0 | 较小的修复和改进,主要针对MEGA和ChipKIT32板。 |
||
1.5.0.0 | 轻微修复演示模式的伺服处理 |
||
1.4.0.0 | *对readme, Simulink示例模型和.pde文件进行了轻微更改 |
||
1.0.0.0 |