- Необходимые компоненты
- Принципиальная электрическая схема
- Связь 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)
- LED (любой цвет)
- Резистор (330 Ом)
- Перемычки
Чтобы узнать больше о HC-05 и его взаимодействии с Arduino, ознакомьтесь со следующими статьями.
- Сервомотор, управляемый Bluetooth, с использованием Arduino
- Светодиоды с голосовым управлением с использованием Arduino и Bluetooth
- AC, управляемый сотовым телефоном, с помощью 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); fopen (bt);
В приведенном ниже коде команда fprintf (bt, '0') используется для выключения светодиода путем отправки '0' в Arduino. Теперь, если вы хотите включить светодиод, просто отправьте «1» вместо «0», используя следующую команду.
fprintf (bt, '1');
Чтобы проверить информацию о доступном оборудовании, используйте команду ниже
instrhwinfo ('тип', 'Имя устройства');
Чтобы открыть порт Bluetooth, используйте команду ниже
fopen (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.
Скопируйте и вставьте приведенный ниже код в строку № 74, чтобы настроить или подключить MATLAB к Bluetooth ноутбука.
очистить все; глобальный bt; instrhwinfo («Bluetooth», «HC-05»); bt = Bluetooth ('HC-05', 1); fopen (bt);
где fopen (bt) используется для открытия порта Bluetooth для передачи данных.
Теперь, когда вы прокрутите вниз, вы увидите, что для трех кнопок в графическом интерфейсе созданы три функции. Теперь напишите код в функциях в соответствии с задачей, которую вы хотите выполнить при нажатии.
В LED ON функции баттона, скопируйте и вставьте приведенный ниже код непосредственно перед окончанием функции для включения светодиода. В приведенном ниже коде 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 используйте приведенный ниже код, чтобы светодиод мигал. Цикл for используется для мигания светодиода 10 раз.
глобальный bt; для i = 1:10 fprintf (bt, '1'); пауза (0,5); fprintf (bt, '0'); пауза (0,5); конец
После завершения кодирования MATLAB GUI и настройки оборудования в соответствии со схемой, просто нажмите кнопку запуска, чтобы запустить отредактированный код в файле.m.
MATLAB может занять несколько секунд, чтобы ответить, не нажимайте ни одну кнопку графического интерфейса, пока MATLAB не покажет индикацию BUSY, которую вы можете видеть в левом нижнем углу экрана, как показано ниже,
Когда все будет готово, нажмите на LED-ON, LED OFF и кнопку BLINK для включения, выключения и мигания индикатора соответственно. Все файлы кода для этого проекта можно скачать здесь или использовать приведенный ниже код.
Посмотрите видео ниже, чтобы понять полный процесс отправки данных из MATLAB в Arduino через Bluetooth с использованием графического интерфейса MATLAB.