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

Рассмотрим на этом занятии подключение ИК приемника к Ардуино. Расскажем какую библиотеку следует использовать для 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 (15 votes, average: 4,47 out of 5)
Загрузка...

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

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

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