- Створення графічного інтерфейсу користувача MATLAB для побудови графіку
- Код MATLAB для побудови графіку
- Необхідний матеріал
- Кругова діаграма
- Побудуйте графік за допомогою MATLAB
Графіки завжди корисні для візуалізації даних, і стає дуже легко знайти тенденції та закономірності, дивлячись на них. Існує багато програмного забезпечення для побудови графіків на основі вхідних значень, сьогодні ми будемо використовувати MATLAB для побудови графіків на основі даних про температуру від датчика LM35. Цей підручник дасть вам основне уявлення про те, як побудувати графік реального часу за допомогою MATLAB. Тут використовується Arduino Uno для отримання даних про температуру з датчика температури LM35.
Перш ніж продовжувати далі, якщо ви новачок у MATLAB, ви можете переглянути наші попередні підручники з MATLAB для кращого заниження:
- Початок роботи з MATLAB: короткий вступ
- Взаємодія Arduino з MATLAB - блимає світлодіод
- Послідовний зв’язок між MATLAB та Arduino
- Управління двигуном постійного струму за допомогою MATLAB та Arduino
- Управління кроковим двигуном за допомогою MATLAB та Arduino
Створення графічного інтерфейсу користувача MATLAB для побудови графіку
Спочатку ми повинні побудувати графічний інтерфейс (графічний інтерфейс користувача) для побудови графіку з даними про температуру. Щоб запустити графічний інтерфейс, введіть команду нижче у вікні команд
путівник
Відкриється спливаюче вікно, після чого виберіть новий порожній графічний інтерфейс, як показано на малюнку нижче,
Тепер нам потрібно вибрати одну кнопку, дві осі та одне текстове поле для графічного інтерфейсу MATLAB . Кнопка буде використана для запуску зондування температури, дві осі для побудови графіку та текстове поле для відображення поточного значення температури.
Щоб змінити розмір або змінити форму кнопки, осей або кнопки редагування тексту, просто натисніть на неї, і ви зможете перетягувати кути кнопки. Двічі клацнувши на будь-якому з них, ви зможете змінити колір, рядок та тег цієї конкретної кнопки. Після налаштування це буде виглядати так
Ви можете налаштувати кнопки відповідно до вашого вибору. Тепер, коли ви це зберігаєте, у вікні редактора MATLAB генерується код. Щоб ваш Arduino виконував якесь конкретне завдання, пов’язане з вашим проектом, вам завжди потрібно редагувати цей згенерований код. Отже, нижче ми відредагували код MATLAB. Ви можете дізнатись більше про вікно команд, вікно редактора тощо у розділі Початок роботи з підручником MATLAB.
Код MATLAB для побудови графіку
Повний код MATLAB для проектування термометра за допомогою LM35 та Arduino наведено в кінці цього проекту. Далі ми додаємо сюди для завантаження файл графічного інтерфейсу (.fig) та файл коду (.m), за допомогою якого ви можете налаштувати розмір кнопок або осей відповідно до ваших вимог. Ми відредагували згенерований код, як пояснено нижче.
Скопіюйте та вставте наведений нижче код у рядок No. 74, щоб переконатися, що Arduino розмовляє з MATLAB кожного разу, коли ви запускаєте m-файл .
очистити все; глобальний a; a = arduino ();
Прокрутивши вниз, ви побачите, що в графічному інтерфейсі створено дві функції для кнопки та редагування тексту , для осей не буде створено жодної функції. Тепер напишіть код у кнопковій кнопці (кнопка старту) відповідно до завдання, яке ви хочете виконати.
У функції кнопки « Пуск » скопіюйте та вставте наведений нижче код безпосередньо перед закінченням функції, щоб розпочати зондування температури. Для постійного зондування, відображення та графічного побудови температури ми використовуємо цикл while . Ми забезпечили паузу в 1 секунду після кожної ітерації, тому значення температури буде оновлюватися щосекунди.
х = 0; go = істина; глобальний a; while go value = readVoltage (a, 'A1'); temp = (значення * 100); disp (темп); x =; сюжет (ручки.осі1, х); сітка на; xlabel ('Час (секунди)') ylabel ('Температура (° C)'); заголовок ('Графік температури в режимі реального часу'); drawnow set (handles.edit1, 'String', num2str (temp)); пауза (1); кінець
Тепер давайте подивимось, як працює код. В нижче три рядки лінії ми встановили початкове значення « х » до нуля, визначення « йти », як вірно почати той час як цикл і оголосили « глобальних а» для виклику Arduino в функції.
х = 0; go = істина; глобальний a;
Нижче рядка коду використовується для визначення значення напруги з аналогового виводу А1 Arduino, який підключений до виводу 'OUT' датчика температури LM35. Виходом буде значення напруги, а не аналогове значення.
значення = readVoltage (a, 'A1');
Тут ми можемо безпосередньо перетворити значення напруги у значення температури (градус Цельсія), помноживши його на 10
temp = (значення * 100);
Тепер для побудови графіку використовується функція "plot (handles.axes1, x)" , де axes1 - це посилання або назва області Графіка . Отже, якщо ви складаєте графік більше одного графіка, то вам просто потрібно змінити назву осей, наприклад, якщо ви побудуєте інший графік, ви можете написати графік (handles.axes2, x) '
'Сітка увімкнена' використовується для У вікні сітки графіка , 'xlabel', 'ylabel' та ' title ' використовуються для іменування осей x, осі y та заголовка.
сюжет (ручки.осі1, х); сітка на; xlabel ('Час (секунди)') ylabel ('Температура (° C)'); заголовок ('Графік температури в режимі реального часу');
' Drawnow' використовується для оновлення графічного подання в режимі реального часу.
drawnow
Для відображення значення температури в текстовому полі редагування використовується кожна друга команда нижче, набір (handles.edit1, 'String', num2str (temp));
Необхідний матеріал
- MATLAB встановив ноутбук (Налаштування: R2016a або новіші версії)
- Arduino UNO
- LM35 - Датчик температури
- Підключення проводів
- Макет
Кругова діаграма
Побудуйте графік за допомогою MATLAB
Після налаштування обладнання відповідно до принципової схеми, просто натисніть кнопку запуску, щоб запустити відредагований код у файлі.m
MATLAB може зайняти кілька секунд, щоб відповісти, не натискайте жодної кнопки графічного інтерфейсу, поки MATLAB не покаже повідомлення про зайнятість у нижньому лівому куті, як показано нижче,
Коли все буде готово, натисніть кнопку «Пуск», і ви почнете отримувати дані про температуру в графічній області та в полі « Редагувати текст» . Значення буде автоматично оновлюватися кожну секунду. Цей інтервал в одну секунду ви можете відповідно змінити в коді MATLAB.
Результат буде виглядати так, як показано на малюнку нижче,
Ось як ви можете побудувати графік для будь-якого вхідного значення з Arduino за допомогою MATLAB.
Перевірте демонстраційне відео нижче для правильного розуміння.