Управление светодиодами с помощью инфракрасного пульта на Arduino

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

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

Необходимые компоненты

Для реализации этого проекта вам понадобятся следующие компоненты:

  • Arduino (например, Arduino Uno)

  • Инфракрасный приемник (например, VS1838B)

  • Пульт дистанционного управления

  • Красный светодиод

  • Желтый светодиод

  • Резисторы (220 Ом для каждого светодиода)

  • Соединительные провода и макетная плата

Установка библиотеки AlashIRControlRX

Чтобы использовать библиотеку AlashIRControlRX, выполните следующие шаги:

  1. Скачайте библиотеку с официального сайта или из репозитория GitHub: AlashIRControl

  2. Откройте программу Arduino IDE и перейдите в меню «Скетч» → «Подключить библиотеку» → «Добавить .ZIP библиотеку…».

  3. В открывшемся окне выберите скачанный .zip файл и нажмите «Открыть».

  4. Снизу Arduino IDE появится сообщение “Библиотека добавлена. Проверьте меню “Подключить библиотеку””. Теперь библиотека будет доступна для использования в ваших проектах.

Подключение компонентов

  1. Инфракрасный приемник: Подключите выходной пин инфракрасного приемника к пину 2 на Arduino. Подключите питание (VCC) к 5V и GND к GND на Arduino.

  2. Красный светодиод: Подключите анод (длинная ножка) красного светодиода через резистор к пину 3 на Arduino, а катод (короткая ножка) к GND.

  3. Желтый светодиод: Подключите анод (длинная ножка) желтого светодиода через резистор к пину 4 на Arduino, а катод (короткая ножка) к GND.

Схема подключения

Схема подключения

Программирование Arduino

Используйте следующий код для управления светодиодами с помощью пульта дистанционного управления:

led_ir_remote.ino
#include <AlashIRControlRX.h>
// Пины для светодиодов
const int redLedPin = 3;
const int yellowLedPin = 4;
// Создаем объект IR приемника
AlashIRControlRX irReceiver(2); // Пин для IR приемника
void setup() {
  Serial.begin(9600);
  irReceiver.begin(); // Инициируем работу с ИК-приёмником
  // Настраиваем пины для светодиодов как выходы
  pinMode(redLedPin, OUTPUT);
  pinMode(yellowLedPin, OUTPUT);
  // Инициализация светодиодов в выключенном состоянии
  digitalWrite(redLedPin, LOW);
  digitalWrite(yellowLedPin, LOW);
}
void loop() {
  if (irReceiver.check()) {
    if (irReceiver.data == 0xFFA25D) { // Кнопка 1
      digitalWrite(redLedPin, !digitalRead(redLedPin)); // Переключаем состояние красного светодиода
    }
    else if (irReceiver.data == 0xFF629D) { // Кнопка 2
      digitalWrite(yellowLedPin, !digitalRead(yellowLedPin)); // Переключаем состояние желтого светодиода
    }
  }
}

Объяснение кода

  1. Подключение библиотеки: Мы подключаем библиотеку AlashIRControlRX, которая позволяет работать с инфракрасным приемником.

  2. Настройка пинов: Определяем пины для светодиодов и инфракрасного приемника. В функции setup() настраиваем эти пины как выходные и инициализируем светодиоды в выключенном состоянии.

  3. Основной цикл: В функции loop() проверяем, имеются ли данные, принятые с пульта. Если данные есть, проверяем, какая кнопка была нажата, и переключаем состояние соответствующего светодиода.

  4. Переключение состояния светодиодов: Используем условные конструкции if для обработки значений кнопок. В данном примере используются коды 0xFFA25D для красного светодиода и 0xFF629D для желтого светодиода.

Заключение

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