- Компоненте потребне
- Кружни дијаграм
- Серијска комуникација помоћу командног прозора МАТЛАБ
- Серијска комуникација помоћу МАТЛАБ ГУИ
МАТЛАБ је свестран софтвер који се може користити за широк спектар апликација. У претходним лекцијама МАТЛАБ-а објаснили смо како се МАТЛАБ користи за управљање једносмерним мотором, серво мотором и кућним апаратима. Овде ћемо у овом упутству научити како да користимо МАТЛАБ за серијску комуникацију. За пријемни крај серијске комуникације, овде користимо Ардуино.
Постоје два начина за подешавање серијске комуникације између МАТЛАБ-а и Ардуина, један користи командни прозор, а други МАТЛАБ ГУИ. Ардуино код за обе методе остаће исти. Ако сте нови у МАТЛАБ-у, препоручује се да започнете са једноставним ЛЕД програмом за трептање са МАТЛАБ-ом и научите основну терминологију која се користи у МАТЛАБ-у.
Компоненте потребне
- МАТЛАБ инсталиран лаптоп (Преференце: Р2016а или новије верзије)
- Ардуино УНО
- ЛЕД (било која боја)
- Отпорник (330 охма)
Кружни дијаграм
Горњи дијаграм кола остаће исти за оба начина успостављања серијске комуникације између МАТЛАБ-а и Ардуина.
Серијска комуникација помоћу командног прозора МАТЛАБ
Ово је једноставна метода за подешавање серијске комуникације између Ардуина и МАТЛАБ-а. Овде ћемо једноставно послати податке из МАТЛАБ-а у Ардуино серијски помоћу командног прозора, а затим Ардуино прочитати долазне серијске податке. Тада се ови серијски пренесени подаци могу користити за контролу било чега што је повезано са Ардуином. Овде смо на Ардуино повезали ЛЕД, која ће се укључивати и искључивати према серијски примљеним подацима од Ардуина.
Прво отпремите дати Ардуино код у Ардуино УНО, а затим започните са кодирањем у прозору МАТЛАБ Едитор Виндов. Да бисте отворили нову скрипту уређивача, кликните на „ Нова скрипта“ као што је приказано на слици испод:
Затим копирајте и налепите доњи комплетни МАТЛАБ код у прозор уређивача за серијску комуникацију између МАТЛАБ-а и Ардуина.
% МАТЛАБ код за серијску комуникацију између Ардуина и МАТЛАБ к = серијски ('ЦОМ18', 'БАУД', 9600); фопен (к); го = труе; док идите а = инпут ('Притисните 1 да бисте укључили ЛЕД и 0 да бисте искључили:'); фпринтф (к, а); иф (а == 2) го = фалсе; крај крај
У датом коду, наредба испод се користи за дефинисање серијске комуникације у МАТЛАБ-у. Уверите се да је број цом порта број порта на који је повезан Ардуино и да брзина преноса треба да буде подешена у кодовима Ардуино и МАТЛАБ.
к = серијски ('ЦОМ18', 'БАУД', 9600);
Да бисте отворили серијски порт, користите наредбу испод, фопен (к);
Испод се користи наредба за серијско слање података из МАТЛАБ-а у Ардуино, где је к за позивање серијског, а а вредност коју је корисник унео.
фпринтф (к, а);
Имамо користи , док функција за стварање бесконачну петљу и кад год корисник уноси број '2' петља ће се сломити.
док идите а = инпут ('Притисните 1 да бисте укључили ЛЕД и 0 да бисте искључили:'); фпринтф (к, а); иф (а == 2) го = фалсе; крај крај
Након завршетка кодирања скрипте за уређивач МАТЛАБ кликните на ' РУН ' да бисте покренули свој програм као што је приказано на доњој слици,
МАТЛАБ-у треба неколико секунди за обраду кода и започињање серијске комуникације, сачекајте док МАТЛАБ у доњем левом углу екрана софтвера не прикаже поруку „Заузет“, као што је приказано на доњој слици.
Сада ћете видети командни прозор за слање корисничког уноса, поставили смо подразумевану поруку, 'Притисните 1 да бисте укључили ЛЕД и 0 да бисте искључили:'
Пошаљите '1' да бисте укључили ЛЕД, '0' да бисте искључили ЛЕД и '2' да бисте прекинули рад. Можете подесити било који број за било који задатак, довољно је само променити Ардуино код у складу с тим. Комплетни Ардуино код дат је на крају.
Можете погледати видео у наставку да бисте разумели комплетан процес слања серијских података из МАТЛАБ-а у Ардуино помоћу Цомманд Виндов-а.
Серијска комуникација помоћу МАТЛАБ ГУИ
За демонстрацију серијске комуникације помоћу МАТЛАБ ГУИ-а, креираћемо два графичка дугмета помоћу МАТЛАБ-а за укључивање и искључивање ЛЕД-а повезаног на Ардуино. Подаци ће се серијски слати из МАТЛАБ-а у Ардуино кликом на ове тастере за укључивање и искључивање ЛЕД диоде. Ардуино ће садржати код за пријем серијских података од МАТЛАБ-а и контролу ЛЕД-а према примљеним серијским подацима. Ардуино код ће остати исти као и претходни, само што је разлика била у томе што смо раније слали серијске податке '1' и '0' кроз командни прозор МАТЛАБ-а, а сада ће се исти подаци слати и код кликовања на два графичка дугмета.
Да бисте покренули ГУИ, откуцајте наредбу у наредбеном прозору
Водич
Отвориће се искачући прозор, а затим одаберите нови празан ГУИ као што је приказано на слици испод,
Сада одаберите два тастера за УКЉУЧИВАЊЕ И ИСКЉУЧИВАЊЕ ЛЕД диоде, као што је приказано доле,
Да бисте променили величину или променили облик дугмади, само кликните на њега и моћи ћете да превучете углове дугмета. Двоструким кликом на дугме можете променити боју, низ и ознаку тог одређеног дугмета. Прилагодили смо два дугмета како је приказано на доњој слици.
Дугмад можете прилагодити према свом избору. Сада када ово сачувате, код ће се генерисати у прозору уређивача МАТЛАБ-а. Уредите овај код у складу са задатком који желите да извршите ваш Ардуино помоћу МАТЛАБ ГУИ. Дакле, испод смо уредили МАТЛАБ код. Можете сазнати више о наредбеном прозору, прозору уређивача итд. У одељку Први кораци са упутством за МАТЛАБ.
Комплетни МАТЛАБ код за успостављање серијске комуникације између МАТЛАБ-а и Ардуина дат је на крају овог пројекта. Даље, овде укључујемо ГУИ датотеку (.фиг) и датотеку кода (.м) за преузимање (кликните десним тастером миша на везу, а затим одаберите 'Сачувај везу као…'), помоћу које можете прилагодити дугмад према својим захтевима. Испод су неке корекције које смо урадили за контролу ЛЕД диоде повезане са Ардуином.
Копирајте и залепите доњи код у ред бр. 74 за подешавање серијског порта и брзине преноса података.
избриши све; глобал к; к = серијски ('ЦОМ18', 'БАУД', 9600); % Уверите се да су брзина преноса података и ЦОМ порт % исти као у Ардуино ИДЕ фопен (к);
где се фопен (к) користи за отварање серијског порта за серијску комуникацију.
Када се померите надоле, видећете да постоје две функције креиране за оба тастера у ГУИ-у. Сада напишите код у обе функције према задатку који желите да извршите на клик.
У функцији дугмета ЛЕД-ОН , копирајте и налепите доњи код непосредно пре краја функције да бисте укључили ЛЕД. Као што видите у доњем коду, фпринтф (к, 1) се користи за слање серијских података из МАТЛАБ-а у Ардуино сериал. Овде шаљемо '1' на Ардуино сериал и ако проверите Ардуино код, видећете да ће Ардуино сјај диоду тако што свог 13 -ог пински ХИГХ, када прими '1' на свом серијски порт.
глобал к; фпринтф (к, 1);
У функцији дугмета ЛЕД-ОФФ , копирајте и налепите доњи код непосредно пре краја функције да бисте искључили ЛЕД. Као што видите у доњем коду, фпринтф (к, 0) се користи за слање серијских података из МАТЛАБ-а у Ардуино сериал. У овом делу, шаљемо '0' до Ардуино сериал и ако проверите Ардуино код, видећете да ће Ардуино искључити ЛЕД тако што своју 13 -ог Пин Лов, када прими '0' на својој серијски порт.
глобал к; фпринтф (к, 0);
Након завршетка са МАТЛАБ ГУИ кодирањем и подешавања хардвера у складу са шемом кола, само кликните на дугме за покретање да бисте покренули уређени код у.м датотеци.
МАТЛАБ-у ће требати неколико секунди да одговори, не кликните на било које ГУИ дугме док МАТЛАБ не покаже индикатор заузетости, што можете видети у левом доњем углу екрана као што је приказано доле,
Када је све спремно, кликните на дугме ЛЕД-ОН и ЛЕД-ОФФ да бисте укључили и искључили ЛЕД. Када притиснете ЛЕД-ОН дугме , 13 -ог пин од Ардуино иде висока и ЛЕД повезан са овим ПИН почиње сија, а када притиснете тастер ЛЕД-ОФФ , 13 -ог пин од Ардуино иде низак, што чини ЛЕД искључити.
Можете погледати видео у наставку да бисте разумели комплетан процес слања серијских података из МАТЛАБ-а у Ардуино помоћу МАТЛАБ ГУИ-а.