色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

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

發(fā)布時(shí)間:2015-7-14 14:18    發(fā)布者:designapp
關(guān)鍵詞: Arduino , Matlab , GUI界面
MATLAB是用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。而Arduino開(kāi)發(fā)板是一種越來(lái)越受到歡迎的開(kāi)源硬件。

一個(gè)是什么都能算的軟件,一個(gè)是最火爆的開(kāi)源硬件,兩者結(jié)合能碰撞出什么樣的火花呢?筆者以Matlab軟件研究如何控制Arduino,將從Matlab制作Arduino的GUI界面和simulink應(yīng)用出發(fā),探索如何使用Matlab連接和控制Arduino。

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

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

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





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



打開(kāi)Matlab的GUIDE



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



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

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

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



下面是基本的操作函數(shù)實(shí)例匯總
a = arduino('COM9')
設(shè)置引腳為輸入或者輸出
a.pinMode(4,'input');
a.pinMode(13,'output');
讀寫(xiě)引腳的狀態(tài)
a.digitalRead(4)
a.digitalWrite(13,0)
模擬量輸入或者輸出操作
a.analogRead(5)
a.analogWrite(9, 155)
串口操作
a.serial                 % get serial port
a.flush;                 % flushes PC's input buffer
a.roundTrip(42)    % sends 42 to the arduino and back
本例中若使用按鈕“Right-Motor”點(diǎn)擊實(shí)現(xiàn)IO口8置為高電平,驅(qū)動(dòng)直流電機(jī)全速轉(zhuǎn)動(dòng),則添加
global a;
a=arduino('COM7');
a.pinMode(8,'output');

在按鈕“Right-Motor”的響應(yīng)函數(shù)中添加代碼段
global a;
a.digitalWrite(8,(get(hObject,'Value')))



Arduino端準(zhǔn)備

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

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

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

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

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

Error using arduino (line 83)
Could not open port: COM8
Error in Arduinomatlab>Arduinomatlab_OpeningFcn (line 60)
a=arduino('COM8');

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

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

Error using arduino (line 54)
Port COM8 already used by MATLAB

這很可能是你中間斷開(kāi)了Arduino的連線或者重新編譯了程序,你需要在Matlab中執(zhí)行
delete(instrfind({'Port'},{'COM8'}))
然后重新連接即可。

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

1 下載最新的IDE環(huán)境(http://arduino.cc/en/Main/Software#toc2
2 安裝手動(dòng)方式更新驅(qū)動(dòng)
3 注意更改軟件中TOOLs下面的“Board”和“serial port”選項(xiàng),按照自己所使用Arduino進(jìn)行修改。

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

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

使用到的元器件



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



我們?cè)俜治龈鞑糠止δ?br />
1 開(kāi)關(guān)
2 直流電機(jī)
3 二極管
4 MOSFE管
5 電機(jī)驅(qū)動(dòng)電源(9V)

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

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

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



在實(shí)驗(yàn)中,我們手上只有一個(gè)直流電機(jī),所以另外一只的控制我們使用led燈來(lái)模擬,注意要接上一只220歐的電阻進(jìn)行限流。
在完成基本的軟件和硬件的準(zhǔn)備工作后,我們現(xiàn)在進(jìn)入最終的測(cè)試階段。

操作順序:
1 將Arduino通過(guò)usb 線纜連接至PC
2 打開(kāi)Matab,將當(dāng)前文件夾設(shè)為我們從matlab官網(wǎng)下載的并解壓縮的Arduino IO
3 雙擊打開(kāi)Arduinomatlab.fig,彈出控制界面
4 點(diǎn)擊按鈕觀察電機(jī)的轉(zhuǎn)動(dòng),如果在Matlab提示出錯(cuò)信息,請(qǐng)嘗試下面解決方法
5 執(zhí)行“clear”清除變量;執(zhí)行“ delete(instrfind({'Port'},{'COM8'}))”,并重新拔掉再插上線纜以創(chuàng)建新的通信連接,重復(fù)操作步驟1。
本文地址:http://www.54549.cn/thread-151393-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表