- Необходими компоненти
- Електрическа схема
- Bluetooth комуникация чрез команден прозорец MATLAB
- Bluetooth комуникация с помощта на MATLAB GUI
Bluetooth е най-простият и популярен протокол за безжична комуникация на къси разстояния във вградени системи. Bluetooth не се използва само за прехвърляне на данни от едно устройство на друго, но се използва и за безжично управление на устройствата. Почти всяка електронна джаджа има поддръжка на Bluetooth сега, затова е разумно да имате опция за контрол на Bluetooth във вашето вградено приложение.
Тук в този урок ще научим как да използваме Bluetooth в MATLAB за безжична комуникация. Ще използваме вградения в компютъра Bluetooth с MATLAB от едната страна и HC-05 с Arduino от другата страна. Има два начина за настройка на комуникацията между MATLAB и Arduino чрез Bluetooth, единият използва команден прозорец, а другият използва MATLAB GUI. Кодът на Arduino и за двата метода ще остане същият. Ако не сте начинаещи в MATLAB, препоръчително е да започнете с проста LED мигаща програма с MATLAB и да научите основната терминология, използвана в MATLAB. Можете да проучите повече проекти на MATLAB:
- Последователна комуникация между MATLAB и Arduino
- DC управление на двигателя с помощта на MATLAB и Arduino
- Управление на стъпков двигател с помощта на MATLAB и Arduino
- Първи стъпки с обработка на изображения с помощта на MATLAB
Необходими компоненти
- MATLAB инсталиран лаптоп (Предпочитание: R2016a или по-нови версии)
- Arduino UNO
- Bluetooth модул (HC-05)
- LED (всеки цвят)
- Резистор (330 ома)
- Джъмперни проводници
За да научите повече за HC-05 и взаимодействието му с Arduino, проверете следните статии.
- Серво мотор с контролиран Bluetooth с помощта на Arduino
- Гласово контролирани светодиоди, използващи Arduino и Bluetooth
- Контролиран от мобилен телефон променлив ток с помощта на Arduino и Bluetooth
Електрическа схема
Схемите за Bluetooth комуникация между MATLAB и Arduino са дадени по-долу:
Bluetooth комуникация чрез команден прозорец MATLAB
Това е простият метод за настройка на Bluetooth комуникация между Arduino и MATLAB. Тук MATLAB използва Bluetooth на лаптопа за свързване на HC-05, свързан с Arduino. Първо трябва да кодираме Arduino, за да прочетем серийните входящи данни, идващи от MATLAB (използвайки Bluetooth на лаптопа).
Тогава тези Bluetooth предадени данни от MATLAB могат да се използват за управление на всичко, свързано с Arduino. Тук сме свързали LED към Arduino, който може да се управлява от ЛАПТОПА с помощта на MATLAB.
Първо качете дадения код на Arduino в Arduino UNO и след това започнете да кодирате в командния прозорец на MATLAB.
#include
След това копирайте и поставете долния код на MATLAB в командния прозорец за Bluetooth комуникация между MATLAB и Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
В кода по-долу се използва команда fprintf (bt, '0') за изключване на светодиода чрез изпращане на '0' към Arduino. Сега, ако искате да включите светодиода, просто изпратете „1“ вместо „0“, като използвате командата по-долу.
fprintf (bt, '1');
За да проверите информацията за наличния хардуер, използвайте командата по-долу
instrhwinfo ('тип', 'Име на устройството');
За да отворите Bluetooth порта, използвайте командата по-долу
fopen (bt);
Проверете видеото по-долу, за да разберете пълния процес на изпращане на данни от MATLAB до Arduino чрез Bluetooth.
Bluetooth комуникация с помощта на MATLAB GUI
За демонстриране на Bluetooth комуникация с помощта на MATLAB GUI, ние ще създадем три графични бутона в MATLAB, за да включим, изключим и премигнем светодиода, свързан към Arduino. Данните ще бъдат изпратени чрез Bluetooth от MATLAB до HC-05 при кликване върху тези графични бутони. Arduino съдържа кода за получаване на предадените чрез Bluetooth данни от MATLAB до HC-05 и контролиране на светодиода според получените данни. Кодът на Arduino ще остане същият като предишния, само че разликата е, че преди това изпращахме данни '1' и '0' през командния прозорец на MATLAB, а сега същите данни ще бъдат изпратени при кликване върху три графични бутона.
За да стартирате GUI, въведете командата по-долу в командния прозорец
ръководство
Ще се отвори изскачащ прозорец, след което изберете нов празен GUI, както е показано на изображението по-долу,
Сега изберете три бутона за включване, изключване и мигане на светодиода, както е показано по-долу,
За да промените размера или да промените формата на бутоните, просто кликнете върху него и ще можете да плъзнете ъглите на бутона. Чрез двукратно щракване върху бутона можете да промените цвета, низа и етикета на този конкретен бутон. Ние сме персонализирали три бутона, както е показано на снимката по-долу.
Можете да персонализирате бутоните според вашия избор. Сега, когато запазите това, ще се генерира код в прозореца на редактора на MATLAB. Редактирайте този код в съответствие със задачата, която искате да изпълните от вашия Arduino при получаване на Bluetooth данни с помощта на MATLAB GUI. Така че по-долу сме редактирали кода MATLAB. Можете да научите повече за командния прозорец, прозореца на редактора и т.н. в Първи стъпки с урок MATLAB.
Пълният код на MATLAB за управление на LED от MATLAB чрез Bluetooth е даден в края на този проект. Освен това тук включваме GUI файла (.fig) и кодовия файл (.m) за изтегляне, с помощта на който можете да персонализирате бутоните според вашите изисквания. По-долу има някои ощипвания, които направихме за управление на светодиода, свързан с Arduino.
Копирайте и поставете долния код на ред №. 74 за настройка или свързване на MATLAB към Bluetooth на лаптопа.
изчисти всичко; глобален bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
където fopen (bt) се използва за отваряне на Bluetooth порта за предаване на данни.
Сега, когато превъртите надолу, ще видите, че има три функции, създадени за три бутона в GUI. Сега напишете кода във функциите според задачата, която искате да изпълните при щракване.
Във функцията на бутона за включване на LED , копирайте и поставете долния код точно преди края на функцията, за да включите светодиода. В долния код fprintf (bt, '1') се използва за изпращане на '1' от MATLAB до HC-05 чрез Bluetooth на лаптопа. Arduino ще получи тези данни „1“ чрез HC-05 и ще свети светодиода, като направи 11 -ия си пин HIGH.
глобален bt; fprintf (bt, '1');
В функцията на бутона LED OFF , копирайте и поставете долния код точно преди края на функцията, за да изключите светодиода. В долния код fprintf (bt, '0') се използва за изпращане на '0' от MATLAB до HC-05 чрез Bluetooth на лаптопа. Arduino ще получи „0“ чрез HC-05 и ще изключи светодиода, като направи 11 -ия си щифт НИСКИ.
глобален bt; fprintf (bt, '0');
В функцията на бутона BLINK използвайте кода по-долу, за да премигвате светодиода. А за линия се използва да мига светодиода 10 пъти.
глобален bt; за i = 1:10 fprintf (bt, '1'); пауза (0,5); fprintf (bt, '0'); пауза (0,5); край
След като завършите с MATLAB GUI кодиране и настроите хардуера според схемата, просто кликнете върху бутона за изпълнение, за да стартирате редактирания код във.m файл.
MATLAB може да отнеме няколко секунди, за да отговори, не кликвайте върху който и да е бутон на GUI, докато MATLAB не покаже индикация зает, което можете да видите в долния ляв ъгъл на екрана, както е показано по-долу,
Когато всичко е готово, щракнете върху LED-ON, LED OFF и BLINK, за да включите, изключите и мигате съответно LED. Всички кодови файлове за този проект могат да бъдат изтеглени от тук или можете да използвате кода, даден по-долу.
Проверете видеото по-долу, за да разберете пълния процес на изпращане на данни от MATLAB до Arduino чрез Bluetooth с помощта на MATLAB GUI.