tklim 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба То есть, вы пытаетесь сделать "обучаемый" приемник, способный настраиваться на любой ИК пульт? Бросьте эту затею, это совершенно точно задача не для начинающих. В общем виде она скорей всего вообще не решается. Вряд ли вы представляете себе, насколько разнообразны ИК протоколы в пультах, поэтому поставили себе задачу, с которой не справитесь. Очень даже решается. И если система не будет работать с каким-нибудь чудо-пультом от супернавороченной автомагнитолы - это не такая уж проблема. Ну, еще от кондиционеров пульты точно не подойдут... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба а как решают эту проблему в выключателях? по моему сделан "обучаемый" приемник, способный настраиваться на любой ИК пульт. чаще встречаются пульты от NEC a, а мне очень знакомо протокол RC-5, я уже написла код и нормально работает, но только с RC-5 не обойтись :( , а у SONY совсем другой протокол. " 3. при следующем прерывании пишем в массив текущее значение таймера и сбрасываем таймер. " дорогой Клим скажите пожалуйста 1. какой таймер мне надо настроить и запустить? 2. текущее значение таймера что означает? тоесть инкрементировать? так как я сделал? или взять значение TCNT0? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tklim 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба 1. какой таймер мне надо настроить и запустить? 2. текущее значение таймера что означает? тоесть инкрементировать? так как я сделал? или взять значение TCNT0? 1. Какой не жалко их там в меге аж 3 штуки. 1 из них, еще нужно будет использовать для слежения за фазой. (Или регулировки яркости не будет?) 2. Текущее значение таймера при прерывании =время предыдущего импульса (или паузы). Брать TCNTx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба 1. Какой не жалко их там в меге аж 3 штуки. 1 из них, еще нужно будет использовать для слежения за фазой. (Или регулировки яркости не будет?) 2. Текущее значение таймера при прерывании =время предыдущего импульса (или паузы). Брать TCNTx регулировки яркости будет, а таймер0 8 разр. настроить на 1 мкс? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tklim 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба регулировки яркости будет, а таймер0 8 разр. настроить на 1 мкс? Там смотреть надо, какая максимально длина импульса может быть(и паузы) Чтоб таймера хватило. А 1мкс - это очень мало. Там модуляция идет 38кгц - так что меньше 25мкс - смысла нету. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 12 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба Очень даже решается. И если система не будет работать с каким-нибудь чудо-пультом от супернавороченной автомагнитолы - это не такая уж проблема. Ну, еще от кондиционеров пульты точно не подойдут... Угу. И если не использовать пульты с импульсными кодами. И если игнорировать пульты со слишком низкими и слишком высокими несущими (бог с ним, с редким Сони протоколом, имеющим несущую порядка 2 МГц, я имею в виду прежде всего достаточно распространенные протоколы с несущей 455 кГц). И если исключить протокол JVC, где в соседних рамках инвертируется часть битовых полей. И если "вручную" заточить под протокол RC-5 и т.п., где составе посылки есть двухбитный счетчик нажатий. И т.д. А не слишком ли много "если", ась? Вот именно поэтому я и сказал, что в общем виде задача скорей всего вообще не решается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба Там смотреть надо, какая максимально длина импульса может быть(и паузы) Чтоб таймера хватило. А 1мкс - это очень мало. Там модуляция идет 38кгц - так что меньше 25мкс - смысла нету. Извините, Клим, но я с вами не согласен, у меня есть монжество протоколв, по моему надо настроить по махимум длини между импулсами, а махимум примерно 9000 мкс, а модуляция сигнала здесь не причем, по моему надо настроить таймер на 10 милисекунд, Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 12 мая, 2008 Опубликовано 12 мая, 2008 (изменено) · Жалоба По поводу удержания кнопок и повторных посылок. Насколькоя я лично это дело делал, то существует специальный код - "Повтор предыдущей посылки". Он одинаков для повтора любой клавиши. http://ru.wikipedia.org/wiki/%D0%9F%D1%83%...%BD%D0%B8%D1%8F Вот тут все написано. И есть ссылки на системы кодирования. Изменено 12 мая, 2008 пользователем DpInRock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба Угу. И если не использовать пульты с импульсными кодами. И если игнорировать пульты со слишком низкими и слишком высокими несущими (бог с ним, с редки Сони протоколом, имеющим несущую порядка 2 МГц, я имею в виду прежде всего достаточно распространенные протоколы с несущей 455 кГц). И если исключить протокол JVC. И если "вручную" заточить под протокол RC-5 и т.п., где составе посылки есть двухбитный счетчик нажатий. И т.д. А не слишком ли много "если", ась? Вот именно поэтому я и сказал, что в общем виде задача скорей всего вообще не решается. мне надо только что-бы работал с пультов от телика, ДВД, видек, это достаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 12 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба а как решают эту проблему в выключателях? О каких выключателях идет речь? Например, я совершенно точно знаю, что выключатели системы управления освещением C-bus, которые управляются от ИК пультов, НЕ обучаемые, протокол в них зашит намертво. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tklim 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба Угу. И если не использовать пульты с импульсными кодами. И если игнорировать пульты со слишком низкими и слишком высокими несущими (бог с ним, с редки Сони протоколом, имеющим несущую порядка 2 МГц, я имею в виду прежде всего достаточно распространенные протоколы с несущей 455 кГц). И если исключить протокол JVC. И если "вручную" заточить под протокол RC-5 и т.п., где составе посылки есть двухбитный счетчик нажатий. И т.д. А не слишком ли много "если", ась? Вот именно поэтому я и сказал, что в общем виде задача скорей всего вообще не решается. Насчет модуляции сильно отличной от 38 - то тут уже приемник просто не пропустит. Я ж про сильно экзотические не говорю. Но лично я пробовал штук 5 различных пультов отличных от RC5 - все работало. Не захотел какой-то от Creative audigy и sony тож какой-то был. А так, это выключатель света в комнате, в которой навернякак пульт не один имеется. И хоть один будет работать. Если все совсем грустно - то в крайнем случае покупается на радиорынке любой RC5. Извините, Клим, но я с вами не согласен, у меня есть монжество протоколв, по моему надо настроить по махимум длини между импулсами, а махимум примерно 9000 мкс, а модуляция сигнала здесь не причем, по моему надо настроить таймер на 10 милисекунд, У вас приемник настроен на 38кгц модуляцию. 36 с небольшими потерями тоже кушает. Все что по частоте ниже - будет очень плохо. Выше - вообще работать не будет. А для 38кгц модуляции минимальная длина импульса 26микросекунд По поводу удержания кнопок и повторных посылок. Насколькоя я лично это дело делал, то существует специальный код - "Повтор предыдущей посылки". Он одинаков для повтора любой клавиши. В разных протоколах - по разному Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adc 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба А в чем вопрос? Поскольку приемник детектирует сигнал (обрезает засветки и помехи) то на выходе у него последовательность импульсов с интервалами в зависимости от протокола. Достаточно принимаемым контроллером определить присутствие импульсов (вообще любых!!!) и это и будет условием переключения, включения, уменьшения/увеличения яркости. Уменьшение/увеличение яркости делаем так: Опрос входа(периодичность хоть 1 сек) на наличие импульсов (любых импульсов) есть значит увеличиваем. Закончились- ждем следущей непрерывной посылки при которой будем уменьшать яркость и т.д. вход в режим регулировки (чтобы случайно не срабатывало при управлении тв) можно установить по присутствию сигнала с условными интервалами пакетов. Может вас этот вариант устроит... Есть только вопрос с пультами которые посылают после отправки команды короткие команды подтверждения.. но думаю можно решить это алгоритмами в контроллере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба По поводу удержания кнопок и повторных посылок. Насколькоя я лично это дело делал, то существует специальный код - "Повтор предыдущей посылки". Он одинаков для повтора любой клавиши. http://ru.wikipedia.org/wiki/%D0%9F%D1%83%...%BD%D0%B8%D1%8F Вот тут все написано. И есть ссылки на системы кодирования. ни у всех протоколов, у RC-5, PANASONIC да, а у NEC a после первой посылки отправляет только стартовый импулс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 12 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба А в чем вопрос? Поскольку приемник детектирует сигнал (обрезает засветки и помехи) то на выходе у него последовательность импульсов с интервалами в зависимости от протокола. Достаточно принимаемым контроллером определить присутствие импульсов (вообще любых!!!) и это и будет условием переключения, включения, уменьшения/увеличения яркости. Уменьшение/увеличение яркости делаем так: Опрос входа(периодичность хоть 1 сек) на наличие импульсов (любых импульсов) есть значит увеличиваем. Закончились- ждем следущей непрерывной посылки при которой будем уменьшать яркость и т.д. вход в режим регулировки (чтобы случайно не срабатывало при управлении тв) можно установить по присутствию сигнала с условными интервалами пакетов. Вот это вполне разумный и осуществимый вариант. Не протоколы изучать и декодировать, а обнаруживать сам факт ИК посылки на частоте, близкой к 38 кГц. ни у всех протоколов, у RC-5, PANASONIC да, а у NEC a после первой посылки отправляет только стартовый импулс. А ведь есть протоколы, которые делают с точностью до наоборот: сначала посылают "стартовый" пакет, а потом повторяют информационные пакеты. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба Насчет модуляции сильно отличной от 38 - то тут уже приемник просто не пропустит. Я ж про сильно экзотические не говорю. Но лично я пробовал штук 5 различных пультов отличных от RC5 - все работало. Не захотел какой-то от Creative audigy и sony тож какой-то был. А так, это выключатель света в комнате, в которой навернякак пульт не один имеется. И хоть один будет работать. Если все совсем грустно - то в крайнем случае покупается на радиорынке любой RC5. У вас приемник настроен на 38кгц модуляцию. 36 с небольшими потерями тоже кушает. Все что по частоте ниже - будет очень плохо. Выше - вообще работать не будет. А для 38кгц модуляции минимальная длина импульса 26микросекунд В разных протоколах - по разному если я буду брать знаяение TCNTx, мне больше не надо по моему прерывание от таймера и здесь модуляция ни причем Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться