Разработка прошивки Arduino для автоматизации ТВ

Цена договорная • безналичный расчёт, электронные деньги
17 марта 2018, 21:08 • 7 откликов • 72 просмотра
Автоматизация включения телевизора в заданное время и поддержание его работы в рабочие часы

Исходные данные:
Имеются несколько телевизоров (Далее “ТВ”) марки Samsung которые смонтированы на территории предприятия. Каждое утро требуется проигрывать на данных ТВ определенный видеоряд для оповещения сотрудников о новостях компании, изменениях и пр. . ТВ находятся достаточно далеко друг от друга, на разных этажах и помещениях, и каждое утро сотрудник вынужден “вручную” включать их, после чего автоматически автоматически запускается видеоряд транслирующиеся через локальную сеть по протоколу DLNA.

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

Для решения задачи была изготовлена схема на базе Arduino nano представляющая из себя сам микроконтроллер, дисплей 1602 подключенный через интерфейс I2C, инфракрасный светодиод, часы реального времени с батареей, вилка USB для подключения к порту USB ТВ подключенный через и три кнопки для управления меню (Вверх, SET, Вниз).

Принципиальная схема в прикреплена к задаче.

Требуется написать прошивку для контроллера Arduino nano c функционалом:

После подачи питания на устройство, производится ввод текущего времени через меню (если оно не было выставлено до этого), после чего производится настройка промежутка рабочего времени, затем устройство проверяет каждые 15 секунд есть ли напряжение (V>2В) на порту контроля включения ТВ и находится ли текущее время и день недели в промежутке заданного рабочего времени. Если находится, но напряжение V<2В (ТВ выключен), тогда производится отправка команды на включение через ИК светодиод. Таким образом устройство поддерживает ТВ включенным до конца рабочего дня и не пытается подать команду если устройство уже включено (команда на включение и выключение - одна и та же). Выключение ТВ не требуется, после остановки сетевого видеоряда ТВ отключается автоматически через заданный период.

Описание меню из четырех пунктов с выводом на дисплей 1602:

  • Установка рабочего времени вида (начало рабочего дня - конец рабочего дня) ХХ:ХХ - УУ:УУ и дней недели
  • Установка времени ХХ:ХХ и дней недели
  • Разрешение или запрет работы устройства (Вкл или Выкл)
  • Вывод напряжения на порту контроля USB порта ТВ

Команда на включение ТВ реализуется через библиотеку IRremote, код передачи подобран экспериментальным путем и опробован для используемой модели ТВ.
Код:
irsend.sendSAMSUNG(0xE0E040BF, 32);

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



Файлы
Отзывы
Спасибо этому прекрасному человеку, благодаря ему проект который разрабатывался уже более полугода, был закончен буквально за неделю. Всеволод быстро разобрался в ТЗ, быстро приступил к работе, не пропадал и всегда был на связи. Рекомендую!
~ 6 лет назад
Понятное ТЗ. Оплата сразу после выполнения заказа. Остались только приятные впечатления.
~ 6 лет назад