|
алгоритм для записи пульта в AVR, помогите пожалуйста :( |
|
|
|
May 11 2008, 19:04
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Всем привет! уже более 3 недели мучаюсь не могу написать код, делаю выключатель который регулирует яркость и надо что-бы работал с любым пультом, тоесть надо стачало записать сигнали от пульта в EEPROM а потом сравнить, делаю проект на mega88 в CVAVR на языке СИ, протоколы пультов очень много, если я все протоколы сунул в AVR то место не будет хватать, у меня алгоритм был такой но корекно не работает, я записал временные интервалы между импулсами, но временные интервалы от растояния пульта всегда меняются.
буду рад любой информации
спасибо!
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
 |
Ответов
|
May 12 2008, 09:53
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(adc @ May 12 2008, 13:30)  А в чем вопрос? Поскольку приемник детектирует сигнал (обрезает засветки и помехи) то на выходе у него последовательность импульсов с интервалами в зависимости от протокола. Достаточно принимаемым контроллером определить присутствие импульсов (вообще любых!!!) и это и будет условием переключения, включения, уменьшения/увеличения яркости. Уменьшение/увеличение яркости делаем так: Опрос входа(периодичность хоть 1 сек) на наличие импульсов (любых импульсов) есть значит увеличиваем. Закончились- ждем следущей непрерывной посылки при которой будем уменьшать яркость и т.д. вход в режим регулировки (чтобы случайно не срабатывало при управлении тв) можно установить по присутствию сигнала с условными интервалами пакетов. Может вас этот вариант устроит... Есть только вопрос с пультами которые посылают после отправки команды короткие команды подтверждения.. но думаю можно решить это алгоритмами в контроллере. нет это не устроивает  , по моему оптимальный вариант, это сначало записать в EEPROM а потом сравнить
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
May 12 2008, 09:58
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(VAHOO @ May 12 2008, 12:53)  по моему оптимальный вариант, это сначало записать в EEPROM а потом сравнить Только ж как будете "сначало записать в EEPROM", сначала примите команду в RAM послностью, а потом уже писать в епром - там задержки большие.
|
|
|
|
|
May 12 2008, 10:04
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(Клим @ May 12 2008, 13:58)  Только ж как будете "сначало записать в EEPROM", сначала примите команду в RAM послностью, а потом уже писать в епром - там задержки большие. я так и делаю, только непонимаю почему от расстоянии, пульт от фотоприемника, паузы между импулсами меняются??? пробал разные пульты.
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
May 12 2008, 10:13
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(VAHOO @ May 12 2008, 13:04)  я так и делаю, только непонимаю почему от расстоянии, пульт от фотоприемника, паузы между импулсами меняются??? пробал разные пульты. Насколько сильно меняются ? Осциллограмму в студию
|
|
|
|
|
May 12 2008, 11:16
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(Клим @ May 12 2008, 14:13)  Насколько сильно меняются ? Осциллограмму в студию  сейчас TSOP подключю к саунд карту и в саунд фордже посмотрю и скажу, по моему идеальный осциллограф  Цитата(VAHOO @ May 12 2008, 14:39)  сейчас TSOP подключю к саунд карту и в саунд фордже посмотрю и скажу, по моему идеальный осциллограф  с расстоянии 5 см между импулсами 1111 мкс, а 1м 1156мкс
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
May 12 2008, 11:28
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(VAHOO @ May 12 2008, 14:16)  сейчас TSOP подключю к саунд карту и в саунд фордже посмотрю и скажу, по моему идеальный осциллограф  с расстоянии 5 см между импулсами 1111 мкс, а 1м 1156мкс  Вообще мерять при 5см - это не правильно. Можно сравнивать метр и 3 метра. Погрешность в 4% как у вас это вполне приемлимо. Только вот я не понял, что значит у вас "расстояние между импульсами" ? И какой пульт ? РЦ5?
|
|
|
|
|
May 12 2008, 11:41
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(Клим @ May 12 2008, 15:28)  Вообще мерять при 5см - это не правильно. Можно сравнивать метр и 3 метра. Погрешность в 4% как у вас это вполне приемлимо. Только вот я не понял, что значит у вас "расстояние между импульсами" ? И какой пульт ? РЦ5? пульт протокол NEC, а расстояние между пульта и фотоприемника, паузы между импулсами 1111 мкс (на 5см) и 1156 мкс (на 1м) Цитата(DpInRock @ May 12 2008, 15:16)  Вы читали или не читали мою ссылку? В пустую, что-ли? Ничего там не меняется. Сто раз делал такие приемники.
Алгоритм простой. Измеряете длительность посылок 0 и 1. Сохраняете эти числа в РАМ. Все. Дальше их можно превратить в код (см. документацию про RC5). А можно и не превращать. Тогда сравнивать одну посылку с другой следует с неким допуском погрешности для измеренных числе.
Задача очень простая. да читал вашу ссылку, " Измеряете длительность посылок 0 и 1." как? вот в чем вапрос, у разных пультов разные определение в 0 и 1
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
May 12 2008, 11:49
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(VAHOO @ May 12 2008, 14:41)  пульт протокол NEC, а расстояние между пульта и фотоприемника, паузы между импулсами 1111 мкс (на 5см) и 1156 мкс (на 1м) Зато длина импульса уменьшится  Это вполне нормальные цифры. Цитата " Измеряете длительность посылок 0 и 1." как? вот в чем вапрос, у разных пультов разные определение в 0 и 1 Если вы имеете в виду логический протокол - то забудьте про него. Тут есть выход с приемника у которого - 0 когда идут ИК импульсы с частотой 38кгц и лог.1 - когда не идут. Вот время между сменами состояние и надо мерять. Причем не настолько точно.
|
|
|
|
Сообщений в этой теме
VAHOO алгоритм для записи пульта в AVR May 11 2008, 19:04 DpInRock У вас осциллограф есть? May 11 2008, 19:25 VAHOO Цитата(DpInRock @ May 11 2008, 23:25) У в... May 11 2008, 19:28 Клим Цитата(VAHOO @ May 11 2008, 22:04) у меня... May 11 2008, 19:30 yarunt Цитата(VAHOO @ May 11 2008, 22:04) Всем п... May 11 2008, 19:44 =AK= Цитата(yarunt @ May 12 2008, 05:14) В кит... May 11 2008, 22:52  Клим Цитата(=AK= @ May 12 2008, 01:52) То есть... May 12 2008, 04:19   =AK= Цитата(Клим @ May 12 2008, 13:49) Очень д... May 12 2008, 09:18    VAHOO Цитата(=AK= @ May 12 2008, 13:18) Угу. И ... May 12 2008, 09:23 DpInRock Поменяйте батарейки в пульте. Или поменяйте пульт.... May 11 2008, 19:46 VAHOO фотоприемник TSOP4838, подключил к вывду МК INT0,
... May 11 2008, 19:51 Клим Цитата(VAHOO @ May 11 2008, 22:51) фотопр... May 11 2008, 20:00 VAHOO Взял другой пульт не помогло May 11 2008, 20:08 DpInRock Никогда не использовал принт внутри прерывания.
Не... May 11 2008, 20:10 VAHOO Цитата(DpInRock @ May 12 2008, 00:10) Ник... May 11 2008, 20:20  Клим Цитата(VAHOO @ May 11 2008, 23:20) скажит... May 11 2008, 20:51 VDG Цитата(VAHOO @ May 11 2008, 23:04) если я... May 11 2008, 21:57 Ден Дело в том, что в некоторых протоколах, когда пода... May 12 2008, 02:47 VAHOO а как решают эту проблему в выключателях?
по моему... May 12 2008, 08:32 Клим Цитата(VAHOO @ May 12 2008, 11:32) 1. как... May 12 2008, 08:39  VAHOO Цитата(Клим @ May 12 2008, 12:39) 1. Како... May 12 2008, 09:03   Клим Цитата(VAHOO @ May 12 2008, 12:03) регули... May 12 2008, 09:08    VAHOO Цитата(Клим @ May 12 2008, 13:08) Там смо... May 12 2008, 09:18 =AK= Цитата(VAHOO @ May 12 2008, 18:02) а как ... May 12 2008, 09:27 DpInRock По поводу удержания кнопок и повторных посылок.
На... May 12 2008, 09:18 VAHOO Цитата(DpInRock @ May 12 2008, 13:18) По ... May 12 2008, 09:33 Клим Цитата(=AK= @ May 12 2008, 12:18) Угу. И ... May 12 2008, 09:28 VAHOO Цитата(Клим @ May 12 2008, 13:28) Насчет ... May 12 2008, 09:44  Клим Цитата(VAHOO @ May 12 2008, 12:44) если я... May 12 2008, 09:51 =AK= Цитата(adc @ May 12 2008, 19:00) А в чем ... May 12 2008, 09:36 DpInRock Вы читали или не читали мою ссылку? В пустую, что-... May 12 2008, 11:16 DpInRock У вашего ПРИЕМНИКА определение 0 и 1 соответсвующе... May 12 2008, 14:32 VAHOO Цитата(DpInRock @ May 12 2008, 18:32) У в... May 12 2008, 17:19  Клим Цитата(VAHOO @ May 12 2008, 20:19) тoгда ... May 12 2008, 17:36 domowoj А зачем писать массив?
Можно же сразу анализироват... May 12 2008, 14:47 DpInRock ЦитатаМожно же сразу анализировать 1 или 0 и писат... May 12 2008, 15:20 DpInRock НЕТТТ!!!
Еще раз.
1. Засекаете переход... May 12 2008, 18:37 Клим Цитата(DpInRock @ May 12 2008, 21:37) НЕТ... May 12 2008, 18:38 DpInRock Отличается степенью доходчивости до клиента. Ибо е... May 13 2008, 05:13 Клим Цитата(DpInRock @ May 13 2008, 08:13) Отл... May 13 2008, 06:52  DpInRock Цитата(Клим @ May 13 2008, 10:52) Смотря ... May 13 2008, 11:41   Клим Цитата(DpInRock @ May 13 2008, 14:41) БИТ... May 13 2008, 12:35 VAHOO Цитата(DpInRock @ May 13 2008, 09:13) Отл... May 13 2008, 10:27 DpInRock Не путайте человека. Окончание интервала со стабил... May 13 2008, 13:08 Клим Цитата(DpInRock @ May 13 2008, 16:08) Объ... May 13 2008, 13:48 VAHOO Цитата(DpInRock @ May 13 2008, 17:08) Не ... May 13 2008, 19:52  zltigo Цитата(VAHOO @ May 13 2008, 21:52) вот я ... May 13 2008, 19:56   VAHOO Цитата(zltigo @ May 13 2008, 23:56) Moder... May 13 2008, 20:01 DpInRock http://ww1.microchip.com/downloads/en/AppNotes/010... May 14 2008, 13:06 VAHOO [quote name='DpInRock' post='411047' date='May 14 ... May 14 2008, 13:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|