Ми всі знайомі зі словом «автоматизація», де взаємодія людини мінімальна, і речами можна керувати автоматично або віддалено. Домашня автоматизація є дуже популярною та вимогливою концепцією в галузі електроніки, і ми також докладаємо максимум зусиль, щоб зробити цю концепцію легко зрозумілою та керованою як Електронні проекти. Раніше ми розробили кілька типів проектів автоматизації будинку з діючим відео та кодом, перевірте:
- Домашня автоматизація на основі DTMF
- Домашня автоматизація на базі GSM за допомогою Arduino
- Автоматизація будинку за допомогою ПК за допомогою Arduino
- Автоматизація будинку, керована Bluetooth, за допомогою 8051
- ІЧ-дистанційне керування домашньою автоматизацією за допомогою Arduino
І в цьому проекті ми збираємося створити наш наступний проект автоматизації будинків за допомогою MATLAB та Arduino, що є системою домашньої автоматизації на базі графічного інтерфейсу із використанням Arduino та MATLAB
Компоненти:
- Arduino UNO
- USB-кабель
- ULN2003
- Реле 5 вольт
- Лампочка з тримачем
- Підключення проводів
- Ноутбук
- Блок живлення
- PVT
Робоче пояснення:
У цьому проекті ми використовуємо MATLAB з Arduino для управління побутовою технікою за допомогою графічного інтерфейсу користувача в комп’ютері. Тут ми використовували дротовий зв’язок для передачі даних з комп’ютера (MATLAB) на Arduino. Що стосується комп'ютера, ми використовували графічний інтерфейс користувача в MATLAB, щоб створити деякі кнопки для управління побутовою технікою. Для спілкування між Arduino та MATLAB спочатку нам потрібно встановити “ MATLAB та підтримку Simulink для Arduino ” або “ Пакет Arduino IO ”. Для цього виконайте наведені нижче дії або перегляньте відео нижче:
- Завантажте пакет Arduino IO звідси. Вам потрібно зареєструватися перед завантаженням.
- Потім запишіть / завантажте файл adioe.pde в Arduino за допомогою IDE Arduino. Цей файл adioe.pde можна знайти в пакеті Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Потім відкрийте програмне забезпечення MATLAB, перейдіть до папки Arduino IO, відкрийте файл install_arduino.m і запустіть його в Matlab. Ви побачите повідомлення “Папки Arduino, додані до шляху”, у вікні команди MATLAB, означає, що шлях MATLAB оновлений до папок Arduino.
Ось так ми робимо Arduino, спілкуємося з MATLAB. Вищевказаний спосіб підходить для “MATLAB R2013b або попередніх версій”, якщо ви використовуєте вищу версію MATLAB (наприклад, R2015b або R2016a), ви можете безпосередньо клацнути на вкладці Додатки в MATLAB, а потім натиснути “Отримати пакети підтримки обладнання”, звідки ви можете встановити пакети Arduino для MATLAB.
Після встановлення файлів тепер ви можете створити графічний інтерфейс для проекту автоматизації будинків. В основному в графічному інтерфейсі ми створюємо кнопки для управління побутовою технікою з комп’ютера. Кнопки можна створити, перейшовши в “Графічний інтерфейс користувача” в меню “Нове” в MATLAB. Далі ми можемо встановити назву та кольори цих кнопок, ми створили 8 кнопок, у яких від шести до УВІМК.
Тепер після створення кнопок, коли ви натискаєте кнопку Виконати у цьому вікні графічного інтерфейсу, він попросить вас зберегти цей файл графічного інтерфейсу (із розширенням.fig), також відомий як `` файл фігу ''. Як тільки ви збережете файл, він автоматично створить файл коду (з розширенням.m), також відомий як " файл M" (див. Знімок екрана нижче), куди ви можете вставити код (наведений у розділі коду нижче). Ви можете завантажити GUI-файл та файл коду для цього проекту звідси: Home_Automation_system.fig та Home_Automation_system.m (клацніть правою кнопкою миші та виберіть Зберегти посилання як…), або ви можете створити їх самостійно, як ми вже пояснили.
Після кодування ви можете нарешті запустити файл.m із вікна коду, у вікні команди ви побачите “Спроба підключення..”. Потім з’являється повідомлення «Arduino успішно підключено», якщо все вдається. І нарешті, ви побачите раніше створений графічний інтерфейс (кнопки) у вікні графічного інтерфейсу, звідки ви можете керувати побутовою технікою, просто натискаючи кнопки на вашому комп’ютері. Переконайтеся, що Arduino підключений до Arduino через USB-кабель. У цьому проекті ми використали 3 лампи для демонстрації, що вказує на вентилятор, світло та телевізор.
Робота всього проекту, від встановлення пакету підтримки Arduino MATLAB до Увімкнення та Вимкнення приладу, можна зрозуміти у відео в кінці.
Пояснення схеми:
Схема цього проекту дуже проста. Тут ми використовували плату Arduino UNO та драйвер реле ULN2003 для приводних реле. Три 5-вольтові реле SPDT підключені до виводів Arduino No 3, 4 і 5 через драйвер реле ULN2003 для управління СВІТЛОМ, ВЕНТИЛЯТОРОМ і ТВ.
Пояснення програмування:
Коли ми натискаємо будь-яку кнопку з вікна графічного інтерфейсу, він надсилає деякі команди Arduino, а потім Arduino виконує цю операцію. Після встановлення пакету підтримки Arduino MATLAB IO ми можемо отримати доступ до Arduino з MATLAB, використовуючи ті самі функції Arduino, з невеликими варіаціями, як:
Для того, щоб зробити pin HIGH в Arduino, ми пишемо код як digitalWrite (pin, HIGH)
У MATLAB ми будемо використовувати цю функцію за допомогою об'єкта або змінної типу, і так само так далі.
Перш ніж це зробити, ми повинні ініціалізувати змінну так:
У цьому проекті немає коду Arduino, крім коду пакета підтримки Arduino MATLAB або файлу. Як пояснювалося раніше, файл коду (файл.m) автоматично генерується під час збереження файлу графічного інтерфейсу (файл.fig). У файлі.m вже є певний код, попередньо записаний. В основному це функції зворотного виклику для кнопок, це означає, що ми можемо визначити, що має статися при натисканні на ці кнопки.
У коді MATLAB спочатку ми ініціалізуємо послідовний порт і робимо його об’єктом за допомогою змінної. І тоді ми можемо почати програмувати, як Arduino, використовуючи змінну.
прозорий ар; глобальний ar; ar = arduino ('COM13'); ar.pinMode (3, 'ВИХІД'); ar.pinMode (4, 'ВИХІД'); ar.pinMode (5, 'ВИХІД'); ar.pinMode (13, 'ВИХІД');
У функції зворотного дзвінка кожної кнопки ми написали відповідний код для Увімкнення та Вимкнення відповідної побутової техніки, підключеної до Arduino через реле. Як, наприклад, функція зворотного виклику для Light ON подана нижче:
функція light_on_Callback (hObject, eventdata, handles)% hObject handle для light_on (див. GCBO)% eventdata зарезервована - буде визначена в майбутній версії MATLAB% handles structure with handles and user data (see GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Так само ми можемо написати код у функціях зворотного виклику всіх кнопок, щоб керувати іншими підключеними побутовими приладами, перевірте повний код MATLAB нижче (файл.m).