ИК фотоприемники устанавливаются в различную аппаратуру для приема команд с пультов дистанционного управления, которые передаются в ИК диапазоне. Состоит он из фотодиода и микросхемы, выполняющей функции автоматического регулирования уровня сигнала, принимаемого фотодиодом. Для защиты от внешних помех все помещено в корпус из темной пластмассы, выполняющей роль светофильтра, который хорошо только пропускает ИК излучение.
Примером такого фотоприемника может служить TSOP1738.
Из него можно сделать устройство для проверки работоспособности пультов ДУ, их кнопок и даже расстояния на которое проходит сигнал пульта.
Простейшая схема ИК фотоприемника на инфракрасном фотодиоде и светодиоде для проверки ИК пультов
Схема очень простая. Собирается легко навесным монтажом. Для защиты от переполюсовки добавил диод.
В качестве источника питания можно использовать 3 ААА батарейки, Li-ion аккумулятор или зарядное от мобильного телефона.
Источник: grodenski.livejournal.com
Самостоятельное изготовление выносного ИК-приемника
Многие владельцы современного приемного оборудования Триколор ТВ видели на задней панели своих устройств разъем с надписью — IR. Данный разъем предназначен для подключения выносного инфракрасного приемника (LF-DX8).
ИК-приемник предназначен для управления спутниковым ресивером, когда он находится вне зоны видимости пульта (например закреплен за телевизором или вообще находится в другой комнате). К сожалению столь полезная вещь не поставляется в комплекте с приемным оборудование ТриколорТВ, а приобретается отдельно. Приобрести отдельно такое устройство тоже бывает проблематично, не каждый магазин занимающийся продажей спутникового оборудования имеет у себя в арсенале данное устройство, да и цены могут «кусаться».
Устройство ИК-приемника
Давайте разберемся, как устроен и из чего состоит выносной приемник Триколор ТВ (LF-DX8).
Разобрав корпус прибора мы увидим печатную плату прибора:
На плате расположен красный светодиод с токоограничивающим резистором сопротивлением 1 кОм. Назначение светодиода — индикация работы устройства.
Второй элемент платы — фотоприемник VS1838B рассчитанный на несущею частоту 38 кГц и керамический конденсатор на 100 нФ для сглаживания ВЧ помех в шине питания.
Фотоприемник и его особенности. Простая схема …
Приведем полученную схему к удобочитаемому виду:
Если наличие светодиода для Вас не принципиально то его можно легко отбросить, при этом получится следующая схема:
Как видно из представленной выше схемы, все очень просто! Для самостоятельного изготовления выносного инфракрасного приемника Триколор ТВ вам понадобится всего три детали: аудио штекер 3.5мм (он же мини-джек, mini-jack, TSR 3.5 мм), фотоприемник VS1838 и керамический конденсатор. Аудио разъем можно взять от старых стерео наушников. Фотоприемник VS1838 можно приобрести в магазине радиодеталей или в интернете на Aliexpress.com (в этом случае, с учетом доставки, данный датчик обойдется около 5 рублей). Керамический конденсатор можно выпаять из любого ненужного цифрового устройства, такие емкости обычно ставятся рядом с ножками питания микросхем, либо купить в том же магазине радиодеталей (стоит такой элемент несколько копеек).
Изготавливать печатную плату, для выносного ИК-приемника, Вам не придется, схема настолько проста, что все элементы можно подпаять прямо к ножкам фотоприемника vs1838.
В завершении вышесказанного приведем внешний вид всех элементов, которые потребуются Вам для самостоятельного изготовления устройства:
Желаем Вам удачных экспериментов!
Если после прочтения данной статьи у Вас остались вопросы, мы с удовольствием постараемся на них ответить Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
Источник: www.tricolor78.ru
ИК в AVR
Рассмотрим работу ИК в AVR на примере подключения ИК светодиодов к ATMega 16/32. Реализуем две программы: одну для приемника и одну для передатчика.
ИК-связь использует ИК (инфракрасные) волны электромагнитного спектра.
ИК-волны — это волны в диапазоне частот от 300 ГГц до 430 ТГц и имеющие длину волны в диапазоне от 700 нм до 1 мм.
Связь между пультом и телевизором является примером ИК-связи.
ИК-светодиод используется для беспроводной передачи данных в цифровом виде: 0 – светодиод выключен или 1 – светодиод включен.
Эти данные получает ИК-фотодиод или ИК-фототранзистор. ИК-фотодиод или ИК-фототранзистор дают разные значения тока в зависимости от интенсивности света.
Поскольку передаваемые данные имеют цифровую форму (светодиод горит или не горит), для декодирования этих данных можно использовать микроконтроллер.
Передаваемые данные можно модулировать, для этого существуют специальные ИК-приемники-декодеры, которые могут принимать модулированные данные.
Для получения дополнительной информации об ИК-связи см. статью ИК-порт в разделе Датчики и модули.
Давайте в качестве примера использования ИК в AVR, рассмотрим систему передачи данных на основе ИК-светодиода и ИК-приемника TSOP1738. Соединять их будем с микроконтроллером AVR ATmega16. В этом примере мы подключим клавиатуру на стороне передатчика и будем передавать нажатия кнопок. Приемник будет отображать принимаемые данные от передатчика. Схемы приемника и передатчика приведены ниже.
Схема передатчика ИК и ATmega16
- Подключите вывод последовательных данных PD1 (TXD) к базе транзистора Т1, а частоту 38кГц, генерируемую на выводе PD7, подключите к коллектору транзистора Т2.
- Транзистор Т1 действует как инвертор, а транзистор Т2 действует как переключатель. Выход транзистора Т2 представляет собой последовательную модуляцию данных на частоте 38кГц, как показано на рисунке выше.
- ИК-светодиод подключен последовательно с резистором 100 Ом к эммитеру транзистора Т2.
Схема приемника ИК и ATmega16
Пример программы передатчика ИК
В примере программы используется две библиотеки: Keypad.h и USART_RS232_H_file.h. С помощью прерывания от таймера на ножке PD7 генерируем частоту 38 кГц. Далее проверяем какая клавиша нажата и отправляем ее на приемник в инвертированном виде.
#define F_CPU 8000000UL #include #include #include #include «USART_RS232_H_file.h» #include «Keypad.h» char g=0; ISR(TIMER0_OVF_vect) < g = ~g; if (g!=0) PORTD |= (1<<7); if (g==0) PORTD <7); TCNT0 = 0xF4; >void Timer_dalay() < TIMSK=(1<int main(void) < DDRD |= 0xFF; USART_Init(1200); sei(); Timer_dalay(); char j,d=0; while(1) < j = keyfind(); switch (j) < case (‘1’): USART_TxChar(‘$’); USART_TxChar(‘1’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘2’): USART_TxChar(‘$’); USART_TxChar(‘2’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘3’): USART_TxChar(‘$’); USART_TxChar(‘3’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘4’): USART_TxChar(‘$’); USART_TxChar(‘4’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘5’): USART_TxChar(‘$’); USART_TxChar(‘5’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘6’): USART_TxChar(‘$’); USART_TxChar(‘6’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘7’): USART_TxChar(‘$’); USART_TxChar(‘7’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘8’): USART_TxChar(‘$’); USART_TxChar(‘8’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘9’): USART_TxChar(‘$’); USART_TxChar(‘9’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘0’): USART_TxChar(‘$’); USART_TxChar(‘0’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘*’): USART_TxChar(‘$’); USART_TxChar(‘*’); d = ~j; USART_TxChar(d); _delay_ms(10); break; case (‘#’): USART_TxChar(‘$’); USART_TxChar(‘#’); d = ~j; USART_TxChar(d); _delay_ms(10); break; >> >
Пример программы приемника ИК
Алгоритм работы программы:
- Для работы с дисплеем используем библиотеку LCD16x2_4bit.h. Для приема данных используем библиотеку USART_Interrupt.h. Данные библиотеки приведены в исходных кодах программы внизу статьи в разделе Документация
- Прием данных осуществляется в прерывании USART.
- После получения данных, проверяем, что первый специальный символ — $, если да, то счетчик увеличивается на единицу.
- После этого, берем второй и третий байты, инвертируем и сохраняем в разных переменных.
- Далее проверяем полученные данные. Инвертируем второй символ и сравниваем с третьим, для этого используем логическую операцию ИЛИ. Если результат логической операции правильный, то отображаем полученные данные на LCD, иначе не отображаем.
#define F_CPU 8000000UL #include #include #include #include «USART_Interrupt.h» #include «LCD16x2_4bit.h» char check,data,invdata,count=0; ISR(USART_RXC_vect) < if(count == 0) < if (USART_RxChar() == ‘$’) count++; else count=0; >if (count == 1) < data = USART_RxChar(); count++; >if (count == 2) < invdata = USART_RxChar(); if ((data | invdata)==0xFF) < lcd_gotoxy(0,0); lcddata(data); >count=0; > > int main(void)
Документация
- Даташит ATMega16
- Даташит TSOP1738
- Даташит IR LED
- Даташит BC547
- Исходный код приемника
- Исходный код передатчика
Где купить
- ATmega16 DIP-40
- ATmega16 TQFP-44
- Матричная клавиатура 4×4
- LCD16x2 Display
- LCD 16×2 I2C
- TSOP1738 Infrared Receivers
- Инфракрасный излучатель IR LED
- Набор IR приемников и излучателей
- Транзистор BC547 100 штук
- Набор транзисторов 10 видов по 20 штук
Источник: rxtx.su