Приветствую Вас, Гость
Главная » Статьи » Arduino

Подключение ИК приемника TL1838 38КГц к микроконтроллеру

Сегодня я расскажу как подключить ИК приемник TL1838 38КГц к отладочной плате Arduino. Датчик цифровой и принимает он цифровой сигнал, поэтому прозванивать его мультимером нет смысла. Внешний вид и распиновка:

Ножки VCC и GND подключаются к соответствующим выходам нашей Arduino, а ножка OUT к любому цифровому или аналоговому пину микроконтроллера(я использовал А0). Вот такая конструкция у меня получилась:

Дальше коротенький скетч:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include <IRremote.h>

#include <IRremoteInt.h>

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

decode_results results;

void setup() {

Serial.begin(9600);// Запускаем серийный порт

irrecv.enableIRIn(); // Запускаем прием

}

void loop() {

 if (irrecv.decode(&results)) // Если данные пришли

 {

 Serial.println(results.value, DEC); // Отправляем полученную данную в консоль

 irrecv.resume(); // Принимаем следующую команду

 }

}

Прошиваем его в наш Arduino и идем искать любой работающий ИК пульт дистанционного управления (от телевизора вполне подойдет). Я использовал пульт от автомобильной магнитолы.

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

Повторяется у нас 4294967295 все остальное коды кнопок или сбои… За несколько проб узнаем, что кнопка 1 имеет код 373604801 а кнопка 2 имеет код 2797147069 (у вас будут другие коды).

Подключаем светодиод к пину 12 и переписываем наш скетч:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#include <IRremote.h>

#include <IRremoteInt.h>

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

decode_results results;

unsigned long knopka;//Переменная для хранения кода нажатой кнопки

void setup() {

Serial.begin(9600);// Запускаем серийный порт

irrecv.enableIRIn(); // Запускаем прием

pinMode(12, OUTPUT);//Определяем 12-й пин на вход

}

void loop() {

 if (irrecv.decode(&results)) // Если данные пришли

 {

 knopka=results.value;

 Serial.println(knopka, DEC); // Отправляем полученную данную в консоль

 if (knopka==373604801){digitalWrite(12, HIGH);}//Если нажимаем 1 - светодиод загорается

 if (knopka==2797147069){digitalWrite(12, LOW);}//Если нажимаем 2 - светодиод гаснет

 irrecv.resume(); // Принимаем следующую команду

 }

}

Таким образом мы сможем включать и выключить что угодно и как угодно с нашего пульта без особых усилий. К стати ИК приемник так можно подключить любой. Важно только знать распиновку.

Спасибо за Ваше внимание. Удачи в дальнейших опытах.

Источник: https://arduino-geek.pp.ua/подключение-ик-приемника-tl1838-38кгц-к-arduino/

Категория: Arduino | Добавил: Hohma (12.08.2017) | Автор: Михаил
Просмотров: 792 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: