久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

 quasiceo 2016-01-18

Matlab與Arduino聯(lián)合應(yīng)用——GUI界面

  首先介紹如何安裝配置一個(gè)基于Matlab的GUI界面,,能夠?qū)崿F(xiàn)對ArduinoIO口的操作,。

  下圖所示為matlab中Arduino相關(guān)程序的下載界面

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  下載后為壓縮文件,解壓縮為ArduinoIO的文件夾,,打開Matlab(筆者為2012版本),,將當(dāng)前工作目錄至于ArduinoIO文件夾下。

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  打開Matlab的GUIDE

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  安裝下面方法,,拖放兩個(gè)按鈕,,按鈕的顯示文字可以通過雙擊后,在屬性頁下的“string”一欄下面修改,,我們用兩只按鈕分別控制直流電機(jī)的轉(zhuǎn)動

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  至此,,我們已經(jīng)完成必要的程序的燒寫和界面的初步編寫,下面將繼續(xù)介紹如何添加按鈕的響應(yīng)函數(shù),,實(shí)現(xiàn)上位機(jī)的控制功能。

  我們利用Matlab已經(jīng)初步設(shè)計(jì)了一個(gè)GUI界面,,下面將添加必要的響應(yīng)函數(shù),,演示時(shí)間的控制功能。

  下圖展示如何從GUIDE進(jìn)入按鈕的編輯界面,,在這里我們將添加對Arduino相應(yīng)的IO口或者串口的操作,。

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  下面是基本的操作函數(shù)實(shí)例匯總

  a=arduino('COM9')

  設(shè)置引腳為輸入或者輸出

  a.pinMode(4,'input');

  a.pinMode(13,'output');

  讀寫引腳的狀態(tài)

  a.digitalRead(4)

  a.digitalWrite(13,0)

  模擬量輸入或者輸出操作

  a.analogRead(5)

  a.analogWrite(9,155)

  串口操作

  a.serial%getserialport

  a.flush;%flushesPC'sinputbuffer

  a.roundTrip(42)%sends42tothearduinoandback

  本例中若使用按鈕“Right-Motor”點(diǎn)擊實(shí)現(xiàn)IO口8置為高電平,驅(qū)動直流電機(jī)全速轉(zhuǎn)動,,則添加

  globala;

  a=arduino('COM7');

  a.pinMode(8,'output');

  在按鈕“Right-Motor”的響應(yīng)函數(shù)中添加代碼段

  globala;

  a.digitalWrite(8,(get(hObject,'Value')))

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  Arduino端準(zhǔn)備

  想要arduino端的控制,,還需要向Arduino中燒寫已經(jīng)下載的pde文件,其位置位于加壓縮后的ArduinoIO文件夾下的pde文件中,。通過usb線纜將Arduinouno與電腦連接,,點(diǎn)擊GUI中添加的按鈕,即可實(shí)現(xiàn)遠(yuǎn)端控制功能,。

  我們介紹了,,在Matlab中建立一個(gè)ArduinoGUI的過程。下面將繼續(xù)介紹如何在Arduino端進(jìn)行軟件準(zhǔn)備,。

  軟件調(diào)試可以在Arduino連接至電腦端就可以進(jìn)行,。

  下面將作者自己在其中遇到或者大家可能會遇到的問題一一總結(jié)如下:

  (1)已經(jīng)編寫完成的Matlab程序已經(jīng)綁定了通信口COM8,執(zhí)行Matlab程序出現(xiàn)如下提示

  Errorusingarduino(line83)

  Couldnotopenport:COM8

  ErrorinArduinomatlab>Arduinomatlab_OpeningFcn(line60)

  a=arduino('COM8');

  首先保證你的開發(fā)板已經(jīng)連接至PC機(jī),,而且通過設(shè)備管理器查看端口是否與程序中設(shè)置的相同,。

  (2)在保證上述已經(jīng)完成的情況下,,依然提示出錯(cuò)

  Errorusingarduino(line54)

  PortCOM8alreadyusedbyMATLAB

  這很可能是你中間斷開了Arduino的連線或者重新編譯了程序,,你需要在Matlab中執(zhí)行

  delete(instrfind({'Port'},{'COM8'}))

  然后重新連接即可。

 ?。?)Arduino連接至PC端,,但是不能燒寫上期Blogger中的pde文件,這時(shí)候要排除IDE編譯環(huán)境中可能存在的問題

  1下載最新的IDE環(huán)境(http:///en/Main/Software#toc2)

  2安裝手動方式更新驅(qū)動

  3注意更改軟件中TOOLs下面的“Board”和“serialport”選項(xiàng),,按照自己所使用Arduino進(jìn)行修改,。

  下面將介紹如何配置硬件外圍電路,來為實(shí)驗(yàn)做最后準(zhǔn)備,。

  為ArduinoUNO開發(fā)板連接外圍電路,,包括直流電機(jī)、led燈等外圍器件,。

  使用到的元器件

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  下圖是Arduino與直流電機(jī)的接口電路,。

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  我們再分析各部分功能

  1開關(guān)

  2直流電機(jī)

  3二極管

  4MOSFE管

  5電機(jī)驅(qū)動電源(9V)

  由于Arduino的最大驅(qū)動電流是40mA,遠(yuǎn)遠(yuǎn)小于電機(jī)驅(qū)動所需的電流,。這里我們使用一個(gè)MOSFET(當(dāng)然可以使用三極管代替),,來使Arduion的小電流來控制電機(jī)的通斷

  而電機(jī)屬于電感性負(fù)載,在啟停階段可能會由于電感存在產(chǎn)生一個(gè)很大反向電壓,,可能會損害我們的MOSFET,,這里使用一個(gè)二極管來使電流沿著一個(gè)方向流動,從而保證電機(jī)對其余電路的影響,。

  9V電源為電機(jī)轉(zhuǎn)動供電,,當(dāng)我們直接將其連接至直流電機(jī)兩側(cè)時(shí),會發(fā)現(xiàn)電機(jī)將會全速轉(zhuǎn)動,。

如何用Matlab連接控制Arduino:GUI界面制作與電機(jī)控制

  在實(shí)驗(yàn)中,,我們手上只有一個(gè)直流電機(jī),所以另外一只的控制我們使用led燈來模擬,,注意要接上一只220歐的電阻進(jìn)行限流,。

  在完成基本的軟件和硬件的準(zhǔn)備工作后,我們現(xiàn)在進(jìn)入最終的測試階段,。

  操作順序:

  1將Arduino通過usb線纜連接至PC

  2打開Matab,,將當(dāng)前文件夾設(shè)為我們從matlab官網(wǎng)下載的并解壓縮的ArduinoIO

  3雙擊打開Arduinomatlab.fig,彈出控制界面

  4點(diǎn)擊按鈕觀察電機(jī)的轉(zhuǎn)動,,如果在Matlab提示出錯(cuò)信息,,請嘗試下面解決方法

  5執(zhí)行“clear”清除變量;執(zhí)行“delete(instrfind({'Port'},{'COM8'}))”,并重新拔掉再插上線纜以創(chuàng)建新的通信連接,,重復(fù)操作步驟1,。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多