Все мы знакомы со словом «автоматизация», где человеческое взаимодействие минимально, а все может управляться автоматически или удаленно. Домашняя автоматизация - очень популярная и требовательная концепция в области электроники, и мы также делаем все возможное, чтобы сделать эту концепцию легко понятной и управляемой как «Проекты электроники». Ранее мы разработали несколько типов проектов домашней автоматизации с работающим видео и кодом, пожалуйста, проверьте:
- Домашняя автоматизация на основе 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 ». Для этого выполните следующие действия или посмотрите видео ниже:
- Загрузите пакет Arduino IO здесь. Вам необходимо зарегистрироваться перед загрузкой.
- Затем запишите / загрузите файл adioe.pde в Arduino с помощью Arduino IDE. Этот файл adioe.pde можно найти в пакете ввода-вывода Arduino - 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), также известный как « файл 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-реле подключены к контактам 3, 4 и 5 Arduino через драйвер реле ULN2003 для управления ОСВЕЩЕНИЕМ, ВЕНТИЛЯТОРОМ и ТВ соответственно.
Объяснение программирования:
Когда мы нажимаем любую кнопку в окне графического интерфейса пользователя, он отправляет некоторые команды в Arduino, а затем Arduino выполняет эту операцию. После установки пакета поддержки Arduino MATLAB IO мы можем получить доступ к Arduino из MATLAB, используя те же функции Arduino с некоторыми небольшими вариациями, например:
Чтобы сделать вывод ВЫСОКИМ в Arduino, мы пишем код как digitalWrite (pin, HIGH)
В MATLAB мы будем использовать эту функцию с помощью объекта или переменной, например, и так далее.
Перед этим мы должны инициализировать переменную следующим образом:
В этом проекте нет кода Arduino, кроме кода или файла пакета поддержки Arduino MATLAB. Как объяснялось ранее, этот файл кода (файл.m) автоматически создается при сохранении файла графического интерфейса пользователя (файл.fig). В файле.m уже есть код. В основном это функции обратного вызова для кнопок, то есть мы можем определить, что должно происходить при нажатии на эти кнопки.
В коде MATLAB сначала мы инициализируем последовательный порт и делаем его объектом с помощью переменной. А затем мы можем начать программировать, как Arduino, используя переменную.
очистить ар; глобальный ар; ar = arduino ('COM13'); ar.pinMode (3, 'ВЫХОД'); ar.pinMode (4, 'ВЫВОД'); ar.pinMode (5, 'ВЫХОД'); ar.pinMode (13, 'ВЫХОД');
В функции обратного вызова для каждой кнопки мы написали соответствующий код для включения или выключения соответствующей бытовой техники, подключенной к Arduino через реле. Как, например, функция обратного вызова для Light ON приведена ниже:
function light_on_Callback (hObject, eventdata, handles)% hObject дескриптор для light_on (см. GCBO)% eventdata зарезервирован - будет определен в будущей версии MATLAB.% обрабатывает структуру с дескрипторами и пользовательскими данными (см. GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Точно так же мы можем написать код в функциях обратного вызова всех кнопок, чтобы управлять другими подключенными бытовыми приборами, проверьте полный код MATLAB ниже (файл.m).