- Создание графического интерфейса пользователя MATLAB для построения графика
- Код MATLAB для построения графика
- Необходимый материал
- Принципиальная электрическая схема
- Постройте график с помощью MATLAB
Графики всегда полезны для визуализации данных, и становится очень легко найти тенденции и закономерности, глядя на них. Существует много программного обеспечения для построения графиков на основе входных значений, сегодня мы будем использовать MATLAB для построения графика на основе данных о температуре от датчика LM35. Этот учебник даст вам базовое представление о том, как построить график в реальном времени с помощью MATLAB. Здесь Arduino Uno используется для получения данных о температуре от датчика температуры LM35.
Прежде чем продолжить, если вы новичок в MATLAB, вы можете проверить наши предыдущие учебные пособия по MATLAB для лучшего понимания:
- Начало работы с MATLAB: краткое введение
- Взаимодействие Arduino с MATLAB - мигающий светодиод
- Последовательная связь между MATLAB и Arduino
- Управление двигателем постоянного тока с использованием MATLAB и Arduino
- Управление шаговым двигателем с использованием MATLAB и Arduino
Создание графического интерфейса пользователя MATLAB для построения графика
Сначала нам нужно создать GUI (графический интерфейс пользователя) для построения графика с данными о температуре. Чтобы запустить графический интерфейс, введите следующую команду в командном окне
руководство
Откроется всплывающее окно, затем выберите новый пустой графический интерфейс, как показано на изображении ниже,
Теперь нам нужно выбрать одну кнопку, две оси и одно текстовое поле для графического интерфейса MATLAB . Кнопка будет использоваться для запуска измерения температуры, две оси для построения графика и текстовое поле для отображения текущего значения температуры.
Чтобы изменить размер или форму кнопки, осей или кнопки редактирования текста, просто нажмите на нее, и вы сможете перетащить углы кнопки. Двойным щелчком по любой из них вы сможете изменить цвет, строку и тег этой конкретной кнопки. После настройки это будет выглядеть так
Вы можете настроить кнопки по своему усмотрению. Теперь, когда вы сохраняете это, код создается в окне редактора MATLAB. Чтобы заставить ваш Arduino выполнять какую-либо конкретную задачу, связанную с вашим проектом, вам всегда нужно редактировать этот сгенерированный код. Итак, ниже мы отредактировали код MATLAB. Вы можете узнать больше о командном окне, окне редактора и т. Д. В руководстве Начало работы с MATLAB.
Код MATLAB для построения графика
Полный код MATLAB для проектирования термометра с использованием LM35 и Arduino приведен в конце этого проекта. Кроме того, мы включаем сюда файл графического интерфейса (.fig) и файл кода (.m) для загрузки, с помощью которого вы можете настроить размер кнопок или осей в соответствии с вашими требованиями. Мы отредактировали сгенерированный код, как описано ниже.
Скопируйте и вставьте приведенный ниже код в строку № 74, чтобы убедиться, что Arduino общается с MATLAB каждый раз, когда вы запускаете m-файл .
очистить все; глобальный a; а = ардуино ();
Когда вы прокрутите вниз, вы увидите, что есть две функции, созданные для Pushbutton и Edit Text в графическом интерфейсе, для Axes функция не будет создана. Теперь напишите код в функции Pushbutton (кнопка запуска) в соответствии с задачей, которую вы хотите выполнить.
В функции кнопки « Пуск » скопируйте и вставьте приведенный ниже код непосредственно перед окончанием функции, чтобы начать измерение температуры. Для непрерывного измерения, отображения и графического построения температуры мы используем цикл while . Мы предусмотрели паузу в 1 секунду после каждой итерации, поэтому значение температуры будет обновляться каждую секунду.
х = 0; go = true; глобальный a; в то время как значение go = readVoltage (a, 'A1'); temp = (значение * 100); disp (темп); х =; сюжет (handles.axes1, x); сетка включена; xlabel ('Время (секунды)') ylabel ('Температура (° C)'); title («График температуры в реальном времени»); drawow set (handles.edit1, 'String', num2str (temp)); пауза (1); конец
Теперь давайте посмотрим, как работает код. В ниже три строки линии мы установили начальное значение « х » к нулю, определение « идти », как верно начать то время как цикл и объявили « глобальных а» для вызова Arduino в функции.
х = 0; go = true; глобальный a;
Следующая строка кода используется для измерения значения напряжения с аналогового вывода A1 Arduino, который подключен к выводу OUT датчика температуры LM35. На выходе будет значение напряжения, а не аналоговое значение.
значение = readVoltage (a, 'A1');
Здесь мы можем напрямую преобразовать значение напряжения в значение температуры (градусы Цельсия), умножив его на 10.
temp = (значение * 100);
Теперь для построения графика используется функция plot (handles.axes1, x) , где axes1 - ссылка или имя области графика. Поэтому, если вы строите более одного графика, вам просто нужно изменить имя осей, например, если вы построите другой график, вы можете написать plot (handles.axes2, x) '
«Сетка на» используется для отображения графика в виде сетки , «xlabel», «ylabel» и « title » используются для обозначения оси x, оси y и заголовка.
сюжет (handles.axes1, x); сетка включена; xlabel ('Время (секунды)') ylabel ('Температура (° C)'); title («График температуры в реальном времени»);
« Drawnow» используется для обновления графического представления в реальном времени.
нарисованный
Для отображения значения температуры в текстовом поле редактирования каждую секунду используется команда ниже:
set (handles.edit1, 'String', num2str (temp));
Необходимый материал
- MATLAB установил ноутбук (предпочтение: версии R2016a или выше)
- Arduino UNO
- LM35 - Датчик температуры
- Подключение проводов
- Макетная плата
Принципиальная электрическая схема
Постройте график с помощью MATLAB
После настройки оборудования в соответствии с принципиальной схемой, просто нажмите кнопку запуска, чтобы запустить отредактированный код в файле.m
MATLAB может занять несколько секунд, чтобы ответить, не нажимайте никакие кнопки графического интерфейса, пока MATLAB не покажет сообщение о занятости в нижнем левом углу, как показано ниже,
Когда все будет готово, нажмите кнопку запуска, и вы начнете получать данные о температуре в графической области и в поле редактирования текста . Значение будет автоматически обновляться каждую секунду. Этот интервал в одну секунду вы можете соответственно изменить в коде MATLAB.
Результат будет похож на изображение, показанное ниже,
Вот как вы можете построить график для любого входящего значения от Arduino с помощью MATLAB.
Просмотрите демонстрационное видео ниже для правильного понимания.