0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用MATLAB以圖形格式記錄和顯示數(shù)據(jù)

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-06 11:34 ? 次閱讀

圖形表示形式總是有助于可視化數(shù)據(jù),并且通過查看趨勢(shì)和模式非常容易。有很多軟件可以根據(jù)輸入值繪制圖形,但是在嵌入式系統(tǒng)中,MATLAB是最受歡迎的軟件之一,它不僅可以以圖形形式顯示結(jié)果,而且可以輕松地與硬件和微控制器集成。

在本教程中,我們將學(xué)習(xí)如何使用MATLAB以圖形格式記錄和顯示數(shù)據(jù)。在這里,我們使用Arduino和MATLAB記錄DHT11的實(shí)時(shí)溫度和濕度數(shù)據(jù)。以前我們將LM35與MATLAB一起使用以繪制溫度曲線圖。

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

MATLAB入門:快速介紹

將Arduino與MATLAB接口-使用MATLAB和Arduino閃爍LED

直流電動(dòng)機(jī)控制

MATLAB和Arduino之間的串行通信

使用MATLAB進(jìn)行圖像處理入門

您可以在此處參考所有MATLAB教程。

所需的組件

MATLAB安裝的筆記本電腦(R2016b或以上版本)

Arduino UNO

DHT11溫濕度傳感器

電路圖

如何使用MATLAB以圖形格式記錄和顯示數(shù)據(jù)

DHT11與MATLAB接口的Arduino代碼

將DHT11傳感器與Arduino連接后,使用以下代碼將代碼上傳到Arduino Arduino IDE。最后給出了完整的Arduino代碼,用于將溫度和濕度數(shù)據(jù)記錄和可視化到MATLAB中。讓我們了解代碼的工作原理。

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

#include

然后定義連接到Arduino的DHT11數(shù)據(jù)引腳。在我們的例子中,它是引腳號(hào)4。

#define DHTPIN 4

在“無效設(shè)置” 中,初始化串口和DHT11傳感器。

void setup() {

Serial.begin(9600);

delay(2000);

dht.begin(); // initialise DHT11 sensor

}

在‘void loop’函數(shù)中,將溫度和濕度的值設(shè)置為 float 類型。使用命令 float temp = dht.readTemperature()和 float humi = dht.readHumidity()從Arduino讀取溫度和濕度數(shù)據(jù)。然后在串行監(jiān)視器上打印這些值,以便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記錄和繪圖代碼數(shù)據(jù)

在系統(tǒng)中打開MATLAB,然后在編輯器窗口中開始編碼。可以通過在MATLAB中單擊“ 新腳本” 來打開編輯器窗口,如下圖所示。

在項(xiàng)目結(jié)束時(shí)給出了用于DHT11傳感器數(shù)據(jù)記錄的完整的MATLAB代碼。

從定義用于串行通信的變量開始, MATLAB到Arduino。 COM18是連接我的Arduino的端口,您可以進(jìn)行相應(yīng)的更改。

s = serial(‘COM18’);

在下面的代碼中, fopen()用于Arduino和MATLAB之間的串行通信。然后,我們將串行數(shù)據(jù)保存到名為“ out ”的變量中。 out 變量是一個(gè)九位數(shù)字的字符串,其中前四位數(shù)字存儲(chǔ)溫度數(shù)據(jù),其余位數(shù)字存儲(chǔ)濕度數(shù)據(jù)。因此,通過使用 Temp(i)= str2num(out(1:4))和 Humi(i)= str2num(out(5:9))我們正在閱讀現(xiàn)在,將完整的代碼粘貼到編輯器窗口中之后。

fopen(s)

out = fscanf(s)

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

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

現(xiàn)在。單擊“運(yùn)行”按鈕以處理代碼,如下圖所示。

等到MATLAB在屏幕的左下角顯示忙,如下圖所示。這表明MATLAB正在處理代碼。

如果代碼執(zhí)行沒有任何錯(cuò)誤,則顯示實(shí)時(shí)圖形窗口將出現(xiàn)在屏幕上,如下所示。在這里,數(shù)據(jù)將每兩秒鐘更新一次,因?yàn)镈HT11傳感器將數(shù)據(jù)發(fā)送到串行端口需要兩秒鐘。

要檢查溫度和濕度的實(shí)時(shí)記錄值,請(qǐng)雙擊工作區(qū)窗口中的相應(yīng)變量,如下圖所示。

將出現(xiàn)對(duì)話框,其中包含所有保存到特定變量中的值。

因此,這是記錄,可視化和繪制圖形的方式圖形。

代碼

Arduino代碼

#include

#define DHTPIN 4 #define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE);

void setup(){

Serial.begin(9600);

delay(2000) );

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

}

無效循環(huán)(){

float temp = dht.readTemperature();//讀取溫度數(shù)據(jù)

float humi = dht.readHumidity();//讀取溫度數(shù)據(jù)

Serial.print(temp);

Serial.print(humi);

delay(2000);

}

MATLAB代碼

s = serial(‘COM18’);

time = 100;

i = 1;

while(i

fopen(s)

fprintf(s,“您的串行數(shù)據(jù)在此處”)

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中的時(shí)間’);

ylabel(‘---》 Temperature’);

網(wǎng)格

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

子圖(212);

圖(Humi,‘m’);

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

title(‘Parameter:DHT11 Humidity’);

xlabel(‘---》 x * 0.02 sec中的時(shí)間’);

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

網(wǎng)格

fclose(s)

i = i + 1;

drawnow;

end

delete(s)

clear s

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2979

    瀏覽量

    230719
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    零基礎(chǔ)教程!TSMaster的圖形數(shù)據(jù)導(dǎo)出CSV功能

    測(cè)試、操控性測(cè)試、制動(dòng)測(cè)試時(shí),采集到的加速度、力、車速等數(shù)據(jù)可以CSV格式導(dǎo)出,便于工程師進(jìn)一步分析、統(tǒng)計(jì)和比較不同車輛或測(cè)試條件下的表現(xiàn)。一鍵導(dǎo)出獲取的圖形數(shù)
    的頭像 發(fā)表于 12-20 20:01 ?175次閱讀
    零基礎(chǔ)教程!TSMaster的<b class='flag-5'>圖形數(shù)據(jù)</b>導(dǎo)出CSV功能

    EPS格式圖像的最佳使用場(chǎng)景

    出版和印刷 1.1 高質(zhì)量圖像需求 EPS格式因其精確的矢量圖形特性,非常適合需要高質(zhì)量圖像輸出的專業(yè)出版和印刷行業(yè)。無論是書籍、雜志還是宣傳冊(cè),EPS都能提供清晰、銳利的圖像,滿足專業(yè)印刷的需求。 1.2 可縮放性 EPS文件包含的是
    的頭像 發(fā)表于 11-19 10:33 ?540次閱讀

    EPS文件格式如何轉(zhuǎn)換 EPS和SVG文件的區(qū)別

    EPS文件格式轉(zhuǎn)換 EPS(Encapsulated PostScript)是一種用于存儲(chǔ)矢量圖形的文件格式,最初由Adobe公司開發(fā)。由于EPS文件在打印時(shí)能夠保持極高的質(zhì)量,并且廣泛被各種
    的頭像 發(fā)表于 11-19 10:31 ?736次閱讀

    求助!matlab對(duì)ug的調(diào)用問題

    大佬們問一下,我現(xiàn)在已經(jīng)有ug界面里面*.vb格式的操作記錄腳本文件,怎么樣用matlab在后臺(tái)里調(diào)用這個(gè)腳本啊
    發(fā)表于 11-15 17:39

    MATLAB(1)--MATLAB數(shù)值數(shù)據(jù)

    概述 數(shù)值數(shù)據(jù)類型的分類: 整型 浮點(diǎn)型 復(fù)數(shù)型 整型 在MATLAB 共有八種整數(shù)類型,其中四種為符號(hào)型(int8,int16,int32,int64),四種無符號(hào)型(uint8,uint16
    發(fā)表于 09-05 16:28

    drv2700evm的GUI有實(shí)時(shí)顯示數(shù)據(jù)記錄保存數(shù)據(jù)的功能嗎?

    drv2700evm的GUI有實(shí)時(shí)顯示數(shù)據(jù)記錄保存數(shù)據(jù)的功能嗎?
    發(fā)表于 09-04 06:13

    如何使用MATLAB創(chuàng)建預(yù)測(cè)模型

    MATLAB 簡介 MATLAB 是由 MathWorks 公司開發(fā)的,它提供了一個(gè)集成的計(jì)算環(huán)境,包括一個(gè)命令行界面、一個(gè)圖形用戶界面、一個(gè)編程語言和一個(gè)調(diào)試器。MATLAB 的主
    的頭像 發(fā)表于 07-11 14:29 ?709次閱讀

    THS8200全格式過采樣分量視頻/PC圖形DAC系統(tǒng)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《THS8200全格式過采樣分量視頻/PC圖形DAC系統(tǒng)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-09 09:29 ?0次下載
    THS8200全<b class='flag-5'>格式</b>過采樣分量視頻/PC<b class='flag-5'>圖形</b>DAC系統(tǒng)<b class='flag-5'>數(shù)據(jù)</b>表

    態(tài)勢(shì)數(shù)據(jù)有哪些格式

    智慧華盛恒輝態(tài)勢(shì)數(shù)據(jù)格式可以因應(yīng)用場(chǎng)景和數(shù)據(jù)來源的不同而有所差異。以下是一些常見的態(tài)勢(shì)數(shù)據(jù)格式,并進(jìn)行了分點(diǎn)表示和歸納: 智慧華盛恒輝態(tài)勢(shì)數(shù)據(jù)
    的頭像 發(fā)表于 06-24 17:44 ?332次閱讀

    態(tài)勢(shì)數(shù)據(jù)有哪些格式和內(nèi)容呢

    智慧華盛恒輝態(tài)勢(shì)數(shù)據(jù)格式和內(nèi)容可以根據(jù)其應(yīng)用領(lǐng)域和具體需求而有所不同。以下是關(guān)于態(tài)勢(shì)數(shù)據(jù)格式和內(nèi)容的清晰歸納: 智慧華盛恒輝數(shù)據(jù)格式 XML: 定義:一種用于編碼文檔的標(biāo)記語言,用于
    的頭像 發(fā)表于 06-11 16:57 ?539次閱讀

    EtherCAT 數(shù)據(jù)格式和尋址方式簡介

    EtherCAT是一個(gè)高實(shí)時(shí)性,高速和高效率的工業(yè)以太網(wǎng)技術(shù),數(shù)據(jù)根據(jù)自身獨(dú)有的數(shù)據(jù)格式進(jìn)行可靠傳輸,本文主要針對(duì)EtherCAT的數(shù)據(jù)格式
    的頭像 發(fā)表于 04-12 08:25 ?1011次閱讀
    EtherCAT <b class='flag-5'>數(shù)據(jù)</b>幀<b class='flag-5'>格式</b>和尋址方式簡介

    Python:從串口讀取數(shù)據(jù)并以16進(jìn)制格式展示

    本文凌順實(shí)驗(yàn)室(lingshunlab.com)簡單實(shí)現(xiàn)Python讀取串口數(shù)據(jù),并且按16進(jìn)制格式顯示出來。
    的頭像 發(fā)表于 03-05 14:25 ?1152次閱讀
    Python:從串口讀取<b class='flag-5'>數(shù)據(jù)</b>并以16進(jìn)制<b class='flag-5'>格式</b>展示

    邊界矢量數(shù)據(jù)是什么格式

    邊界矢量數(shù)據(jù)是一種用于描述地理空間邊界的格式。它包含了一系列的數(shù)據(jù)點(diǎn),這些點(diǎn)按照一定的順序連接起來,形成了一條封閉的線,來表示地理區(qū)域的邊界。 邊界矢量數(shù)據(jù)通常以矢量文件的形式存在,矢
    的頭像 發(fā)表于 02-25 15:16 ?1278次閱讀

    矢量圖格式有幾種 矢量圖格式有哪些

    。矢量圖在很多領(lǐng)域中廣泛應(yīng)用,如草圖、圖標(biāo)、徽標(biāo)、地圖、技術(shù)插圖等。 SVG(Scalable Vector Graphics) SVG 是一種基于 XML 的矢量圖格式。它可以被廣泛支持的瀏覽器、圖形軟件和設(shè)計(jì)工具解析和顯示。
    的頭像 發(fā)表于 02-20 15:58 ?9558次閱讀

    什么是數(shù)據(jù)記錄器,數(shù)據(jù)記錄器與數(shù)據(jù)采集系統(tǒng)

    雖然有些數(shù)據(jù)記錄器只有一個(gè)傳感器和輸入,但許多數(shù)據(jù)記錄器有多個(gè)通道,在許多情況下,它們可以記錄來自不同類型傳感器的測(cè)量值。
    的頭像 發(fā)表于 02-08 12:28 ?1621次閱讀