Автоматическое и ручное управление экраном проектора
- Войдите на сайт для отправки комментариев
Под новый год решили соорудить в доме кинозал с проектором. Экран моторизованный, управляемый переключателем на проводе. Так как вставать с дивана для раскрытия экрана не наш метод, то решено было это делать автоматизировать и упростить.
Имеем - экран с встроенными концевыми выключателями за счет чего экран едет до райнего положения автоматически на 100% механике. Для смены направления нужно перекидывать дин из проводов сети между двумя разными проводами электромотора. Т.е. с точки зрения электрического управления все просто, достаточно одного реле с перекидным контактом, в положении выключено экран будет закрыт, в положении реле включено - будет орываться и оставаться открытым.
Для управления было решено использовать инвракрасный интерфейс, на стороне экрана это приемник VS1738 - интегрированный инфракрасный приемник на частоте 38КГц
Значит первый способ управления - любой обычный ПДУ.
Второй способ - кнопка на самом устройстве. Вторая кнопка на устройстве будет использована для програмирования двух кодов IR. Первый от ПДУ, а второй от второго устройства.
Значит второе устройство. Его идея в том, чтобы слать IR код тогда когда включен проектор. Тогда в принципе можно вообще не заботиться о ручном управлении экраном - включаем проектор, экран открывается. Выключаем проектор - через какое-то время экран закрывается.
Впрочем, чтобы экран не пылился и не соблазнял собаку он будет закрываться при ручном открытии, но через несколько часов
Так как у проектора есть USB то самым простым вариантом узнать когда он работает оказалось запитать стройство от USB. Но есть одно уточнение. В тот же USB необходимо вставлять адаптер WIFI, поэтому еще одно требование к устройству - оно должно так же выступать как USB удлинитель, т.е. устройство вставляем в проектор, а адаптер в устройство.
Схемы. Контроллер экрана:
Устройство на проекторе:
Логика работы устройства на проекторе чертовски проста - после подачи питания шлем код и делаем паузу, спустя паузу снова шлем код и так до отключения питания. В момент отправки кода мигает светодиод
Логика работы контроллера экрана посложнее. В первой части loop он определяет какое действие с экраном нужно соврешить. Список действий опрелделен enum { relay_none, relay_to_on, relay_to_off, relay_to_reverse } action
Во второй части действие исполняется.
В третьей проверяем нажатие кнопки насйтройки и если она нажата то в ходим на 30 секунд в цикл програмирования кодов. Первым програмируется код устройства проектора, вторым код ПДУ. при успешном програмировании кода проектора паузы между вспышками светодиода в три раза увеличиваются. После програмирования кода ПДУ происходит автоматический возврат в режим работы. Изменение кода проектора или кода ПДУ можно пропустить (без изменения) нажав еще раз кнопку конфигурирования (button1).
Зеленый светодиод горит постоянно в нормальном режиме работы когда экран закрыт или находится в процессе закрытия. Медленно мигает когда экран открыт или открывается. Часто моргает с короткими паузами при програмировании кода проектора и быстро моргает с длинными паузами при програмировании кода ПДУ
ПДУ может быть любой который поддерживается библиотекой IRremote. При нажатии кнопки ПДУ экран меняет состояние по кругу. Точно так же работает button2 на самом устройстве. После исполнения любой из команд делается пауза 5 секунд в течении которой ни на какие команды устройство не реагирует, сделано, чтобы не дергать экран туда-сюда
В обоих скетчах применен Timer2 для равления временными задержками.
Програмирование делал в Atmel Studio с плагином для ардуино от visualmicro. Завливку скетчей через атмеловский програматор mkII без применения бутлоадера. В устройстве проектора кварц 8МГц (так как напряжение 3В, оно снижено, чтобы уменьшить ток потребления от USB при одновременном применении step-down преобразователя), в контроллере экрана 12МГц (можно и 16, просто у меня большой запас 12)
В boards.txt вставлены такие настройки:
в белой коробке устройство экрана. в черной устройство проектора
корпуса напечатаны на 3Д принтере
Урааа присоединяюсь. Много лет назад тоже горел желанием с пульта крутить экран вверх вниз. Так как не включал проектор много лет, Сегодня жена предложила может поднимать вверх вниз телевизор с метровой диагональю. Если будет время после работы думаю на противовесах посоздаю кнструкцию. По поводу эрана проектора. Сворачивать в рулон это правильно. Ключевые слова пыль грязь. Кто не понял проходите мимо. Мои экраны это механичесике конструкции. Концевички думал не на просвет, а магниты со скользящими герконами или классические механические скользящие . Надо будет почитать местный вариант. Мотор думаю если не червяк то только шаговик за удержание. У меня один экран червяк а второй заводсткого изготоволения с защелками. Я меня экраны 2.5метра на 2 метра. Есть моменты когда нет необходимости полностью разворачивать. Думал шаговиком шагать на 3 позиции. Кратко тех задание такое. Это тех задание больше для меня.
P.S. на принтере что-нибудь распечатать для необычности возможно
Вчера все установил и прямо в Новый Год все проверил - работает как задумано.
Отличная схема, как раз искал что-то подобное! У меня два USB выхода проектора и WI-FI встроенный поэтому нет необходимости делать разветвитель, если конечно он выполняет только эту роль. Хотелось чтобы открытие экрана происходило после включения проектора, а закрытие после выключения. Чем можно пренебречь в схеме, чтобы реализовать данный алгоритм?
у меня так и происходит - открытие сразу после включения проектора, а закрытие через пару минут после выключения
так как вам разветвитель не нужен то из схемы можно убрать только разъем USB предназначенный для установки wifi свистка
все остальное нужно
но если можно протянуть проводок от проектора до экрана, тогда все очень сильно упрощается, по большому счету даже микроконтроллер не нужен
но если можно протянуть проводок от проектора до экрана, тогда все очень сильно упрощается, по большому счету даже микроконтроллер не нужен
Да, протянуть провод возможность есть. Подскажите как можно сделать в моем случае?
В вашем случае можно взять блок питания на 5в (usb зарядку), релейный модуль с транзисторным ключем (они почти все такие, но лучше уточнить) и все
если экран у вас как у меня, то там концевые выключатели и три провода, условно A/B/C. Чтобы открыть экран надо 220 подать на A/B, закрыть - B/C
Ставите реле так, чтобы когда оно выключено напряжение подавалось на B/C, а когда включено - на A/B
Теперь релейный модуль цепляете к блоку питания, а два провода со входа тянете к USB разьему проектора
- проектор включен - срабатывает реле и экран открывается
- проектор выключен - реле выключается и экран закрывается
У меня мотор с редуктором от шуруповерта. Да, привязать схему к питанию от USB я как то не полумал. А если сделать только экранный модуль по вашей схеме будет так работать плюс с ИК пульта ?
Мой модуль вполне может работать только от ик пульта без второй части
Значит можно сделать модуль управления экраном и он будет работать с пульта и автоматически разворачивать и сворачивать экран при включении и выключении проектора? Понравилась идея в качестве концевиков использовать KTIR0821DS
А можно файл схемы, а то мелковато плохо видно?
Файл в формате altium designer. Могу в pdf выгрузить
Если можно в pdf, буду признателен.
У меня еще такой вопросик... можно hex для прошивки, а то у меня нет Atmel St., в понипрог МК прошиваю
Там скетчи ардуиновские, их можно компилить в среде ардуино
чуть позже выложу
Попытался компилировать скетч в среде ардуино, выдал ошибку 'IRrecv' does not name a type. Это значит библиотеки нет?
Нужна библиотека IRremote
Установил библиотеку, опять ошибку при проверке выдал: "'TCCR2' was not declared in this scope" - 65 и 66 строка
Установил библиотеку, опять ошибку при проверке выдал: "'TCCR2' was not declared in this scope" - 65 и 66 строка
код для Мега8. Выше написано как настроить среду ардуино
Я с Ардуино мало имел дело, мне бы файл прошивки в hex, по возможности фюзы и схему покрупнее. Если это коммерческий вариант то можно на почту m1tya52@yandex.ru
Вы какой Мк планируете использовать?
На схеме Атмега8, ее и хотел использовать.
Ок. Посмотрю хекс. Если честно никогда не задавался вопросом где он создается, надо найти
Я читал на форумах в папке Temp. Искать по дате и времени когда компиляция была произведена.
У меня сделано аналагично, только устройство вставляется в выход тригера на пректоре, он же на всех проекторах есть. Почему усб замучил???* И сигнал отправляю по радиоканалу.
http://ru.aliexpress.com/item/Free-shipping-3d-led-projector-full-hd-bui...
Я не нашел там триггер-выхода
Действительно, но 2 усб за то
И снова здравствуйте! А платы в lay не дадите?