Как управлять телевизором для работы с DVB-T2 (ARDUINO UNO)
Для приема цифрового ТВ на аналоговый телевизор к нему нужно приобрести DVB-T2 приставку. С приставкой телевизор работает в режиме монитора. DVB-T2 приставка работает с собственным пультом дистанционного управления, которым можно переключать программы, регулировать громкость звука, включать и выключать приставку.
В результате получается что от системы управления телевизора требуется только включить его, и переключить в режим «АV».
В Л.1 приводится описание блока на основе ARDUINO UNO, который подключается к кнопкам выбора программ (+Р) и монитора (АV) телевизора, а так же, по питанию от сети. И этот блок управляет телевизором при помощи свободных кнопок пульта приставки.
Идея хорошая, но мне не понравилось два момента.
Первое, это то что для включения телевизора используется USB-порт приставки. У меня к нему подключен внешний жесткий диск, и порт и так нагружен.
Второе, это то, что нужно чтобы на пульте приставки было две лишние кнопки На пульте моей приставки таковых не оказалось, — все кнопки задействованы.
Поэтому было решено сделать блок, который вообще никак не подключается к DVB-T2 приставке, и работает только от одной кнопки её пульта. — кнопки «On/Off».
Принципиальная схема
Идея такова, — нажимаем кнопку «Оп/Off» на пульте приставки. Сигнал пульта принимает приставка и включается.
Кроме того, этот же сигнал пульта принимает блок на ARDUINO UNO и сначала при помощи электромагнитного реле подключает телевизор к электросети (механический выключатель телевизора должен быть предварительно включен).
Затем, через 5 секунд открывается ключ, который подключен параллельно кнопке «+Р» (перебор программ) телевизора. Это включает телевизор в рабочий режим.
Далее, спустя паузу в 2 секунды, другой ключ «нажимает» кнопку «АV» телевизора. и переключает его в режим монитора. Если выключаем приставку, то еще раз нажимаем кнопку «Оп/Off» на пульте приставки.
Сигнал пульта принимает приставка и выключается. Кроме того, этот же сигнал пульта принимает блок на ARDUINO UNO и при помощи электромагнитного реле отключает телевизор от электросети.
Рис. 1. Схема блока управления телевизором для работы с DVB-T2, построена на ARDUINO UNO.
Один недостаток только в том, что для блока управления нужен отдельный источник питания напряжением 12V. С учетом того что используется готовый блок ARDUINO UNO, схема получается довольно простая.
Для управления питанием телевизора служит электромагнитное реле К1. Оно включается когда на порту D4 платы ARDUINO UNO появляется логическая единица. Транзистор VT2 служит для включения телевизора из ждущего режима, в котором он оказывается сразу после подачи питания.
Сток транзистора подключен к кнопке перебора программ (+Р) на передней панели телевизора. Транзистор VTЗ служит для включения режима монитора, его сток подключен к кнопке АV телевизора.
Общий минус схемы должен быть подключен к общему минусу схемы телевизора, желательно возле панели для кнопочного управления.
Для приема сигналов пульта используется фотоприемник F1 типа TSOP4838, но можно применить и любой другой аналогичный.
Программа для МК
Программа для ARDUINO UNO приводится в таблице 1.
Основная задача была поставлена та. чтобы все включение и выключение телевизора осуществлялось только одной командой пульта приставки, формируемой при нажатии кнопки «Оп/Off» пульта.
Рис. 2. Исходный код для программы блока управления телевизором с DVB-T2 на ARDUINO UNO.
Данная программа требует загрузки библиотеки IRremote.h которая нужна для распознавания команд пульта ДУ. Эта библиотека есть в стандартном наборе программного обеспечения для ARDUINO.
Далее идет назначение портов. В строке:
IRrecv irrecv (2);
входным назначен порт D2. На него подается сигнал с выхода интегрального фотоприемника. А в строках:
выходными назначены порты D4, D5 и D6.
В программе после «case Ох» записан код команды, формируемый при нажатии кнопки «Оп/Off» пульта. После приема этой команды запускается подпрограмма, которая сначала определяет состояние порта D4. Нужно было как-то сделать чтобы при одном нажатии кнопки на D4 появлялась единица, а при другом — ноль.
В данном случае, может быть применено и нестандартное решение, но оно работает. Используется аналоговый порт АО, на который поступает напряжение с порта D4. Аналоговый порт измеряет напряжение на порту D4.
Если это напряжение больше 0,7 от напряжения логической единицы, то в порт D4 записывает ноль. Если же это напряжение меньше 0,7 от напряжения логической единицы, то в порт D4 записывает единицу. Для этого используется компараторная функция «IF».
Принятие решения какой уровень записывать в порт D4 происходит в этих строках:
if (val > 700) digitalWrite( 4, LOW);
if (val PCBWay — всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН.
Arduino dvb t2
Все началось с того, что я разбираюсь с OFDM-технологией (DVB-T2) и решил сделать GNU(SDR)-радио из того, что есть под рукой, потому что купить больше ничего не могу, через 10 дней я в другой стране. Понял, что у меня есть Иртыш DVB-T2 приемник, где есть аналоговая часть и цифровая, и Arduino, с помощью которого я могу обрабатывать цифровой поток и отсылать данные по UART на компьютер. Если одно Arduino не потянет — у меня их 3.
Насколько это реально, какие решения можете предложить? Если не DVB-T2, то как еще реально сделать GNU-радио на базе Arduino? Не судите строго, потому что я еще ни одного SDR-радио не запускал, но логика моя такова: существуют инструкции, как из USB-TV тюнера сделать SDR http://radioskot.ru/forum/5-2272-1 , вот как я понял, информация цифруется после аналогового тракта и можно ее получить в цифровом варианте на компьютер, с другой стороны можно подавать команды и управлять диапазоном, в котором происходит оцифровка.
Мне бы хоть какое-нибудь радио до отъезда сделать, потому что верх моего мастерства пока — это недоделанные алгоритмы для Virtex6 и полностью доделанная система передачи информации на RF-модулях, хотелось бы уже покапаться чем-то большим, чем анализатором спектра, в частотном диапазоне на практике!
_________________
На практике можно не успеть сделать того, что можно хорошо обосновать в теории. Но без практики теория может отдаляться от нее, и когда они встретятся снова — не узнает даже неприкосновенное шампанское профессора в лаборатории. Моя практика: robofeya.ru
Последний раз редактировалось Gudd-Head Пн авг 18, 2014 10:13:43, всего редактировалось 1 раз. |
Сюда перенёс |

Реклама | ||
| ||
![]() |
Morroc ![]() | | ||||||||||||||||||||||||||||||||||||||||||
Карма: 49 |
|