Как разработать систему домашней автоматизации на базе Arduino с помощью пульта дистанционного управления телевизором?

Система домашней автоматизации - это самая быстрорастущая концепция современного мира. Умная домашняя автоматизация - это концепция, в которой одно устройство используется для управления различными электронными параметрами дома, например, переключение бытовой техники, мониторинг охранной сигнализации, автоматизация гаражных ворот и т. Д.



Система автоматизации с помощью пульта от телевизора

В этом проекте мы будем использовать простой пульт от телевизора, чтобы создать простую систему домашней автоматизации. Этот пульт от телевизора будет управлять всеми приборами, подключенными к плате микроконтроллера.



Как использовать пульт от телевизора для создания системы домашней автоматизации?

Системы домашней автоматизации, которые уже доступны на рынке, очень дороги. Мы можем использовать плату Arduino для подключения различных бытовых приборов и управления ими с помощью пульта дистанционного управления от телевизора. Это будет очень дешевым и эффективным способом автоматизации дома. Теперь давайте сделаем шаг вперед и начнем сбор информации для запуска проекта.



Шаг 1: Сбор компонентов

Лучший подход к началу любого проекта - это составить список компонентов и провести их краткое изучение, потому что никто не захочет оставаться в середине проекта только из-за отсутствия компонента. Список компонентов, которые мы собираемся использовать в этом проекте, приведен ниже:



  • TSOP 1738 ИК-приемник
  • Дистанционное управление
  • Макетная плата
  • Перемычки

Шаг 2: Изучение компонентов

Теперь, когда мы знаем, какие компоненты мы собираемся использовать, давайте кратко их изучим, чтобы лучше понять, как работает наша схема.

Arduino Nano - это плата микроконтроллера, которая выполняет различные операции в разных схемах. Это требует Код C который сообщает доске, какие задачи и как выполнять. Он имеет 13 цифровых контактов ввода / вывода, что означает, что мы можем управлять 13 различными устройствами. Если вы хотите управлять более чем 13 устройствами, используйте Arduino Mega.

Ардуино Нано



TSOP 1738 - это ИК-модуль для дистанционного управления. Он имеет несущую частоту 38 кГц. Он состоит из фотодетектора, который обнаруживает сигнал, а затем демодулирует его. Его выход напрямую используется Arduino или любой другой платой микроконтроллера.

Датчик TSOP

Релейный модуль - это переключающее устройство. Работает в двух режимах, Нормально открытый (НЕТ) и Обычно Закрыто (NC) . В режиме NO схема всегда разрывается, если вы не отправляете сигнал HIGH на реле через Arduino. Режим NC работает наоборот. Схема всегда замкнута, если вы не включите модуль реле. Убедитесь, что вы подключили положительный провод вашего электрического устройства к модулю реле, как показано ниже.

Модуль реле

На стандартном пульте дистанционного управления телевизора есть кнопка питания и все цифровые клавиши. Эти цифровые клавиши будут использоваться для переключения электроприборов.

Шаг 3: создание схемы

Теперь, когда мы знаем, как работают все компоненты, давайте продолжим и начнем создавать схему.

  1. Возьмите макет и вставьте в него Arduino Nano и TSOP 1738.
  2. Включите модуль TSOP 1738 и модуль реле через Arduino. Подключите ИЗ штырь TSOP1738 к контакту 11 Arduino, а также подключите В контакты модуля реле к Arduino. Я управляю только двумя электроприборами, поэтому использую только релейные модули. Если вы хотите управлять большим количеством устройств, аналогичным образом подключите больше модулей реле.

    Принципиальная электрическая схема

Шаг 4: Начало работы с Arduino

Если вы раньше не работали над Arduino IDE, не волнуйтесь, потому что пошаговые инструкции по настройке Arduino IDE показаны ниже.

  1. Подключите плату Arduino к ПК и откройте панель управления. Нажмите на Оборудование и звук. Теперь откройте Устройства и принтер и найдите порт, к которому подключена ваша плата. В моем случае это COM14 но на разных компьютерах он разный.

    Поиск порта

  2. Щелкните меню инструментов и установите доску как Arduino Nano (AT Mega 328P) .

    Доска настроек

  3. Снова щелкните меню «Инструменты» и установите порт, который вы наблюдали на панели управления ранее.

    Настройка порта

  4. В том же меню инструментов установите процессор как ATmega328p (старый загрузчик) .

    Настройка процессора

  5. Чтобы декодировать данные, отправленные пультом дистанционного управления, нам нужна специальная библиотека для кода Arduino. Эта библиотека прилагается вместе с кодом по ссылке ниже. Чтобы добавить библиотеку goto Эскиз> Включить библиотеку> Добавить библиотеку ZIP . Появится окно. Найдите папку ZIP на вашем компьютере и нажмите OK, чтобы добавить папку.

    Включить библиотеку

  6. Загрузите приведенный ниже код и нажмите кнопку загрузки, чтобы записать код на плату Arduino Nano.

    Загрузить

Нажми на скачать кнопку, чтобы получить код.

Шаг 5: Код

Код очень прост для понимания, но, тем не менее, он кратко описан ниже.

1. установка void () это функция, в которой мы инициализируем контакты INPUT или OUTPUT. Эта функция также устанавливает скорость передачи с помощью Serial.begin () команда. Baud Rate - это скорость передачи данных микроконтроллера.

2. пустой цикл () - это функция, которая многократно выполняется в цикле. В этом цикле мы пишем код, который сообщает плате микроконтроллера, какие задачи и как выполнять.

3. Когда мы отправляем данные с пульта дистанционного управления телевизора, Arduino необходимо декодировать эти данные. Для этого мы включили специальную библиотеку #включают <IRremote.h>. Функция в этой библиотеке будет использоваться для декодирования данных каждого ключа, отправленного с пульта дистанционного управления.

# включить int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); decode_results результаты; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {если (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } задержка (100); }

Приведенный выше код считывает значения, отправленные с пульта дистанционного управления, и декодирует их в соответствующее шестнадцатеричное значение. Этот код взят из примеров библиотеки IRremote в Arduino IDE. Этот код также прикреплен к ссылке для скачивания под именем test.ino предоставлено выше. Результатом этой функции при нажатии всех цифровых клавиш будет:

Декодировать

4. В code.ino В приведенной выше ссылке для загрузки инициализируются контакты Arduino, которые будут использоваться. в пустой цикл () функция, когда кнопка на пульте дистанционного управления нажата, первоначально Ложь состояние превращено в Правда и соответствующее реле включается. Если эта же кнопка будет нажата еще раз, это переключит логическое условие и выключит реле. Кнопка питания включает или выключает все реле.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); задержка (100); если (results.value == 0x40BD00FF) {я =! я; digitalWrite (IN1, i); } если (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // задержка (200); } если (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // задержка (200); } irrecv.resume (); // Получение следующего значения // delay (100); }}

Это была вся процедура создания простой системы домашней автоматизации, управляемой пультом дистанционного управления телевизора. Теперь вы можете подключать релейные модули в соответствии с количеством ваших приборов и пользоваться собственной системой автоматизации умного дома.