matlab喜羊羊,【搬运】DFRobot关于连接Matlab和Arduino的教程

2023-10-13 06:10

本文主要是介绍matlab喜羊羊,【搬运】DFRobot关于连接Matlab和Arduino的教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转发DFRobot关于连接Matlab和Arduino的教程

http://www.dfrobot.com.cn/community/forum.php?mod=viewthread&tid=948&page=1&extra=

如果大家附件下不了,请到百度网盘去下,每一楼的附件都能在下面这个链接里找到http://pan.baidu.com/s/1lDq5k

Matlab是运用极广的数学软件。Arduino又是现在很火的开源硬件平台。两者连起来玩也是很爽的。

特别是现在Matlab出了Arduino支援套件以后,玩起来比以往的串口通信简单多了。

第一部分 Matlab Arduino Support package

第二部分 Simulink Arduino Support package

第三部分 Matlab的串口通信

第三部分 Simulink的串口通信

坚持持续更新与编辑。

Part 1 Matlab Arduino Support package

这个支持包是为了实现Matlab与Arduino之间的串口通信。基于在Arduino板上提前烧写的服务器程序(Server program),监听串口的命令,需要的话可以返回结果。也就是说,Arduino板只需要提前烧写一个程序,之后便可通过Matlab命令对其直接操作。

该支援包支持学生版的Matlab。支持的控制板有UNO,Mega 2560,Duemilanove。

可以在Matlab官网下载,地址http://www.mathworks.de/hardware-support/arduino-matlab.html

点击下方的Requirement框里的“MATLAB Support Package for Arduino”,在新打开的网页中在右边点击Download Submission即可

也可以在本贴的附件直接下载ArduinoIO压缩包

下载后解压。把解压文件里的pde/adiosrv/adiosrv.pde文件用Arduino IDE烧写到Arduino控制板上。

把matlab的工作路径修改到ArduinoIO文件夹。这样配置就算完成了。

现在来实验一下。用matlab完成一个简易的usb示波器

首先建立arduino和matlab的连接,代码如下

a = arduino('COM3');

matlab会用几秒钟的时间来建立连接

用一个1k欧的可调电阻串联一个1k欧的电阻。如下图连接,楼主用的是AnalogRead pin 5

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

191407qie908iissj9jhyd.jpg (1.98 MB, 下载次数: 23)

2016-6-6 09:41 上传

WP_20131201_003.jpg (2.66 MB, 下载次数: 15)

下载附件  [url=]保存到相册[/url]

2013-12-3 19:14 上传

将下面的代码直接复制到Matlab命令框,即可运行。

interval = 10000;

passo = 1;

t = 1;

x = 0;

while(t

b = a.analogRead(5)*10; % 把读到的值放大10倍

x = [x,b];

plot(x);

grid

t = t+passo;

drawnow;

end

从a5所读的值会实时的画在图上,效果如下图。可以自己手动调整可调电阻阻值,即可在plot窗口观察阻值变化。

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

192120czrj62aj52mohsgq.jpg (1.58 MB, 下载次数: 23)

2016-6-6 09:41 上传

WP_20131201_002.jpg (2.12 MB, 下载次数: 15)

下载附件  [url=]保存到相册[/url]

2013-12-3 19:21 上传

下面来试一下把支援套件用到GUI点亮或熄灭led

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

220303c9vpe9j1rutku991.jpg (13.35 KB, 下载次数: 24)

2016-6-6 09:41 上传

QQ图片20131203150232.jpg (13.35 KB, 下载次数: 11)

下载附件  [url=]保存到相册[/url]

2013-12-3 22:03 上传

这里为了使用digitalWrite(pin)设置了两个pushbutton。标签(tag)分别是led1和led2

在函数 _OpeningFcn 里设置全局变量,以及初始化。

global a;

global led1_state;

global led2_state;

a = arduino('COM3');

a.pinMode(3,'output');

a.pinMode(4,'output');

a.pinMode(5,'input'); % 5读取3的状态

a.pinMode(6,'input'); % 6读取4的状态

led1_state = 0;

led2_state = 0;

在函数 led1_Callback中添加如下代码

global a;

global led1_state;

if led1_state == 0

a.digitalWrite(3,1);

led1_state = a.digitalRead(5);

set(hObject, 'BackgroundColor',[0 0 1]);

else

a.digitalWrite(3,0);

led1_state = a.digitalRead(5);

set(hObject, 'BackgroundColor',[1 1 0]);

end

根据变量led1_state设置led1的状态。读取led1状态,更新变量led1_state。更改按钮颜色

如果使用togglebutton,可以省略全局变量led1_state,可直接使用a.digitalWrite(3,(get(hObject,'Value')))进行状态切换。

注意:如果第二次执行的时候没有把语句 a = arduino('COM3')删除,或者没有清除变量a。都会出现错误

在函数led2_Callback中类似。完整代码在附件

Matlab Support Packag for Arduino(Matlab支援套件):

70d8077d25d7c32fb2a7a7cb2bbf0996.gif

zip.gif (2.15 KB, 下载次数: 25)

2016-6-6 09:41 上传

ArduinoIO.zip (172.87 KB, 下载次数: 2328)

2013-12-6 02:39 上传

点击文件名下载附件

阅读权限: 10

下载积分: 创造力 -1

Matlab GUI LED:

led.zip (3.25 KB, 下载次数: 1891)

2013-12-6 02:38 上传

点击文件名下载附件

阅读权限: 10

下载积分: 创造力 -1

这篇关于matlab喜羊羊,【搬运】DFRobot关于连接Matlab和Arduino的教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201291

相关文章

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys