Arduino dvb t2

Как управлять телевизором для работы с 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 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН.

  • Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет.
  • Проекты с открытым исходным кодом — доступ к тысячам открытых проектов в сообществе PCBWay!
  • Источник

    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
    Рейтинг сообщений: 437
    Зарегистрирован: Чт фев 20, 2014 18:57:55
    Сообщений: 14890
    Рейтинг сообщения: 0

    Ардуина ардуине, конечно, рознь, бывают и на stm32, а обычная не потянет. На stm32f4 делают цифровую обработку для приема радио и не так чтоб много ресурсов остается свободных, вот примеры:

    Феномен того RTL USB (который DVB-T за $10) в том, что кто то где то умудрился то ли документацию найти (в свободном доступе ее вроде нет) то ли расковырять драйверы и получать потоки I/Q с этой штуки, не факт, что такое можно проделать с любым чипом тюнера и не факт, что штатное ПО без напильника способно формировать нужные (для радио, а не для ТВ) потоки данных.

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

    _________________
    «Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !» / Джордж Оруэлл /
    «Война — это,когда за интересы других,гибнут совершенно безвинные люди.» / Уинстон Черчилль /

    YS
    Друг Кота

    Карма: 70
    Рейтинг сообщений: 1225
    Зарегистрирован: Вс мар 29, 2009 22:09:05
    Сообщений: 7486
    Рейтинг сообщения: 0

    На Arduino — без шансов. UART — вообще смешно. Частота дискретизации I/Q каналов при приеме DVB-T(2) — около 10 МГц (а лучше 20 МГц), поскольку полоса сигнала DVB-T(2) составляет 8 МГц (10 МГц — ибо квадратура позволяет уменьшить требования к полосе каждого канала в два раза). Если АЦП восьмибитные, то имеем поток данных как минимум 19 мегабайт в секунду. Этого не обработать на Ардуине даже глубоко теоретически, ибо одна выборка будет приходиться примерно на одну инструкцию Ардуины.

    Для хиленького радио (не видео!) можно попробовать выводить I/Q потоки через звуковую карту и подавать их на перемножители. Разумеется, железо придется делать самостоятельно.

    Буду судить строго. Вам уже сто раз говорено, как эту задачу надо решать. И сто раз говорено, что из говна и палок того, что вы хотите, не сделать. Вы же упорно не хотите трезво взглянуть на реальность.

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

    _________________
    Разница между теорией и практикой на практике гораздо больше, чем в теории.

    Реклама

    Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

    Morroc
    Друг Кота

    Карма: 49
    Рейтинг сообщений: 437
    Зарегистрирован: Чт фев 20, 2014 18:57:55
    Сообщений: 14890
    Рейтинг сообщения: 0

    Это была бы очень странная идея, imho. Есть вполне повторяемые в домашних условиях конструкции DDC SDR с открытыми исходниками FPGA, можно уменьшить поток и обработать чем нибудь (но не ардуиной на меге328, там прилично выходит математики) и параметры будут уже удобоваримые, а не как у китайского свистка, затыкаемого любой мощной станцией в диапазоне его приема (при подключении к внешней полноразмерной диапазонной антенне). А на базе аналоговых SDR так и вообще готовое уже, можно там подсмотреть как обработка нч и детектирование сделано.

    В SDR программах вроде можно и с RTL SDR поток регулировать, но в любом случае обработка пары звуковых (20-40к/сек) каналов на ардуино — это несерьезно.

    _________________
    «Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !» / Джордж Оруэлл /
    «Война — это,когда за интересы других,гибнут совершенно безвинные люди.» / Уинстон Черчилль /

    Реклама

    Приглашаем 13 октября всех желающих присоединиться к вебинару, который будет проводить компания КОМПЭЛ совместно с представителями бренда MEAN WELL. Вебинар будет посвящен новинкам продукции, планам MEAN WELL на следующий год, аналогам продукции ушедших из РФ брендов, особенностям работы в текущих условиях, возможностях субдистрибьюции и другим вопросам. Мероприятие пройдет в формате живого диалога.

    Страница 1 из 1 [ Сообщений: 4 ]

    Часовой пояс: UTC + 3 часа

    Кто сейчас на форуме

    Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    Источник

    Adblock
    detector