Приёмник ИК-сигнала

! Заготовка

Источник Примеры Хрен знает какие ибо я уже не помню чё к чему. К чему прерывания и прочее

Подключение

IRARDUINO
OUTD2
GNDGND
VCC5V
Схема подключения сервопривода к arduino uno

Использование

Для работы с датчиком нам понадобится библиотека

Ниже приведены варианты использования + готовые проекты

Распознавание hex-кодов с передатчика

#include <IRremote.h>

IRrecv irrecv(2);
decode_results results;
unsigned long key_value = 0xF;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  // Будет ли встроенный лед реагировать на нажатия
  irrecv.blink13(true);
}

void loop() {
  if (irrecv.decode( & results)) {
    // При зажатии кнопки выдаётся нулевой сигнал (0xF...), сие творение позволяет повторять код кнопки
    if (results.value == 0xFFFFFFFF) results.value = key_value;
    Serial.print("0x");
    Serial.println(results.value, HEX);
    irrecv.resume();
    key_value = results.value;
  }
}

Простой шаблон

Без применения прерываний (Я тупо не помню для чего оно)

#include <IRremote.h>

IRrecv irrecv(2);
decode_results results;
unsigned long key_value = 0xF;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
}

void loop() {
  if (irrecv.decode( & results)) {
    if (results.value == 0xFFFFFFFF) results.value = key_value;
    switch (results.value) {
    case 0xFD00FF:
      // > Действие после нажатия
      break;
    default:
      break;
    }
    Serial.print("0x");
    Serial.println(results.value, HEX);
    irrecv.resume();
    key_value = results.value;
  }
}

Проекты

Управление адресной лентой