http://www.forum.getchip.net/ |
|
Универсальный обучаемый пульт http://www.forum.getchip.net/viewtopic.php?f=8&t=253 |
Страница 1 из 10 |
Автор: | GetChiper [ 11 авг 2012, 00:38 ] |
Заголовок сообщения: | Универсальный обучаемый пульт |
Универсальный обучаемый пульт собран! Текущий топик закрыт. Полное описание и необходимые файлы находятся в статье: Обсуждение устройства в новом топике: или в статье. Спасибо всем за участие! В данный момент начал новое устройство - универсальный обучаемый пульт для бытовой техники. Выглядеть это будет следующим образом: 1 устройство будет иметь шесть сенсорных обучаемых клавиш и три клавиши для переключения типа устройств. 2 каждую из шести клавиш можно обучить любой команде любого пульта. 3 клавиши переключатели служат для возможности управлять одним пультом разной техникой (телевизор, усилитель, проигрыватель...) 4 устройство будет собрано на ATmega168 (в принципе будет достаточно ATmega88 или даже ATmega48 и возможно я наделаю прошивок на разные варианты контроллеров) 5 устройство конструктивно будет состоять из двух плат-частей базовой с микроконтроллером и сменной панели с сенсорами которую в последствии можно будет заменить на другую, с другим набором клавиш или периферии (типа как шилд для arduino) 6 кстати о arduino, так как микроконтроллер именно такой в ней и используется, то грех не сделать этот пульт (прошивку имеется в виду) совместимым. Поэтому планирую параллельно нарисовать плату-шилд для возможности сделать пульт и на для arduino (freeduino...) 7 может еще чего? походу добавлю. Определился с логикой работы (и уже почти все реализовал в железе). Все легко меняется, поэтому любые пожелания приветствуются ![]() Для лучшего понимания привожу картинку с названиями клавиш 3D-wiev-.jpg [ 47.43 КБ | Просмотров: 26827 ] Клавиши и индикаторы: - аппаратная (контактная) клавиша Set служит для различных целей но главные - переход из режимов, усыпление пульта и вывода его из сна; - индикаторный Led служит для индикации различных режимов работы; - сенсорные клавиши смены программ и изменения уровня имеют автоповтор (функции: громкость, переключение каналов, яркость, тембр, ...); - сенсорные клавиши Power и Mute не имеют автоповтора (нужны для единичных действий: включить-выключить, открыть-закрыть, ...); - сенсоры выбора группы команд делают активным один из трех возможных наборов (по 6 штук) команд-сенсоров (например: 1-телевизор, 2-усилитель, 3-свет) ; - еще есть пьезоизлучатель Buzzer, он озвучивает нажатия клавиш и другие действия. Алгоритм работы: - При включении пульта (подаче питания), он переходит в режим воспроизведения команд из первой группы команд. Прозвучит длинный пииик и сразу за ним короткий (первый набор команд). Загорится Led. Если теперь нажимать сенсоры выбора группы команд то будет звучать длинный пииик и сразу за ним в зависимости от номера группы количество коротких. Переключатели групп команд во всех режимах работают одинаково. - При нажатии в режиме воспроизведения сенсоров команд, будет издаваться короткий звуковой сигнал (пик) и выдаваться IR-команда. - Если пульт не трогать 10 секунд он перейдет в режим сна (может подольше его не ложить спать?). В режим сна можно ввести пульт принудительно нажав кратковременно Set. Кратковременное нажатие на Set в режиме сна просыпает пульт и он просигналит номер активной группы команд (что-бы лишний раз не ворушить пальцем ![]() - Если в режиме воспроизведения длительно зажать Set, то пульт перейдет в режим обучения, издав два коротких сигнала, и Led начнет постоянно моргать. Если теперь нажать любой сенсор - светодиод погаснет прозвучит длительный сигнал и пульт будет ждать IR-посылки от оригинального пульта. Если посылка получена, прозвучит длинный сигнал и пульт запомнит команду и вернется в режим обучения. Если посылки долго нет - прозвучит короткий сигнал и пульт перейдет в режим обучения. Еще, ожидание IR-посылки можно отменить кратковременным нажатием Set. В режиме ожидания IR-посылки оригинального пульта можно выбирать другие сенсоры или группы. Действия сенсоров селекторов аналогично режиму воспроизведения. - Возвратится назад в режим воспроизведения можно длительно зажав Set (последуют два коротких сигнала) или спустя 10 бездействия пульт сам перейдет в режим воспроизведения. Возникшие проблемы по ходу разработки (для себя, чтоб не забыть) - ошибся в печатке клавиш, Задействовал вывод используемый для IR LED (+исправлено). - так как планирую переводить микроконтроллер в режим сна, то нужно сделать питание TSOP от ножки микроконтроллера (сейчас сидит на + питания), чтоб не кушал тока (или перемычку сделать? обучил и отключил вообще??) (+ исправлено) Схема: Схема пульта уже, наверное, меняться не будет. ![]() Скачиваний: 1674 Устройство разделено на две части - базовую и сенсорную плату пульта. Базовая часть по выводам совместима с Arduino, Freeduino и им подобным. Поэтому у кого такие есть в наличии можно просо развести для нее шилд пульта (до момента написании статьи я такую разводку сделаю сам). На схеме указаны наименование выводов Arduino. Базовую часть планируется задействовать в других устройствах. Будет меняться только верхняя плата-шилд которая "сидится" на разъемы основной платы. Печатка: Это обычный вариант (вытравленные сенсорные площадки находятся вверху) ![]() Скачиваний: 1679 А это вариант пульта у которого сенсорные площадки располагаются ЗА текстолитом (с обратной стороны). Кроме того, предусмотрено крепление батарейки и подсветка сенсоров пульта. ![]() Скачиваний: 1671 Прошивка ATmega168: Еще не окончательный, но уже вполне работоспособный вариант. ![]() Скачиваний: 1680 Фьюзы ATmega168: Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке. Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно. fusebits.png [ 5.17 КБ | Просмотров: 26799 ] Прошивка ATmega88: ![]() Скачиваний: 1634 Вариант последней разводки с сенсорами ЗА платой. Инициализация сенсоров происходит в момент включения питания с задержкой (чтобы успеть убрать пальцы с сенсоров). Фьюзы ATmega88: Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке. Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно. fusebits88.png [ 5.16 КБ | Просмотров: 26657 ] Исходник: ![]() Скачиваний: 1175 UPD: Пульт научился спать ![]() Потребление тока падает до 16 мкА, это дает возможность, питаясь от 3х вольтовой батарейки-монетки в режиме ожидания, работать целый год ![]() Еще: - Размер прошивки 1272 слов, что дает возможность делать пульт на ATmega48 (2048 слов), а это дешевле! - Планирую (позже) сделать программку для формирования BIN-файла, для прошивки EEPROM, с кодами команд для произвольного пульта из Это на случай если оригинального пульта нет (например, потерялся), а нужно настроить наш пульт только по названию. |
Автор: | SVN [ 11 авг 2012, 10:44 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Отлично! ![]() ![]() ![]() |
Автор: | aui2002 [ 12 авг 2012, 19:22 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Автор: | GetChiper [ 12 авг 2012, 21:38 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Автор: | aui2002 [ 13 авг 2012, 17:08 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Автор: | GetChiper [ 13 авг 2012, 20:31 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Думаю индикация особо и не нужна. Не составит труда лишний раз клацнуть на клавишу выбора устройства. |
Автор: | nikolyan [ 15 авг 2012, 22:46 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Ну почему индикация не нужна?Устройство ведь многофункциональным планируется.Поставить три светодиода, пусть мигают на небольшом токе.Можно ведь использовать с механикой , роботами.И ошибка в команде может привести к ненужному движению |
Автор: | GetChiper [ 15 авг 2012, 23:16 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Что-то будем думать. |
Автор: | Санек86 [ 15 авг 2012, 23:26 ] |
Заголовок сообщения: | Re: Универсальный обучаемый пульт |
Страница 1 из 10 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |