Tsop1738 infrared sensor ic datasheet, pinout, working

TSOP1738 Example Circuits

There are a bunch of TSOP1738 applications but every application uses the same method and circuit. Especially at the commercial level, the TSOP1738 use to make wireless communication to avoid any kind of interaction between humans and machines due to many issues, mostly safety.

Controlling LED with IR remote

In this example, TSOP will be used as a remote tester. In most of the local shops, they have a remote tester that has TSOP1738 within itself, which helps to read the incoming signal.

The basic purpose of this device is to view the incoming signal from the remote. The signal coming from remote is unable to see with the naked eye. The following circuit helps the vendors to view the remote signals in the form of light.

TSOP1738 Example

In this circuit, TSOP1738 operates an LED by using transistors and some resistors. The output of the TSOP connects with the base of the NPN transistor and the transistor controls the LED. Whenever the remote button will press in front of the TSOP1738 the LED will start blinking. The blink of LED will be according to the incoming signal and can be viewed by the human eye easily.

Controlling LED with Arduino

In this example, we learn to control the LED with Arduino. This diagram shows an IR receiver interfacing with Arduino.

For working and code check this complete article and video:

  • IR receiver and transmitter interfacing with Arduino 
  • Controlling LED’s Using IR Remote and Arduino

Projects Examples

These are the projects based on TSOO1738.

  • Bidirectional Rotation of an Induction Motor with a Remote Control Device
  • IR remote controlled home automation system using Arduino
  • Bidirectional Rotation of an Induction Motor with a Remote Control Device

Описание работы системы дистанционного управления на ИК лучах

Для дистанционного управления приборами применяется следующий механизм. На ПДУ нажимают и держат произвольную кнопку в течении 1 секунды. На непродолжительное нажатие (например во время управления музыкальным центром) система не откликается.

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

Принципиальная схема дистанционного управления изображена на рисунке 1. Специальная микросхема DA1 усиливает и формирует электросигнал фотодиода BL1 в электроимпульсы. На радиоэлементах DD1.1 и DD1.2 построен компаратор, а на радиоэлементах DD1.3, DD1.4 — генератор импульсов.

Состояние системы управления (включена или выключена нагрузка) контролирует триггер DD2.1. В случае если на прямом выходе данного триггера лог 1, генератор будет функционировать на частоте примерно 1 кГц. На эмиттерах транзисторов VT1 и VT2 появятся импульсы, которые сквозь емкость С10 поступят на контролирующий вывод симистора VS1. Он будет отпираться в начале каждого полупериода сетевого напряжения.

В первоначальном положении на контакте 7 микросхемы DA1 находится лог 1, емкость С5 заряжена сквозь сопротивления R1, R2 и на входе С триггера DD2.1 лог 0. Если на фотодиод BL1 идут сигналы ИК излучения с пульта дистанционного управления, на контакте 7 микросхемы DA1 окажутся сигналы, и емкость С5 будет разряжаться сквозь диод VD1 и сопротивление R2.

Когда потенциал на С5 снизится до нижнего уровня компаратора (через 1 секунду или более), компаратор переключится и на ввод триггера DD2.1 поступит сигнал. Состояние триггера DD2.1 поменяется. Так совершается переключение приборов из одного состояния в другое.

Микросхемы DD1 и DD2 возможно использовать схожие из серий К564, К176. VD2 — стабилитрон на напряжение 8-9 вольт и ток более 35 мА. Диоды VD3 и VD4 — КД102Б или схожие. Оксидные емкости — К50-35; С2, С4, С6, С7 — К10-17; С9, С10 — К73-16 или К73-17.

ИК-приемник (TSOP17XX)

TSOP17XX принимает модулированные инфракрасные волны и меняет свой выход. TSOP доступен во многих частотных диапазонах, таких как TSOP1730, TSOP1738, TSOP1740 и т. Д. Последние две цифры представляют частоту (в кГц) модулированных ИК-лучей, на которые отвечает TSOP. Как, например, TSOP1738 реагирует, когда получает ИК-излучение с частотой 38 кГц. Это означает, что он обнаруживает ИК-порт, который включается и выключается с частотой 38 кГц. На выходе TSOP активный низкий уровень, это означает, что его выход остается ВЫСОКИМ при отсутствии ИК-излучения и становится низким при обнаружении ИК-излучения. TSOP работает на определенной частоте, так что другие IR в окружающей среде не могут мешать, кроме модулированного IR определенной частоты. Он имеет три контакта: заземление, Vs (питание) и ВЫХОДНОЙ ПИН.

Electronic Components Distributor

An electronic components distributor is a company that sources, stocks, and sells electronic components to manufacturers, engineers, and hobbyists. They offer a wide range of electronic components, including semiconductors, resistors, capacitors, connectors, and many others. Electronic components distributors play a crucial role in the electronics industry by providing easy access to the components. They help customers to save time and money by providing a one-stop-shop for all their component needs.

SparkFun Electronics Allied Electronics DigiKey Electronics Arrow Electronics
Mouser Electronics Adafruit Newark Chip One Stop

Общие принципы работы устройства

Принцип работы проектируемого устройства управления домашними электронными устройствами с помощью пульта с инфракрасной связью достаточно прост – когда вы нажимаете кнопку на пульте он передает управляющий код команды в форме последовательности закодированных импульсов с частотой модуляции 38 кГц. Эти импульсы принимаются датчиком TSOP1738 и с этого датчика считываются платой Arduino. Плата Arduino декодирует эту последовательность импульсов и преобразует ее в шестнадцатеричное значение и сравнивает это значение с заранее определенными шестнадцатеричными кодами клавиш на пульте. Если значения совпадают, то Arduino выполняет соответствующую команду по включению/выключению заданного устройства и результат операции высвечивает на ЖК дисплее. В этом проекте мы для демонстрации использовали 3 электрические лампочки различных цветов, которые будут условно выполнять роль таких домашних устройств как вентилятор, свет и телевизор.

Существует достаточно много пультов дистанционного управления (ДУ) домашними электронными устройствами, но большинство из них используют частоту 38 кГц. В нашем проекте мы использовали пульт ДУ от телевизора. Для приема инфракрасных сигналов мы применили инфракрасный приемник TSOP1738, который способен принимать сигналы на частоте 38 кГц. Внешний вид этого приемника показан на следующем рисунке.

Исходный код программы

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

Затем необходимо подключить библиотеку для работы с ЖК дисплеем и инициализировать контакты для работы с ЖК дисплеем и управления домашними электронными устройствами.

После этого необходимо инициализировать последовательный порт, ЖК дисплей и задать направление работы инициализированных контактов.

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

Далее приведен полный текст программы.

Arduino

#include <LiquidCrystal.h>
#include <IRremote.h>
const int RECV_PIN=14;
IRrecv irrecv(RECV_PIN);
decode_results results;
LiquidCrystal lcd(6,7,8,9,10,11);
#define Fan 3
#define Light 4
#define TV 5
int i=0,j=0,k=0,n=0;
void setup()
{
Serial.begin(9600);
lcd.begin(16,2);
pinMode(Fan, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(TV, OUTPUT);
//digitalWrite(13,HIGH);
lcd.print(«Remote Controlled»);
lcd.setCursor(0,1);
lcd.print(«Home Automation»);
delay(2000);
lcd.clear();
lcd.print(«Circuit Digest»);
lcd.setCursor(0,1);
delay(1000);
lcd.print(«System Ready…»);
delay(1000);
irrecv.enableIRIn(); // Start the receiver
irrecv.blink13(true);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«Fan Light TV «);
lcd.setCursor(0,1);
lcd.print(«OFF OFF OFF»);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value,HEX);
delay(100);
lcd.setCursor(0,0);
lcd.print(«Fan Light TV»);
if(results.value==0x1FE00FF)
{
i++;
int x=i%2; // вычисление остатка от деления на 2
digitalWrite(Fan, x);
lcd.setCursor(0,1);
if(x)
lcd.print(«ON «);
else
lcd.print(«OFF «);
// delay(200);
}

else if(results.value==0x1FEF00F) // key 1
{
j++;
int x=j%2;
digitalWrite(Light, x);
lcd.setCursor(6,1);
if(x)
lcd.print(«ON «);
else
lcd.print(«OFF «);
// delay(200);
}

if(results.value==0x1FE9867)
{
k++;
int x=k%2;
digitalWrite(TV, x);
lcd.setCursor(13,1);
if(x)
lcd.print(«ON «);
else
lcd.print(«OFF»);
// delay(200);
}

if(results.value==0x1FE48B7)
{
n++;
int x=n%2;
digitalWrite(TV, x);
digitalWrite(Fan,x);
digitalWrite(Light,x);
lcd.setCursor(0,1);
if(x)
lcd.print(«ON ON ON «);
else
lcd.print(«OFF OFF OFF»);
//delay(200);
}
irrecv.resume(); // Receive the next value
//delay(100);
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101

#include <LiquidCrystal.h>
#include <IRremote.h>

constintRECV_PIN=14;

IRrecvirrecv(RECV_PIN);

decode_resultsresults;

LiquidCrystallcd(6,7,8,9,10,11);

#define Fan 3
#define Light 4
#define TV 5

inti=,j=,k=,n=;

voidsetup()

{

Serial.begin(9600);

lcd.begin(16,2);

pinMode(Fan,OUTPUT);

pinMode(Light,OUTPUT);

pinMode(TV,OUTPUT);

//digitalWrite(13,HIGH);

lcd.print(«Remote Controlled»);

lcd.setCursor(,1);

lcd.print(«Home Automation»);

delay(2000);

lcd.clear();

lcd.print(«Circuit Digest»);

lcd.setCursor(,1);

delay(1000);

lcd.print(«System Ready…»);

delay(1000);

irrecv.enableIRIn();// Start the receiver

irrecv.blink13(true);

lcd.clear();

lcd.setCursor(,);

lcd.print(«Fan   Light  TV «);

lcd.setCursor(,1);

lcd.print(«OFF    OFF   OFF»);

}

voidloop()

{

if(irrecv.decode(&results))

{

Serial.println(results.value,HEX);

delay(100);

lcd.setCursor(,);

lcd.print(«Fan   Light  TV»);

if(results.value==0x1FE00FF)

{

i++;

intx=i%2;// вычисление остатка от деления на 2

digitalWrite(Fan,x);

lcd.setCursor(,1);

if(x)

lcd.print(«ON  «);

else

lcd.print(«OFF «);

// delay(200);

}

elseif(results.value==0x1FEF00F)//  key 1

{

j++;

intx=j%2;

digitalWrite(Light,x);

lcd.setCursor(6,1);

if(x)

lcd.print(«ON   «);

else

lcd.print(«OFF  «);

// delay(200);

}

if(results.value==0x1FE9867)

{

k++;

intx=k%2;

digitalWrite(TV,x);

lcd.setCursor(13,1);

if(x)

lcd.print(«ON «);

else

lcd.print(«OFF»);

// delay(200);

}

if(results.value==0x1FE48B7)

{

n++;

intx=n%2;

digitalWrite(TV,x);

digitalWrite(Fan,x);

digitalWrite(Light,x);

lcd.setCursor(,1);

if(x)

lcd.print(«ON     ON    ON «);

else

lcd.print(«OFF    OFF   OFF»);

//delay(200);

}

irrecv.resume();// Receive the next value

//delay(100);

}

}

TSOP1738 Pinout diagram

TSOP1738 is just an IR receiver which acts as a switch. It has only three pins that connect TSOP with other devices and make it useful for wireless communication.

TSOP1738 Pin Configuration

We can find it with a metallic head also. As shown in the figure below:

Pinout Description

GND: The ground pin is only to make common ground with other devices, especially microcontrollers and ICs.

VSS: It is a power input pin for activating the internal decoder and IR receiver. The power should be according to its specification and should be only at power pin. In case of power input on any pin even if its low the IC will start heat up which can be noticed by touching it. In the end, heating will damage the TSOP.

Output: The data will come out in the form of the pulse from the output pin. The output pin can be interfaced with any TTL/CMOS devices with a little resistance. Output data will be in voltage form, from the TSOP.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Принципиальная схема ИК-передатчика

Мы используем TSOP1738 в качестве ИК-приемника, поэтому нам нужно генерировать модулированный ИК- сигнал частотой 38 кГц. Вы можете использовать любой TSOP, но вам нужно сгенерировать IR соответствующей частоты как TSOP. Итак, мы используем таймер 555 в нестабильном режиме для генерации ИК-сигнала на частоте 38 кГц. Как мы знаем, частота колебаний таймера 555 определяется резистором R1, R2 и конденсатором C1. Как вы можете видеть на схеме ИК-передатчика удара, мы использовали 1 кОм R1, 20 кОм R2 и конденсатор 1 нФ для генерации частоты прибл. 38 кГц. Его можно рассчитать по следующей формуле: 1,44 / ((R1 + 2 * R2) * C1).

Выходной контакт 3 микросхемы таймера 555 был подключен к ИК-светодиоду с помощью резистора 470 и кнопочного переключателя. Каждый раз, когда мы нажимаем кнопку, схема излучает модулированный ИК-сигнал с частотой 38 кГц. Конденсатор емкостью 100 мкФ подключен к источнику питания, чтобы обеспечить постоянное питание цепи без каких-либо пульсаций.

Настройка системы дистанционного управления ик лучах

Заключается в подборе сопротивления R2 такой величины, чтобы переключение совершалось через 1…2 с. Если повышения величины данного сопротивления приведет к тому, что емкость С5 не будет разряжаться до порогового напряжения, необходимо увеличить в 2 раза емкость С5 и повторно произвести регулировку.

Емкость С6 следует ставить в том случае, если продолжительность фронта импульса, идущего с компаратора на триггер, будет чрезмерно большой и он будет переключаться нестабильно.

Если применяемый ПДУ не дозволяет управлять прибором без помех телевизору, возможно собрать самодельный пульт дистанционного управления, который является генератором прямоугольных сигналов с частотой следования 20…40 кГц, функционирующий на излучающий ИК диод. Варианты подобного ПДУ на таймере КР1006ВИ1 (

Представляем несложный проект по созданию ИК барьера дальнего действия — до 5 метров. Устройство также может быть использовано как датчик приближения или пересечения. Инфракрасный барьер имеет выход на реле, что позволяет подключить его к любому устройству с электрическим питанием (лампа, мотор, сигналка и т.д.). Высокая мощность передатчика и чувствительность приемника позволяют покрыть расстояния до 4 метров, а также использования в качестве датчика отражатель до дистанции 1 метр.

Remote IR Sensor Pinout Details

Available IR Sensor Types

TSOP1730 — 30 kHz TSOP1733 — 33 kHzTSOP1736 — 36 kHz TSOP1737 — 36.7 kHzTSOP1738 — 38 kHz TSOP1740 — 40 kHzTSOP1756 — 56 kHz

Typical application circuit and connections are shown below

Main Electrical Specifications

The TSOP 17XX series provides two benefits of preamplifier an photo detector in a single package

An internal filter is present for the facilitation of PCM frequency

TSOP 17XX series provides an enhanced shielding against the disturbances produced by the various kinds of electrical fields

It is also compatible to TTL and CMOS

The output active given by the TSOP 17… series is low

It consumes low power

The immunity provided by TSOP 17… series against ambient light is high

TSOP 17XX series enables a continuous data transmission of up to 2400 bps

The device provides 10 cycles/burst which is considered as the most appropriate burst length

Testing with 38 kHz Frequency — Video

How TSOP1738 IC Works

The circuit design of the TSOP 1738 series has been designed to work in such a way that it avoids any kind of output pulses which occurs unexpectedly due to the signal disturbances and noise.

In order to suppress or avoid this noise and signal disturbances, the TSOP 1738 series works by using different applications such as an integrator stage, a bandpassfilter, and an automatic gain control.

The distinction between a disturbance signal and a data signal can be carried out by reading the burst length, carrier frequency, and the duty cycle.

The criteria or conditions which a data signal needs to fulfill are as follows:

The carrier frequency of the data signal needs to be close to the bandpassfilter’s center frequency such as at a frequency of 38kHz

The burst length of a data signal must be either 10 cycles/burst or longer than that

A gap time after each burst which usually ranges between 10 cycles to 70 cycles for a data signal should necessarily be at the minimum of 14 cycles.

For every burst of the data signal which occurs for duration of more than 1.8ms, the corresponding gap time is essential at some time of the process within the data stream. The length of this gap time must be at least equal to the burst length.

In a data signal, approximately 1400 short burst can be received every second on a continuous basis

The various data formats which are considered suitable are: Toshiba Micom Format, NEC Code, RC5 Code, R-2000 Code, Sharp Code, RC6 code, and SIRCS (Sony Format).

The data signal can be received in a TSOP 17xx series even when a disturbance signal is applied to the TSOP 17xx series. But, the sensitivity in this case is reduced to a specific level where the occurrences of unexpected pulses can happen. The different disturbance signals, which can be suppressed when TSOP 17xx series is used, are:

DC light which can range from a simple tungsten ball to the more powerful natural resource of sunlight

The signal which are continuously received at 38kHz or signal received at frequency other than 38kHz

The signals which are received from fluorescent lamps which consist of electronic ballast. The figure given below shows a sample of how the signal modulation occurs.

ИК-приемник TSOP1738 – описание, распиновка, datasheet

Главная » Справочник » ИК-приемник TSOP1738 — описание, распиновка, datasheet

19.02.202119.02.2021 admin

Categories Справочник

TSOP1738 — широко используемый ИК-приемник для инфракрасных систем дистанционного управления. Он используется в телевизорах, DVD-плеерах, охранной сигнализации и т. д.

Этот радиоэлектронный компонент имеет в своем составе ПИН-диод, предусилитель и внутренний фильтр PCM частот (импульсно-кодовая модуляция), а его эпоксидный корпус служит ИК-фильтром.

Фотодатчик TSOP17XX выпускается с разными несущими частотами. Наиболее популярной и распространенной моделью является TSOP1738, несущая частота которого составляет 38 кГц.

Особенности TSOP17XX

  • Фотодетектор, ИК-фильтр, предусилитель и частотный фильтр PCM в одном корпусе
  • Защита от электромагнитных или радиочастотных помех
  • Совместимость с CMOS и TTL логикой
  • Активный низкий выход
  • Невосприимчивость к окружающему свету
  • Низкое энергопотребление
  • Возможность непрерывной передачи данных со скоростью до 2400 бит/с
  • Напряжение питания: 4,5 — 5,5 В

Блок-схема TSOP17XX

Фотодатчики TSOP17XX снабжены полосовым фильтром, автоматической регулировкой усиления (AGC) и интегратором, что позволяет избежать изменений выходного сигнала из-за шумов или других помех

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

  • Несущая частота принимаемого сигнала должна быть близка к центральной частоте полосового фильтра устройства.
    Например: Несущая частота должна быть близка к 38 кГц для TSOP1738.
  • Длина пакета должна быть больше или равна 10 циклам / пакетам и меньше или равна 70 циклам / пакетам.
  • После каждого отправленного пакета необходимо выдерживать паузу не менее 14 циклов.
  • Пауза, по крайней мере, такой же длины, что и отправленный пакет, необходим в для пакетов длиной более 1,8 мс.
  • Он может непрерывно принимать до 1400 коротких очередей.

Схема применения

  • * — Используется для уменьшения сбоев в электроснабжении.
  • ** — Выходной контакт TSOP17XX не должен постоянно удерживаться внешними цепями под напряжением ниже 3,3 В.

Распиновка TSOP17XX

Скачать datasheet TSOP1738 (118,1 KiB, скачано: 425)

Блок питания 0…30В/3A

Набор для сборки регулируемого блока питания…

Подробнее

Отправить сообщение об ошибке.

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

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

Arduino

#include <IRremote.h>

1 #include <IRremote.h>

Затем в программе необходимо указать контакт платы Arduino, к которому подключен контакт данных (Data pin) инфракрасного приемника. В нашем случае он подключен к контакту D2 платы Arduino.

Arduino

int IRPIN = 2;

1 intIRPIN=2;

После этого необходимо создать объект для работы с инфракрасным приемником.

Arduino

IRrecv irrecv(IRPIN);

1 IRrecvirrecv(IRPIN);

Далее объявим объект класса decode_results – он будет использоваться инфракрасным приемником для передачи декодированной информации.

Arduino

decode_results result;

1 decode_resultsresult;

Внутри функции setup() инициализируем последовательную связь и инфракрасный приемник при помощи вызова функции irrecv.enableIRIn().

Arduino

void setup()
{
Serial.begin(9600);
Serial.println(«Enabling IRin»);
irrecv.enableIRIn();
Serial.println(«Enabled IRin»);
Initialize_streamer();
}

1
2
3
4
5
6
7
8

voidsetup()

{

Serial.begin(9600);

Serial.println(«Enabling IRin»);

irrecv.enableIRIn();

Serial.println(«Enabled IRin»);

Initialize_streamer();

}

В функции loop() мы с помощью функции irrecv.decode будем непрерывно проверять наличие нового сигнала и если новый сигнал был принят, то его код мы будем сохранять в переменной result.value.

Arduino

void loop()
{
if (irrecv.decode(&result))
{
Serial.print(«Value: «);
Serial.println(result.value, HEX);
Write_streamer();
irrecv.resume();
}
delay(500);
}

1
2
3
4
5
6
7
8
9
10
11

voidloop()

{

if(irrecv.decode(&result))

{

Serial.print(«Value: «);

Serial.println(result.value,HEX);

Write_streamer();

irrecv.resume();

}

delay(500);

}

Для передачи данных из Arduino в лист Excel мы будем использовать плагин PLX-DAQ (ранее мы его уже использовали в проекте логгера данных температуры и влажности на основе Arduino). С помощью функции Write_streamer() мы будем передавать данные последовательно в специальном формате (фактически, это формат файлов .csv, которые можно считать с помощью Excel), которые нам будут затем необходимы для вывода информации в лист Excel.

Arduino

void Write_streamer()
{
Serial.print(«DATA»); //всегда передавайте «DATA» чтобы показать что следующая информация будет представлять собой данные
Serial.print(«,»); // переходим к следующему столбцу используя символ «,»
Serial.print(result.value, HEX); //сохраняем данные в Excel
Serial.print(«,»); // переходим к следующему столбцу используя символ «,»
Serial.print(button); // сохраняем данные в Excel
Serial.print(«,»); // переходим к следующему столбцу используя символ «,»
Serial.println(); //конец строки, переходим к следующей строке
}

1
2
3
4
5
6
7
8
9
10

voidWrite_streamer()

{

Serial.print(«DATA»);//всегда передавайте «DATA» чтобы показать что следующая информация будет представлять собой данные

Serial.print(«,»);// переходим к следующему столбцу используя символ «,»

Serial.print(result.value,HEX);//сохраняем данные в Excel

Serial.print(«,»);// переходим к следующему столбцу используя символ «,»

Serial.print(button);// сохраняем данные в Excel

Serial.print(«,»);// переходим к следующему столбцу используя символ «,»

Serial.println();//конец строки, переходим к следующей строке

}

После того как аппаратная и программная части проекта будут готовы, можно будет загружать программу в плату Arduino. После загрузки кода в плату направьте пульт ДУ на спроектированный нами декодер и начинайте нажимать на нем кнопки. Шестнадцатеричный код (hex code) каждой кнопки будет печататься в окне монитора последовательной связи (serial monitor).

Вывод

Инфракрасный порт, несмотря на простоту использования и невысокую стоимость компонентов приемопередатчика, имеет серьезный недостаток: он требует, чтобы передатчик и приемник были видны (невозможно передать информацию, например, через стену). Это одна из причин отказа от инфракрасной схемы передачи данных IrDA. На смену ему пришли технологии, использующие радиоволны (включая Bluetooth и Wi-Fi).

Тем не менее, когда нет препятствий, инфракрасный порт по-прежнему имеет множество применений, так что знайте это! Более того, одно из его преимуществ — способность отскакивать от стен. Благодаря этому свойству, инфракрасный порт можно использовать, например, для построения датчика препятствий.

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: