Управление нагрузкой с помощью ИК пульта и Arduino

В статье приведу пример управления нагрузкой с помощью ИК-пульта и Arduino UNO. При необходимости программу можно легко изменить, для управления сервоприводом или другом устройством при нажатии любой кнопки.

Управление нагрузкой с помощью ИК пульта и Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Модуль реле 4-о канальный x 1 шт.
► Модуля HX1838 с ИК пультом x 1 шт.
► Провод DuPont x 1 шт.

Описание:
В данном примере используется приемник HX1838, 4-х канальное реле и Arduino UNO. Для переключения реле, используется стандартный 21 кнопочный пульт, при нажатии кнопки 1, 2, 3, 4, 5, 6, 7, 8 переключается реле 1, 2, 3, 4, при необходимости можно использовать пульт от телевизора, кондера и так далее.

Подключение:
Первым делом, подключим приемник HX1838 к Arduino UNO, для этого крайний левый выход приемника подключаем к выводу 7 (Arduino UNO), средний вывод GND подключаем к GND (Arduino UNO) и крайний левый вывод 5В, подключаем к выводу 5В (Arduino). Теперь, осталось подключить 4-х канальное реле, для этого подключим выводы in1, in2, in3, in4 к выводам 3, 4, 5, 6. Так же подключаем питание.

Программа:
Приведенный ниже скетч будет переключать цифровые вывода 2, 3, 4, 5 в LOW при нажати кнопок 1, 3, 5, 7 и в положение HIGH при нажатии 2, 4, 6, 8.

/*
Тестировалось на Arduino IDE 1.8.5
Дата тестирования 03.04.2021г.
*/ 

#include <IRremote.h>                            // Подключаем библиотеку IRremote

const int RECV_PIN = 6;                          // Указываем к какому выводу подключен IN
IRrecv irrecv(RECV_PIN);
decode_results results;
int in1 = 2;                                     // Указываем вывод реле 1
int in2 = 3;                                     // Указываем вывод реле 2
int in3 = 4;                                     // Указываем вывод реле 3
int in4 = 5;                                     // Указываем вывод реле 4

void setup()
{
  irrecv.enableIRIn();
  irrecv.blink13(true);
  pinMode(in1, OUTPUT);                          
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, HIGH);
  Serial.begin(9600);
}

void loop()
{
    if (irrecv.decode(&results))
    {
      switch(results.value)
      {
       case 0xFF30CF:                           // Кнопка "1"
       Serial.println ("Relay 1 - ON");
       digitalWrite(in1, LOW);
       }
      switch(results.value)
      {
       case 0xFF18E7:                           // Кнопка "2"
       Serial.println ("Relay 1 - OFF");
       digitalWrite(in1, HIGH);
       delay(500);
      }
      switch(results.value)
      {
       case 0xFF7A85:                           // Кнопка "3"
       Serial.println ("Relay 2 - ON");
      digitalWrite(in2, LOW);
      }
      switch(results.value)
      {
       case 0xFF10EF:                           // Кнопка "4"
       Serial.println ("Relay 1 - OFF");
      digitalWrite(in2, HIGH);
      }
      switch(results.value)
      {
       case 0xFF38C7:                           // Кнопка "5"
       Serial.println ("Relay 3 - ON");
      digitalWrite(in3, LOW);
      }
      switch(results.value)
      {
       case 0xFF5AA5:                           // Кнопка "6"
       Serial.println ("Relay 1 - OFF");
          digitalWrite(in3, HIGH);
      }
      switch(results.value)
      {
       case 0xFF42BD:                           // Кнопка "7"
       Serial.println ("Relay 4 - ON");
       digitalWrite(in4, LOW);
      }
      switch(results.value)
      {
       case 0xFF4AB5:                           // Кнопка "8"
       Serial.println ("Relay 1 - OFF");
      digitalWrite(in4, HIGH);
      }
      irrecv.resume(); 
    }
}

 Скачать скетч

Для работы скетча необходимо установить одну библиотеку IRremote, установить ее можно через «Менеджер библиотек» или скачать в конце статьи.

Ссылки
  Библиотека IRremote v.2.2.0

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Комплект проводов DuPont, 2,54 мм, 20 см
  Модуль HX1838 с ИК пультом
  Модуль реле 4-х канальный 

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Модуль HX1838 с ИК пультом
 Модуль реле 4-х канальный

About Сергей

Check Also

Подключение индуктивного датчик SN04-N к Arduino

Подключение индуктивного датчик SN04-N к Arduino

В статье расскажу об индуктивном датчике SN04-N (SN04-P), который представляет собой компактное и недорогое устройство, …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *