图形表示形式总是有助于可视化数据,并且通过查看趋势和模式非常容易。有很多软件可以根据输入值绘制图形,但是在嵌入式系统中,MATLAB是最受欢迎的软件之一,它不仅可以以图形形式显示结果,而且可以轻松地与硬件和微控制器集成。

在本教程中,我们将学习如何使用MATLAB以图形格式记录和显示数据。在这里,我们使用Arduino和MATLAB记录DHT11的实时温度和湿度数据。以前我们将LM35与MATLAB一起使用以绘制温度曲线图。

如果您是MATLAB的新手,可以查看一下以前的MATLAB教程以更好地了解它们:

MATLAB入门:快速介绍

将Arduino与MATLAB接口-使用MATLAB和Arduino闪烁LED

MATLAB和Arduino之间的串行通信

使用MATLAB进行图像处理入门

您可以在此处参考所有MATLAB教程。

所需的组件

MATLAB安装的笔记本电脑(R2016b或以上版本)

ArduinoUNO

DHT11温湿度传感器

DHT11与MATLAB接口的Arduino代码

将DHT11传感器与Arduino连接后,使用以下代码将代码上传到ArduinoArduinoIDE。最后给出了完整的Arduino代码,用于将温度和湿度数据记录和可视化到MATLAB中。让我们了解代码的工作原理。

首先包含用于DHT11传感器的库“DHT.h”。

#include

然后定义连接到Arduino的DHT11数据引脚。在我们的例子中,它是引脚号4。

#defineDHTPIN4

在“无效设置”中,初始化串口和DHT11传感器。

voidsetup(){

Serial.begin(9600);

delay(2000);

dht.begin();//initialiseDHT11sensor

}

在‘voidloop’函数中,将温度和湿度的值设置为float类型。使用命令floattemp=dht.readTemperature()和floathumi=dht.readHumidity()从Arduino读取温度和湿度数据。然后在串行监视器上打印这些值,以便MATLAB能够串行读取这些值。

voidloop(){

floattemp=dht.readTemperature();//readtemperaturedata

floathumi=dht.readHumidity();//readtemperaturedata

Serial.print(temp);

Serial.print(humi);

delay(2000);

}

MATLAB记录和绘图代码数据

在系统中打开MATLAB,然后在编辑器窗口中开始编码。可以通过在MATLAB中单击“新脚本”来打开编辑器窗口,如下图所示。

在项目结束时给出了用于DHT11传感器数据记录的完整的MATLAB代码。

从定义用于串行通信的变量开始,MATLAB到Arduino。COM18是连接我的Arduino的端口,您可以进行相应的更改。

s=serial(‘COM18’);

在下面的代码中,fopen()用于Arduino和MATLAB之间的串行通信。然后,我们将串行数据保存到名为“out”的变量中。out变量是一个九位数字的字符串,其中前四位数字存储温度数据,其余位数字存储湿度数据。因此,通过使用Temp(i)=str2num(out(1:4))和Humi(i)=str2num(out(5:9))我们正在阅读现在,将完整的代码粘贴到编辑器窗口中之后。

fopen(s)

out=fscanf(s)

Temp(i)=str2num(out(1:4));

Humi(i)=str2num(out(5:9));

现在。单击“运行”按钮以处理代码,如下图所示。

等到MATLAB在屏幕的左下角显示忙,如下图所示。这表明MATLAB正在处理代码。

如果代码执行没有任何错误,则显示实时图形窗口将出现在屏幕上,如下所示。在这里,数据将每两秒钟更新一次,因为DHT11传感器将数据发送到串行端口需要两秒钟。

要检查温度和湿度的实时记录值,请双击工作区窗口中的相应变量,如下图所示。

将出现对话框,其中包含所有保存到特定变量中的值。

因此,这是记录,可视化和绘制图形的方式图形。

代码

Arduino代码

#include

#defineDHTPIN4#defineDHTTYPEDHT11

DHTdht(DHTPIN,DHTTYPE);

voidsetup(){

Serial.begin(9600);

delay(2000));

dht.begin();//初始化DHT11传感器

}

无效循环(){

floattemp=dht.readTemperature();//读取温度数据

floathumi=dht.readHumidity();//读取温度数据

Serial.print(temp);

Serial.print(humi);

delay(2000);

}

MATLAB代码

s=serial(‘COM18’);

time=100;

i=1;

while(i

fopen(s)

fprintf(s,“您的串行数据在此处”)

out=fscanf(s)

Temp(i)=str2num(out(1:4));

子图(211);

图(Temp,‘g’);

axis([0,time,20,50]);

title(‘Parameter:DHT11Temperature’);

xlabel(‘---》x*0.02sec中的时间’);

ylabel(‘---》Temperature’);

网格

Humi(i)=str2num(out(5:9));

子图(212);

图(Humi,‘m’);

axis([0,time,25,100]);

title(‘Parameter:DHT11Humidity’);

xlabel(‘---》x*0.02sec中的时间’);

ylabel(‘---》湿度%’);

网格

fclose(s)

i=i+1;

drawnow;

end

delete(s)

clears

责任编辑:wv

matlab数据显示格式,如何使用MATLAB以图形格式记录和显示数据相关推荐

  1. mysql数据每日更新_[每日更新-MySQL]4.记录操作(数据操作)

    数据表用来存储具体的数据,对数据表有了了解之后,就应该要知道数据表是如何保存数据的 1.1    增加记录(插入数据) 语法: insert into 表名 (字段列表) values (值列表); ...

  2. layui怎样将响应数据展示在页面_layui怎么对弹出层显示数据

    layui怎么对弹出层显示数据?下面给大家举个例子:点击查看 function func11() { console.log($.cookie("id")); //iframe窗 ...

  3. matlab数据分析之脸谱图,MATLAB数据记录、分析和可视化:在MATLAB上绘制DHT11传感器读数...

    图形表示总是有助于可视化数据,通过查看它们变得非常容易找到趋势和模式.有许多软件可用于根据输入值绘制图形,但在嵌入式系统中,MATLAB是最流行的软件之一,它不仅可以以图形格式显示结果,而且可以轻松地 ...

  4. MySQL学习记录 (三) ----- SQL数据定义语句(DDL)

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  5. MySQL学习记录 (二) ----- SQL数据查询语句(DQL)

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  6. 怎么把matlab中的图导出,matlab的数据能保存到excel表格-如何将matlab 中输出的图形保存到Excel中去,详细点...

    怎样将MATLAB中的数据输出到excel中 数据保存到excel文件 xlswrite(xlsfile, data, sheet, range); % sheet 和 range可以不指定 如: x ...

  7. adams导出图形数据,并导入matlab进行分析

    我们经常需要将adams中的图像数据或轨迹数据导入到matlab进行分析,关于测量曲线数据和轨迹数据的导出方法如下: 1.测量曲线数据的导出 我常用的方法是在postprocessor中,file-e ...

  8. matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt

    <MATLAB经典教程第四章_图形绘制.ppt>由会员分享,可在线阅读,更多相关<MATLAB经典教程第四章_图形绘制.ppt(32页珍藏版)>请在人人文库网上搜索. 1.Ma ...

  9. 如何使用MATLAB绘制不同类型的二维图形

    如何使用MATLAB绘制不同类型的二维图形 听语音 | 浏览:360 | 更新:2014-11-30 18:10 | 标签:matlab 1 2 3 4 5 分步阅读 如何用MATLAB绘制各种二维图 ...

最新文章

  1. FD.io/VPP — VPP Agent — Telemetry Plugin
  2. 实战SSM_O2O商铺_39【前端展示】首页轮播图和一级商铺Dao+Service+Controller层的实现
  3. 一篇文章了解RPC框架原理
  4. [视频教程]用Unity3d开发跳一跳小游戏
  5. Mysql语句改成Oracle语句的区别
  6. java teechart怎么用_TeeChart for Java
  7. 如何用Goldwave读取保存CD歌曲
  8. linux系统及编程基础唐晓君,Linux-Shell编程之判断文件类型
  9. python爬取链家网_Python爬链家网租房信息
  10. Gephi最详细安装教程没有之一
  11. 传感器响应时间与滤波器截止频率的关系
  12. windows7微软官方_Microsoft Windows 7 | 第1部分
  13. 2022美赛F题题目及思路--人人为我,我(空间)为人人
  14. whm面板降mysql_WHMCS与Cpanel/WHM面板整合方法-Cpanel/WHM管理使用教程 | 麦田一棵葱...
  15. Eatting外卖基于瑞吉外卖代码全功能优化含源码
  16. 玩玩CUBLAS(1)——hello cublas
  17. 国产直流马达驱动芯片SS6216的功能参数以及应用
  18. c# BarTender打印
  19. 我用过的最好的python编辑器PyScripter
  20. SQL Server 【附】创建商品管理数据库、学生选课数据库的SQL语句

热门文章

  1. 数据科学导论_数据科学导论,数据理解和准备
  2. 【教程】2分钟搭建Jetbrains系列的Linux授权服务器
  3. 给html元素绑定单击和双击事件
  4. c#中params关键字应用
  5. springmvc文件下载之文件名下划线问题终极解决方案
  6. cocos2dx-lua 批量打包及修改
  7. SAP中Search help的使用
  8. 【转】CSS3 圆角 阴影 渐变 透明 旋转等功能详述
  9. 在 Delphi 下使用 DirectSound (6): 按文件自己的格式(TWaveFormatEx)播放
  10. 一步一步学习ObjectDataSource--(3)