- Потрібні компоненти
- Кругова діаграма
- Зв'язок Bluetooth за допомогою командного вікна MATLAB
- Зв'язок Bluetooth за допомогою графічного інтерфейсу MATLAB
Bluetooth - це найпростіший і найпопулярніший протокол для бездротового зв'язку короткого діапазону у вбудованих системах. Bluetooth використовується не тільки для передачі даних з одного пристрою на інший, але також використовується для бездротового керування пристроями. Зараз майже кожен електронний пристрій має підтримку Bluetooth, тому розумним вибором є можливість керування Bluetooth у вбудованому додатку.
У цьому підручнику ми дізнаємося, як використовувати Bluetooth у MATLAB для бездротового зв'язку. Ми використовуватимемо вбудований у комп’ютер Bluetooth з MATLAB з одного боку та HC-05 з Arduino з іншого. Існує два способи налаштування зв'язку між MATLAB та Arduino через Bluetooth, один - за допомогою командного вікна, а інший - за допомогою графічного інтерфейсу користувача MATLAB. Код Arduino для обох методів залишиться незмінним. Якщо ви новачок у програмі MATLAB, рекомендується розпочати роботу з простою програмою мигання світлодіодів із програмою MATLAB та вивчити базову термінологію, що використовується в програмі MATLAB. Ви можете додатково вивчити більше проектів MATLAB:
- Послідовний зв’язок між MATLAB та Arduino
- Управління двигуном постійного струму за допомогою MATLAB та Arduino
- Управління кроковим двигуном за допомогою MATLAB та Arduino
- Початок роботи з обробкою зображень за допомогою MATLAB
Потрібні компоненти
- MATLAB встановив ноутбук (Налаштування: R2016a або новіші версії)
- Arduino UNO
- Модуль Bluetooth (HC-05)
- Світлодіод (будь-який колір)
- Резистор (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. Тут ми підключили світлодіод до Arduino, яким можна керувати з ЛАПТОПУ за допомогою MATLAB.
Спочатку завантажте даний код Arduino в Arduino UNO, а потім починайте кодування у вікні команд MATLAB.
#включати
Потім скопіюйте та вставте наведений нижче код MATLAB у вікні команди для зв'язку Bluetooth між MATLAB та Arduino.
instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); фопен (bt);
У наведеному нижче коді команда fprintf (bt, '0') використовується для вимкнення світлодіода, надсилаючи '0' на Arduino. Тепер, якщо ви хочете увімкнути світлодіод, просто надішліть «1» замість «0», використовуючи команду нижче.
fprintf (bt, '1');
Щоб перевірити інформацію про доступне обладнання, скористайтеся командою нижче
instrhwinfo ('тип', 'Назва пристрою');
Щоб відкрити порт Bluetooth, використовуйте команду нижче
фопен (bt);
Перегляньте відео нижче, щоб зрозуміти повний процес надсилання даних з MATLAB в Arduino за допомогою Bluetooth.
Зв'язок Bluetooth за допомогою графічного інтерфейсу MATLAB
Для демонстрації зв'язку Bluetooth за допомогою графічного інтерфейсу MATLAB ми створимо три графічні кнопки в MATLAB, щоб увімкнути, вимкнути і блимати світлодіодом, підключеним до Arduino. Дані надсилатимуться через Bluetooth з MATLAB на HC-05 після натискання цих графічних кнопок. Arduino містить код для прийому переданих через Bluetooth даних від MATLAB до HC-05 та управління світлодіодом відповідно до отриманих даних. Код Arduino залишатиметься таким же, як і попередній, різниця лише в тому, що раніше ми надсилали дані '1' та '0' через командне вікно MATLAB, а тепер ті самі дані будуть надіслані при натисканні на три графічні кнопки.
Щоб запустити графічний інтерфейс, введіть команду нижче у вікні команд
путівник
Відкриється спливаюче вікно, після чого виберіть новий порожній графічний інтерфейс, як показано на малюнку нижче,
Тепер оберіть три кнопки для увімкнення, вимкнення та блимання світлодіода, як показано нижче,
Щоб змінити розмір або змінити форму кнопок, просто натисніть на неї, і ви зможете перетягувати кути кнопки. Двічі клацнувши на кнопці, ви можете змінити колір, рядок і тег цієї конкретної кнопки. Ми налаштували три кнопки, як показано на малюнку нижче.
Ви можете налаштувати кнопки відповідно до вашого вибору. Тепер, коли ви збережете це, у вікні редактора MATLAB буде сформовано код. Відредагуйте цей код відповідно до завдання, яке ви хочете виконати своїм Arduino при отриманні даних Bluetooth за допомогою графічного інтерфейсу MATLAB. Отже, нижче ми відредагували код MATLAB. Ви можете дізнатись більше про вікно команд, вікно редактора тощо у розділі Початок роботи з підручником MATLAB.
Повний код MATLAB для управління світлодіодами від MATLAB через Bluetooth наведено в кінці цього проекту. Далі ми додаємо сюди для завантаження файл графічного інтерфейсу (.fig) та файл коду (.m), за допомогою якого ви можете налаштувати кнопки відповідно до ваших вимог. Нижче наведено кілька налаштувань, які ми зробили для управління світлодіодом, підключеним до Arduino.
Скопіюйте та вставте наведений нижче код у рядок No. 74 для налаштування або підключення MATLAB до Bluetooth ноутбука.
очистити всі; глобальний bt; instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); фопен (bt);
де fopen (bt) використовується для відкриття порту Bluetooth для передачі даних.
Тепер, прокрутивши вниз, ви побачите, що в графічному інтерфейсі є три функції, створені для трьох кнопок. Тепер напишіть код у функціях відповідно до завдання, яке ви хочете виконати за кліком.
У функції кнопки УВІМК. Світлодіода скопіюйте та вставте наведений нижче код безпосередньо перед закінченням функції, щоб увімкнути світлодіод. У наведеному нижче коді fprintf (bt, '1') використовується для надсилання '1' з MATLAB на HC-05 за допомогою Bluetooth ноутбука. Arduino отримає ці дані від 1 до HC-05 і засвітить світлодіод, зробивши 11- й висновок ВИСОКИМ.
глобальний bt; fprintf (bt, '1');
У функції кнопки вимкнення світлодіода скопіюйте та вставте наведений нижче код безпосередньо перед закінченням функції, щоб вимкнути світлодіод. У наведеному нижче коді 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 та налаштування апаратного забезпечення відповідно до схеми, просто натисніть кнопку запуску, щоб запустити відредагований код у файлі.m.
MATLAB може зайняти кілька секунд, щоб відповісти, не натискайте жодну кнопку графічного інтерфейсу, поки MATLAB не покаже індикацію зайнятості, яку ви можете побачити в лівому нижньому куті екрана, як показано нижче,
Коли все буде готово, натисніть кнопку «LED-ON», «OFF» та «BLINK», щоб увімкнути, вимкнути та блимати світлодіодом відповідно. Усі файли коду для цього проекту можна завантажити звідси або скористатися кодом, наведеним нижче.
Перегляньте відео нижче, щоб зрозуміти повний процес надсилання даних з MATLAB в Arduino через Bluetooth за допомогою графічного інтерфейсу MATLAB.