ИК приемник + Ардуино. Подключение

Рассмотрим на этом занятии подключение ИК приемника к Ардуино. Расскажем какую библиотеку следует использовать для IR приемника, продемонстрируем скетч для тестирования работы инфракрасного приемника от пульта дистанционного управления и разберем команды в языке C++ для получения управляющего сигнала.

Устройство ИК приемника. Принцип работы

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

Принцип работы IR ресивера. Обработка сигнала
Принцип работы IR ресивера. Обработка сигнала от пульта ДУ

ИК-приемник на Ардуино способен принимать и обрабатывать инфракрасный сигнал, в виде импульсов заданной длительности и частоты. Обычно ИК-приемник имеет три ножки и состоит из следующих элементов: PIN-фотодиод, усилитель, полосовой фильтр, амплитудный детектор, интегрирующий фильтр и выходной транзистор.

Под действием инфракрасного излучения в фотодиоде, у которого между p и n областями создана дополнительная область из полупроводника (i-область), начинает течь ток. Сигнал поступает на усилитель и далее на полосовой фильтр, защищающий приемник от помех. Помехи могут создавать любые бытовые приборы.

Полосовой фильтр настроен на фиксированную частоту: 30; 33; 36; 38; 40 и 56 килогерц. Чтобы сигнал от пульта ДУ принимался ИК приемником Ардуино, пульт должен быть с той же частотой, на которую настроен фильтр в IR приемнике. После фильтра сигнал поступает на амплитудный детектор, интегрирующий фильтр и выходной транзистор.

Как подключить ИК приемник к Ардуино

Корпуса инфракрасных приемников содержат оптический фильтр для защиты прибора от внешних электромагнитных полей, изготавливаются они специальной формы для фокусировки принимаемого излучения на фотодиоде. Для подключения IR приемника к Arduino UNO используют три ножки, которые соединяют с портами — GND, 5V и A0.

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno;
  • Макетная плата;
  • USB-кабель;
  • IR приемник;
  • Пульт ДУ;
  • 1 светодиод;
  • 1 резистор 220 Ом;
  • Провода «папка-папка» и «папка-мамка».
Схема подключения ИК приемника к Ардуино
Схема подключения ИК приемника к аналоговому порту Ардуино

Подключите IR приемник по схеме и светодиоды к 12 и 13 пину и загрузите скетч.

Скачать готовый скетч zanyatie12_ir-test.ino

#include <IRremote.h> // подключаем библиотеку для IR приемника

IRrecv irrecv(A0); // указываем пин, к которому подключен IR приемник
decode_results results;

void setup() // процедура setup
{
  irrecv.enableIRIn();  // запускаем прием инфракрасного сигнала
  
  pinMode(13, OUTPUT); // пин 13 будет выходом (англ. «output»)
  pinMode(12, OUTPUT); // пин 12 будет выходом (англ. «output»)
  pinMode(A0, INPUT); // пин A0 будет входом (англ. «intput»)
  
  Serial.begin(9600); // подключаем монитор порта
}

void loop() // процедура loop
{
  if (irrecv.decode(&results)) // если данные пришли выполняем команды
  {
    Serial.println(results.value); // отправляем полученные данные на порт
    
 // включаем и выключаем светодиоды, в зависимости от полученного сигнала
     
     if (results.value == 16754775) { 
     digitalWrite(13, HIGH);
   }
     if (results.value == 16769055) { 
     digitalWrite(13, LOW);
   }
     if (results.value == 16718055) { 
     digitalWrite(12, HIGH);
   }
     if (results.value == 16724175) { 
     digitalWrite(12, LOW);
   }
    irrecv.resume(); // принимаем следующий сигнал на ИК приемнике
  }
}

Пояснения к коду:

  1. Библиотека IRremote.h содержит набор команд и позволяет упростить скетч;
  2. Оператор decode_results присваивает получаемым сигналам от пульта дистанционного управления имя переменной results.

На что обратить внимание:

  1. Чтобы можно было управлять включением светодиода необходимо включить монитор порта и узнать какой сигнал отправляет та или иная кнопка на пульте ДУ;
  2. Полученные данные следует внести в скетч. Измените восьмизначный код в скетче после знака двойного равенства if (results.value == 16769055) на свой.

Задание для самостоятельного выполнения:

  1. Сделайте дистанционное управление сервоприводом на Ардуино от ИК приемника.

Пройти тест


1 Star2 Stars3 Stars4 Stars5 Stars (22 votes, average: 4,64 out of 5)
Загрузка...

6 комментариев для “ИК приемник + Ардуино. Подключение

    1. Еще раз все перепроверил. Все правильно написано в скетче для подключения ИК приемника к Arduino

  1. У вас на рисунках на одном правая нога 5В, левая А0, на следующем рисунке наоборот.

    1. Спасибо, исправим. Но не у всех ИК приемников распиновка именно такая, как изображено на рисунке, может и отличаться

  2. Я загрузил скетч на Ардуино, но если нажимаю кнопу на ду пульте, то там (МОНИТОР ПОРТА) ничего не отображается. Что делать?

    1. Попробуйте разные варианты подключения ИК датчика. Если не получилось, то, возможно, не совпадает частота ИК приемника и пульта. Надо взять другой пульт или другой ИК датчик.

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

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