Инфракрасный беспроводной приемник и передатчик звука, набор для сборки

Схема подключения ИК-приемника

Я же решил пойти несколько другим путем, может быть «варварским», но от этого не менее, а даже более эффективным.

Рис. 1. Примерная принципиальная схема включения ИК-приемника в ресиверах.

Рис. 2. Структурная схема фото-приемника TSOP4838.

На рисунке 1 показана схема включения фотоприемника дистанционного управления ресивера «Topfield 5000СІ». Схема состоит из интегрального фотоприемника TSOP4838 и нескольких деталей. Практически все аналогичные схемы других ресиверов выполнены точно так же, разница только в том, какой интегральный фотоприемник, на какую частоту, ну и цоколевка может отличаться.

При этом все интегральные фотоприемники, независимо от марки, типа, цоколевки и корпуса, функционально идентичны, и их структурные схемы практически совпадают (не считая нумерации выводов).

На рисунке 2 показана структурная схема фотоприемника TSOP4838. Как видно, на выходе транзисторный ключ, подтянутый к плюсу питания через резистор 33 kOm. Похоже, 33 kOm показалось много, и в схеме на рисунке 1 параллельно ему включен еще резистор на 10 kOm.

Ну и что мне мешает просто подключить дополнительный фотоприемник параллельно основному, как это показано на рисунке 3? Да ничего не мешает. И опытами это подтверждается. Два фотоприемника работают, и друг другу не мешают, конечно, если сигнал управления от пульта поступает только на один из них. Ну а как же иначе, ведь дополнительный фотоприемник будет в другой комнате.

Рис. 3. Принципиальная схема подключения дополнительного фотоприемника к спутниковому тюнеру.

Практически все было сделано следующим образом. Нужно вскрыть корпус ресивера и к выводам фотоприемника, прямо к печатным дорожкам, подпаять три разноцветных монтажных провода, у меня они белого, зеленого и синего цвета. Затем их вывести через предварительно проделанное отверстие в корпусе ресивера наружу. Разделать и временно заизолировать.

Дальше, нужно будет купить точно такой же фотоприемник, как в ресивере, в моем случае это был TSOP4838.

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

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

Сам дополнительный фотоприемник прилепил к корпусу телевизора обычной изолентой.

На другом конце, у ресивера, разделываю кабель, и присоединяю его к проводам, выведенным предварительно от основного фотоприемника, расположенного на плате ресивера. Изолирую изолентой. Разноцветность проводов не дает возможности наделать ошибок при подключении.

Using the IR Remote to Control Things

Now I’ll show you a simple demonstration of how you can use the IR remote to control the Arduino’s output pins. In this example, we will light up an LED when a particular button is pressed. You can easily modify the code to do things like control servo motors, or activate relays with any button press from the remote.

The example circuit has the IR receiver connected to the Arduino, with a red LED connected to pin 10 and a green LED connected to pin 11:

The code below will write digital pin 10 HIGH for 2 seconds when the “5” button is pressed, and write digital pin 11 HIGH for 2 seconds when the “2” button is pressed:

So far we have covered the properties of infrared radiation and how communication happens between the transmitter and receiver. We saw how to identify the IR key codes for a given remote control. We learned how to display key presses on serial monitor and on an LCD screen. Finally I showed you how to control the Arduino’s output with the remote. Have fun playing with this and be sure to let us know in the comments if you have any questions or trouble setting this up!

Krishna Pattabiraman is a frequent guest writer on Circuit Basics and the founder of www.codelectron.com.

JLCPCB — Only $2 for PCB Prototype (Any Color)
Great Quality Approved by 600,000+ Customers, 10,000+ PCB Orders Per Day. Sign Up & Get at Least Two $5 Coupons Now: https://jlcpcb.com/quote

Other IR libraries

you find a short comparison matrix of 4 popular Arduino IR libraries.Here you find an ESP8266/ESP32 version of IRremote with an impressive list of supported protocols.

Supported Boards

  • Arduino Uno / Mega / Leonardo / Duemilanove / Diecimila / LilyPad / Mini / Fio / Nano etc.
  • Teensy 1.0 / 1.0++ / 2.0 / 2++ / 3.0 / 3.1 / Teensy-LC; Credits: @PaulStoffregen (Teensy Team)
  • Sanguino
  • ATmega8, 48, 88, 168, 328
  • ATmega8535, 16, 32, 164, 324, 644, 1284,
  • ATmega64, 128
  • ATmega4809 (Nano every)
  • ATtiny84, 85
  • SAMD21 (receive only)
  • ESP32
  • ESP8266 is supported in a fork based on an old codebase. It works well given that perfectly timed sub millisecond interrupts are different on that chip.
  • Sparkfun Pro Micro

We are open to suggestions for adding support to new boards, however we highly recommend you contact your supplier first and ask them to provide support from their side.

Z- IR receiver. Модуль ИК приемника

Опубликовано 05.05.2014 8:44:00

Модуль ИК Приемника в связке и ИК пультом дистанционного управления позволит легко реализовать дистанционное управление платой Arduino.

Он представляет из себя не что иное, как ИК приемник VS1838B с установленной на плате рекомендуемой производителем обвязкой.

Для работы с данным модулем “из коробки” необходим ПДУ с частотой 38 кГц.

Плюсом данной платы является цанговый разъем, позволяющий без применения пайки заменить ИК приемник на другой, работающий на частоте, необходимой для вашего проекта.

• Напряжение питания: 2.7 – 5.5В

• Частота модуляции: 38кГц

• Диапазон температур: – 20 … +  80°C

• Интерфейс: Цифровой

Подключение к Arduino

Модуль оборудован трехпиновым разъемом стандарта 2.54мм

 : подключается к выводу GND

 подключается к выводу +5V

 : подключается к цифровому выводу ( в примере D2 )

Пример работы в среде Arduino

Для работы с данным модулем необходимо установить библиотеку IRRemote

Скачиваем, распаковываем и закидываем в папку libraries в папке Arduino. В случае, если на момент добавления библиотеки, Arduino IDE была открытой, перезагружаем среду.

Считывание показаний кнопок ПДУ

Для считывания показаний пульта заливаем нижеприведенный скетч. Он будет выводить в порт кодировки нажатых кнопок.

В качестве примера будем использовать пульт, как на картинке, т.к. пульт такого типа идет в наборе ИК пульт + ИК модуль приемник

Пример программного кода:

// Тестировалось на Arduino IDE 1.0.3
#include 
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN); //Создаем объект получения сигнала с определенного порта
decode_results results; //Переменная, хранящая результат void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Начинаем прием
} void loop() {
  if (irrecv.decode(&results)) //При получении сигнала…
  { 
    Serial.println(results.value); //…выводим его значение в последовательный порт
    irrecv.resume(); // Получаем следующее значение
  }
}

В мониторе порта должны увидеть слудущее:

При почти секундном удержании каждой кнопки, мы получаем около 10 кодов. Первый из них и является кодом кнопки. А после него начинает идти стандартный код, который сообщает о залипании кнопки.

Управление платой Arduino c ПДУ

Заставим светодиод на плате Arduino (D13) загораться при получении кодировки первой кнопки и выключаться при получении кодировки второй.

Пример программного кода:

// Тестировалось на Arduino IDE 1.0.3
#include  int RECV_PIN = 2;
int LED = 13;
IRrecv irrecv(RECV_PIN);
decode_results results; void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Запуск приемника
  pinMode(LED, OUTPUT);
} void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value);
    if (results.value == 16769565) // При получении кодировки 1
    {
      digitalWrite(LED, HIGH); // Включаем светодиод
    }
    if (results.value == 16761405) // При получении кодировки 2
    {
      digitalWrite(LED, LOW); // Выключаем светодиод
    }
    irrecv.resume(); // Получаем следующее значение
  }
}

Купить в России  Z- Модуль ИК приемника

В данный момент еще реализованы не все элементы нашего сообщества. Мы активно работаем над ним и в ближайшее время возможность комментирования статей будет добавлена.

Why do we use 33% duty cycle

  • Carrier duty cycle 50 %, peak current of emitter IF = 200 mA, the resulting transmission distance is 25 m.
  • Carrier duty cycle 10 %, peak current of emitter IF = 800 mA, the resulting transmission distance is 29 m. — Factor 1.16
    The reason is, that it is not the pure energy of the fundamental which is responsible for the receiver to detect a signal.
    Due to automatic gain control and other bias effects high intensity and lower energy (duty cycle) of the 38 kHz pulse counts more than high low intensity and higher energy.

BTW, the best way to increase the IR power is to use 2 or 3 IR diodes in series. One diode requires 1.1 to 1.5 volt so you can supply 3 diodes with a 5 volt output.
To keep the current, you must reduce the resistor by (5 — 1.3) / (5 — 2.6) = 1.5 e.g. from 150 ohm to 100 ohm for 25 mA and 2 diodes with 1.3 volt and a 5 volt supply.
For 3 diodes it requires factor 2.5 e.g. from 150 ohm to 60 ohm.

Contributing

If you want to contribute to this project:

  • Report bugs and errors
  • Ask for enhancements
  • Create issues and pull requests
  • Tell other people about this library
  • Contribute new protocols

Check here for some guidelines.

Print Keys to an LCD

Instead of printing the key values to the serial monitor, you can also display the information on an LCD. Check out our article on setting up and programming an LCD on the Arduino for more information on programming the LCD, but the basic setup looks like this:

The resistor sets the LCD’s backlight brightness. It can be anything from 200 ohms to about 2K ohms. The potentiometer sets the character contrast. I normally use a 10K ohm potentiometer for this one.

Once everything is connected, upload this code to the Arduino:

Again, if the hex codes don’t match the codes output by your remote, just replace them for each character where it says .

How IR Remotes and Receivers Work

A typical infrared communication system requires an IR transmitter and an IR receiver. The transmitter looks just like a standard LED, except it produces light in the IR spectrum instead of the visible spectrum. If you have a look at the front of a TV remote, you’ll see the IR transmitter LED:

The same type of LED is used in IR transmitter breakout boards for the Arduino. You can see it at the front of this Keyes IR transmitter:

The IR receiver is a photodiode and pre-amplifier that converts the IR light into an electrical signal. IR receiver diodes typically look like this:

Some may come on a breakout board like this:

IR Signal Modulation

IR light is emitted by the sun, light bulbs, and anything else that produces heat. That means there is a lot of IR light noise all around us. To prevent this noise from interfering with the IR signal, a signal modulation technique is used.

In IR signal modulation, an encoder on the IR remote converts a binary signal into a modulated electrical signal. This electrical signal is sent to the transmitting LED. The transmitting LED converts the modulated electrical signal into a modulated IR light signal. The IR receiver then demodulates the IR light signal and converts it back to binary before passing on the information to a microcontroller:

The modulated IR signal is a series of IR light pulses switched on and off at a high frequency known as the carrier frequency. The carrier frequency used by most transmitters is 38 kHz, because it is rare in nature and thus can be distinguished from ambient noise. This way the IR receiver will know that the 38 kHz signal was sent from the transmitter and not picked up from the surrounding environment.

The receiver diode detects all frequencies of IR light, but it has a band-pass filter and only lets through IR at 38 kHz. It then amplifies the modulated signal with a pre-amplifier and converts it to a binary signal before sending it to a microcontroller.

IR Transmission Protocols

The pattern in which the modulated IR signal is converted to binary is defined by a transmission protocol. There are many IR transmission protocols. Sony, Matsushita, NEC, and RC5 are some of the more common protocols.

The NEC protocol is also the most common type in Arduino projects, so I’ll use it as an example to show you how the receiver converts the modulated IR signal to a binary one.

Logical ‘1’ starts with a 562.5 µs long HIGH pulse of 38 kHz IR followed by a 1,687.5 µs long LOW pulse. Logical ‘0’ is transmitted with a 562.5 µs long HIGH pulse followed by a 562.5 µs long LOW pulse:

This is how the NEC protocol encodes and decodes the binary data into a modulated signal. Other protocols differ only in the duration of the individual HIGH and LOW pulses.

IR Codes

Each time you press a button on the remote control, a unique hexadecimal code is generated. This is the information that is modulated and sent over IR to the receiver. In order to decipher which key is pressed, the receiving microcontroller needs to know which code corresponds to each key on the remote.

Different remotes send different codes for the keypresses, so you’ll need to determine the code generated for each key on your particular remote. If you can find the datasheet, the IR key codes should be listed. If not though, there is a simple Arduino sketch that will read most of the popular remote controls and print the hexadecimal codes to the serial monitor when you press a key. I’ll show you how to set that up in a minute, but first we need to connect the receiver to the Arduino…

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

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • IR приемник;
  • пульт ДУ;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа» и «папа-мама».

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


Схема подключения ИК приемника к аналоговому порту Ардуино

Скетч для ИК приемника Arduino со светодиодом

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

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

void setup() {
   irrecv.enableIRIn();  // запускаем прием инфракрасного сигнала
   Serial.begin(9600); // подключаем монитор порта

   pinMode(12, OUTPUT); // пин 12 будет выходом (англ. «output»)
   pinMode(A0, INPUT); // пин A0 будет входом (англ. «intput»)
  
}

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

ИК датчик можно применять во многих устройствах на микроконтроллере Ардуино, в том числе, можно сделать дистанционное управление сервоприводом на Ардуино от ИК приемника. При настройке следует включить монитор порта Arduino IDE и узнать какой сигнал отправляет та или иная кнопка на пульте ДУ. Полученные коды следует использовать в скетче после знака двойного равенства в условиях .

Скетч для ИК приемника Ардуино и серовомотора

#include <IRremote.h> // подключаем библиотеку для IR приемника
IRrecv irrecv(A0);         // указываем пин, к которому подключен IR приемник
decode_results results;

#include <Servo.h> // подключаем библиотеку для серво
Servo myservo;       // создаем объект для управления серво

void setup() {
   irrecv.enableIRIn();  // запускаем прием инфракрасного сигнала
   Serial.begin(9600); // подключаем монитор порта

   myservo.attach(9); // указываем пин для подключения серво
}

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

Hints

If you do not know which protocol your IR transmitter uses, you have several choices.

  • Use the IRreceiveDumpV2 example to dump out the IR timing.
    You can then reproduce/send this timing with the IRsendRawDemo example.
    For long codes with more than 48 bits like from air conditioners, you can change the length of the input buffer in .
  • The prints the protocol and data for one of the 40 supported protocols.
    The same library can be used to send this codes.
  • If you have a bigger Arduino board at hand (> 100 kByte program space) you can try the
    IRremoteDecode example of the Arduino library DecodeIR.
  • To increase strength of sent output signal you can increase the current through the send diode, or use 2 diodes in series,
    since one IR diode requires only 1.5 volt. Changing to 50 increases the signal current by 40%.

Compile options / macros for this library

Name File Default value Description
IRremote.h disabled Enables lots of lovely debug output.
IRremote.h disabled Use LSB first, address/code schema for encoding.
IRremote.h disabled Use no carrier PWM, just simulate an active low receiver signal.
IRremote.h disabled Use carrier PWM generation in software, instead of hardware PWM.
IRremote.h 3 If USE_SOFT_SEND_PWM, this amount is subtracted from the on-time of the pulses.
IRremote.h disabled If USE_SOFT_SEND_PWM, use spin wait instead of delayMicros().
IRremoteint.h 101 Buffer size of raw input buffer. Must be odd!
IRremoteBoardDefs.h 30 Duty cycle of IR send signal.
IRremoteBoardDefs.h 50 Resolution of the raw input buffer data.

Modifying compile options with Arduino IDE

First use Sketch/Show Sketch Folder (Ctrl+K).
If you did not yet stored the example as your own sketch, then you are instantly in the right library folder.
Otherwise you have to navigate to the parallel folder and select the library you want to access.
In both cases the library files itself are located in the directory.

IR транскодер на Arduino

Устройства с управлением от инфракрасного пульта тесно вошли в нашу жизнь. Иногда пульт от телевизора или древней аудиосистемы теряется, а купить новый за давностью лет уже невозможно. Заказать новый пульт не всегда возможно, изготовить клон тоже, но обладая донором или информацией о нём можно изготовить конвертер.

Такой транскодер будет принимать команды одного пульта и транслировать их в формат другого.

Для Arduino существует прекрасная библиотека IRemote которая делает построение разнообразных ИК систем управления очень простым.

Но при решении даже такой простой задачи как транскодер обязательно находятся проблемы которые интересно решать. Итак для начала нам необходим интегральный ИК приёмник типа TSOP312 или соответствующий шилд для Arduino. Не стоит забывать что ИК приёмников существует очень много и цоколёвка у них меняется случайным образом.

Собранная схема нужна нам для получения кодов команд от обеих пультов, к несчастью снять команды с устройства для которого пульт утерян несколько сложнее. Вы можете всё-таки найти пульт донор, воспользоваться универсальным пультом подобрав код (а зачем тогда вам тогда транскодер, раз уж пульт подошёл?) или попытавшись воспользоваться данными из интернет баз по IR кодам.

Самым простым для меня оказалось воспользоваться приложением под андроид, эмулирующий нужный мне пульт.

Для чтения данных используем пример IRrecvDumpV2 из поставки IRremote, если ваш пульт относится к распознаваемым библиотекой то сырой результат сканирования вам не понадобится, хотя например пульт от LG у меня ложно распознавался как Samsung и не заработал при попытке отправлять команды через sendLG.

Пример полученных данных под спойлером:Encoding: SAMSUNG Code: 34346897 (32 bits) Timing: +4450, -4350 + 600, — 500 + 600, — 500 + 600, -1600 + 600, -1600 + 600, — 500 + 600, -1600 + 600, — 500 + 600, — 500 + 600, — 500 + 600, — 500 + 600, -1600 + 600, -1600 + 600, — 500 + 600, -1600 + 600, — 500 + 600, — 500 + 600, — 500 + 600, -1600 + 600, -1600 + 600, — 500 + 600, -1600 + 600, — 500 + 600, — 500 + 600, — 500 + 550, -1650 + 550, — 550 + 550, — 550 + 550, -1650 + 550, — 550 + 550, -1650 + 550, -1600 + 600, -1600 + 600 unsigned int rawData = {4450,4350, 600,500, 600,500, 600,1600, 600,1600, 600,500, 600,1600, 600,500, 600,500, 600,500, 600,500, 600,1600, 600,1600, 600,500, 600,1600, 600,500, 600,500, 600,500, 600,1600, 600,1600, 600,500, 600,1600, 600,500, 600,500, 600,500, 550,1650, 550,550, 550,550, 550,1650, 550,550, 550,1650, 550,1600, 600,1600, 600}; // SAMSUNG 34346897

unsigned int data = 0x34346897;

В случае если захват выдаёт сообщение “IR code too long. Edit IRremoteInt.h and increase RAWLEN” библиотеку придётся немного исправить — увеличив размер буфера для команд.

В ту же таблицу сохраняем коды для пульта донора в сыром виде. Подключаем к Arduino инфракрасный светодиод и пишем простейшую программу которая получает инфракрасный сигнал с заданным кодом и отправляет другой код через светодиод. Резистор на 82 выбран из соображений того что валялось под рукой.

Для встраиваемого устройства его можно смело увеличивать до 200 Ом а если передатчик должен быть дальнобойным то придётся дополнить его нехитрым транзисторным каскадом, иначе тока от Arduino обязательно не хватит.

При наличии кодов команд от обеих пультов код транскодера приобретает следующий видvoid loop() {
if (irrecv.decode(&results)) { switch(results.value){ case(0x845E5420):{ irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal), khz); }break; } } irrecv.resume(); irrecv.enableIRIn();
}

Запускаем скетч, заливаем в Arduino. Как ни странно после запуска одна команда проходит, после чего все последующие устройством игнорируются. Чтобы не связываться с отладкой добавляем в цикл мигалку на 13 пине и видим что после первой попытки отправить команду плата зависает.

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

В модуле Irsend есть даже подходящая функция custom_delay_usec, которой я изначально воспользовался неправильно, забыв домножить величину задержки на множитель USECPERTICK из библиотеки (50 мс).

void sendDelayed(unsigned int array[]){ irsend.sendRaw(array, sizeof(array) / sizeof(array), khz); int array_size = sizeof(array) / sizeof(array); for(int i=0;i

Библиотеки для работы с IR

Для работы с ИК устройствами можно использовать библиотеку IRremote, которая позволяет упростить построение систем управления. Скачать библиотеку можно здесь.  После загрузки скопируйте файлы в папку \arduino\libraries. Для подключения в свой скетч библиотеки нужно добавить заголовочный файл #include <IRemote.h>.

Для чтения информации используется пример IRrecvDumpV2 из библиотеки. Если пульт уже существует в списке распознаваемых, то сканирование не потребуется. Для считывания кодов нужно запустить среду ARduino IDE и открыть пример IRrecvDemo из IRremote.

Существует и вторая библиотека для работы с ИК сигналами – это IRLib. Она похожа по своему функционалу на предыдущую. По сравнению с IRremote в IRLib имеется пример для определения частоты ИК датчика. Но первая библиотека проще и удобнее в использовании.

После загрузки библиотеки можно начать считывать получаемые сигналы. Для этого используется следующий код.

Оператор decode_results  нужен для того, чтобы присвоить полученному сигналу имя переменной results .

В коде нужно переписать «HEX» в «DEC».

Затем после загрузки программы нужно открыть последовательный монитор и нажимать кнопки на пульте. На экране будут появляться различные коды. Нужно сделать пометку с тем, к какой кнопке соотносится полученный код. Удобнее полученные данные записать в таблицу. После этот код можно записать в программу, чтобы можно было управлять прибором. Коды записываются в память самой платы ардуино EEPROM, что очень удобно, так как не придется программировать кнопки при каждом включении пульта.

Бывает, что при загрузке программы выдается ошибка «TDK2 was not declared In his scope». Для ее исправления нужно зайти в проводник, перейти в папку, в которой установлено приложение Arduino IDE и удалить файлы IRremoteTools.cpp и IRremoteTools.h. После этого нужно произвести перезагрузку программы на микроконтроллер.

How to Connect an IR Receiver to the Arduino

There are several different types of IR receivers, some are stand-alone, and some are mounted on a breakout board. Check the datasheet for your particular IR receiver since the pins might be arranged differently than the HX1838 IR receiver and remote set I am using here. However, all IR receivers will have three pins: signal, ground, and Vcc.

Lets get started with the hardware connections. The pin layout on most breakout boards looks like this:

The pinout of most stand-alone diodes is like this:

To connect a breakout board mounted IR receiver, hook it up to the Arduino like this:

To connect a stand-alone receiver diode, wire it like this:

Принцип действия ИК пульта

Регистрируется излучение с помощью специальных фотоматериалов, на основе которых изготавливаются приемники. Источником инфракрасного излучения помимо нагретых тел (Солнца, ламп накаливания или свечей), могут быть твердотельные приборы – ИК светодиоды, лазеры. Излучение в инфракрасном диапазоне обладает рядом особенностей, благодаря которым их удобно использовать в пультах:

  • Твердотельные излучатели (ИК светодиоды) стоят дешево и они компактны.
  • Инфракрасные лучи не  воспринимаются и не фиксируются человеческим глазом.
  • ИК приемники также дешево стоят, и они имеют небольшие размеры.
  • Малые помехи, так как передатчик и приемник настроены на одну частоту.
  • Отсутствует негативное влияние на здоровье человека.
  • Высокий показатель отражения от большинства материалов.
  • IR излучатели не влияют на работу других устройств.

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

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

Adblock
detector