0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用MATLAB以图形格式记录和显示数据

454398 来源:网络整理 作者:网络整理 2019-12-06 11:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

MATLAB入门:快速介绍

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

直流电动机控制

MATLAB和Arduino之间的串行通信

使用MATLAB进行图像处理入门

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

所需的组件

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

Arduino UNO

DHT11温湿度传感器

电路图

如何使用MATLAB以图形格式记录和显示数据

DHT11与MATLAB接口的Arduino代码

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

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

#include

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

#define DHTPIN 4

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

void setup() {

Serial.begin(9600);

delay(2000);

dht.begin(); // initialise DHT11 sensor

}

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

void loop() {

float temp = dht.readTemperature(); //read temperature data

float humi = dht.readHumidity(); //read temperature data

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

#define DHTPIN 4 #define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE);

void setup(){

Serial.begin(9600);

delay(2000) );

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

}

无效循环(){

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

float humi = 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: DHT11 Temperature’);

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

ylabel(‘---》 Temperature’);

网格

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

子图(212);

图(Humi,‘m’);

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

title(‘Parameter:DHT11 Humidity’);

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

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

网格

fclose(s)

i = i + 1;

drawnow;

end

delete(s)

clear s

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    189

    文章

    3033

    浏览量

    239518
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索PIXXI-20嵌入式图形显示模块:功能、应用与开发指南

    探索PIXXI-20嵌入式图形显示模块:功能、应用与开发指南 在嵌入式图形显示领域,4D Systems推出的PIXXI-20系列嵌入式图形
    的头像 发表于 05-14 16:15 94次阅读

    THS8200:全格式过采样组件视频/PC图形D/A系统详解

    集成了三个11位DAC,支持多种视频和图形格式,为视频处理和显示提供了全面的解决方案。本文将深入探讨THS8200的特性、应用、功能以及相关的技术细节。 文件下载: THS8200PFPG4.pdf 一、设备概述 1.1 特性
    的头像 发表于 04-23 12:15 235次阅读

    解析ADV7401:10位集成多格式SDTV/HDTV视频解码器与RGB图形数字化器

    解析ADV7401:10位集成多格式SDTV/HDTV视频解码器与RGB图形数字化器 在当今的视频处理领域,高质量、多功能的视频解码器和图形数字化器至关重要。ADV7401便是这样一款优秀的产品
    的头像 发表于 04-18 16:55 1024次阅读

    THS8200:全格式过采样组件视频/PC图形D/A系统的技术剖析

    DVD播放器、个人视频记录器和机顶盒等设备提供了完整的视频后端D/A解决方案。下面,我们就来深入了解一下这款产品。 文件下载: ths8200.pdf 1. 设备概述 1.1 特性亮点 整体功能强大 :具备完全可编程的显示时序发生器,能提供所有SDTV和HDTV复合同步时
    的头像 发表于 12-29 16:00 489次阅读

    THS8200-EP:全格式过采样组件视频/PC图形D/A系统的卓越之选

    THS8200-EP:全格式过采样组件视频/PC图形D/A系统的卓越之选 在当今数字化的时代,视频和图形处理技术日新月异,对于高性能D/A转换系统的需求也日益增长。Texas Instruments
    的头像 发表于 12-24 17:10 785次阅读

    如何将Primus生成的波形文件导入MATLAB

    VCD 文件及其查看器,如 GTKWave,擅长记录和展示波形,而 MATLAB 擅长对复杂数据进行计算、分析和可视化。在项目设计开发阶段,有时候,我们需要将 EDA 工具生成的波形数据
    的头像 发表于 12-23 14:22 1377次阅读

    电能质量在线监测装置的数据压缩存储功能支持的数据格式可以修改吗?

    电能质量在线监测装置的数据压缩存储功能支持的数据格式 部分可修改 ,具体取决于格式类型(数据文件格式 / 压缩算法格式)与厂家设计,核心结论
    的头像 发表于 12-11 16:39 1292次阅读
    电能质量在线监测装置的<b class='flag-5'>数据</b>压缩存储功能支持的<b class='flag-5'>数据格式</b>可以修改吗?

    深入解析 RK 平台显示驱动:格式支持、处理流程与实现原理

        在嵌入式领域,显示驱动是连接硬件与视觉体验的核心桥梁。瑞芯微( Rockchip )平台的显示驱动以其兼容性强、适配场景广著称,广泛应用于智能终端、物联网设备等领域。本文将从支持的显示
    的头像 发表于 12-02 07:10 602次阅读
    深入解析 RK 平台<b class='flag-5'>显示</b>驱动:<b class='flag-5'>格式</b>支持、处理流程与实现原理

    为进行检测温度的记录,可使用串口数据记录模块来实现

    为进行检测温度的记录,可使用串口数据记录模块来实现。 该数据记录模块是一种串口设备,在使用时其工作的波特率为9600bps,在接收到开发板所
    发表于 12-01 08:18

    工业级-专业液晶图形显示加速器RA8889ML3N简介+显示方案选型参考表

    本帖最后由 MTCN2013 于 2025-11-17 15:23 编辑 专业液晶图形显示加速器能够有效减少对MCU运算资源的占用,对于只需普通单片机运算资源的仪器仪表来说,专业图形显示
    发表于 11-14 16:03

    浅谈电子工程师困惑多年的EDA行业的标准格式

    话说每个行业有每个行业的标准,工业软件领域文件格式也有达成一定程度默契,比如不同CAD软件有自己独特的格式,为了各自的用途,有的可以满足不同的曲面,特殊图形的处理,有的是为了轻量化需求。工具之间交换
    的头像 发表于 08-23 12:34 906次阅读
    浅谈电子工程师困惑多年的EDA行业的标准<b class='flag-5'>格式</b>

    AIcube1.4目标检测模型导入yolotxt格式数据集后一直显示数据正在解析,为什么?

    AIcube1.4目标检测模型导入yolotxt格式数据集后一直显示数据正在解析 数据有问题,把数据
    发表于 08-13 07:16

    车载 CAN-Bus 数据记录

    车载CAN-Bus数据记录仪 型号:SG-CAN-200R 产品概述 CAN 总线故障排查中,对于偶发性的故障排查非常棘手,工程师很难再次复现故障现场。 SG-CAN-200R 记录仪就相当于
    的头像 发表于 07-15 14:13 1035次阅读
    车载 CAN-Bus <b class='flag-5'>数据</b><b class='flag-5'>记录</b>仪

    Eplan编写基于连接的线号命名格式要点记录

    ,艰苦尝试后实现,记录在此: 已连接的源功能数据 (设备标识符 (标识性、无项目结构)) 分隔符 已连接的源功能数据 (功能的连接点代号) 分隔符 已连接的目标功能数据 (设备标识符
    发表于 06-16 13:00

    当CCLink IE遇上DeviceNet,数据记录仪秒变\"卷王\"?

    工程师调试时准遇过这场景:产线DeviceNet记录仪想接入CCLink IE系统,数据传输跟\"挤牙膏\",设备像个\"失语实习生\"。这时候,一台耐达讯通
    发表于 06-11 14:48