VAHOO 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Всем привет! уже более 3 недели мучаюсь не могу написать код, делаю выключатель который регулирует яркость и надо что-бы работал с любым пультом, тоесть надо стачало записать сигнали от пульта в EEPROM а потом сравнить, делаю проект на mega88 в CVAVR на языке СИ, протоколы пультов очень много, если я все протоколы сунул в AVR то место не будет хватать, у меня алгоритм был такой но корекно не работает, я записал временные интервалы между импулсами, но временные интервалы от растояния пульта всегда меняются. буду рад любой информации спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба У вас осциллограф есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба У вас осциллограф есть? да, конечно есть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tklim 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба у меня алгоритм был такой но корекно не работает, я записал временные интервалы между импулсами, но временные интервалы от растояния пульта всегда меняются. Что значит меняется ? Какой пульт, самое главное, какой приемник ? И чем записываете ? Не должно быть настолько больших отклонений в зависимости от расстояния. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yarunt 0 11 мая, 2008 Опубликовано 11 мая, 2008 (изменено) · Жалоба Всем привет! уже более 3 недели мучаюсь не могу написать код, делаю выключатель который регулирует яркость и надо что-бы работал с любым пультом, тоесть надо стачало записать сигнали от пульта в EEPROM а потом сравнить, делаю проект на mega88 в CVAVR на языке СИ, протоколы пультов очень много, если я все протоколы сунул в AVR то место не будет хватать, у меня алгоритм был такой но корекно не работает, я записал временные интервалы между импулсами, но временные интервалы от растояния пульта всегда меняются. буду рад любой информации спасибо! В китайских выключателях света ,принцип простой.Специально загрубляется чувствительность фотоприемника импульсы с него выпрямляются в логическую 1 и идут на тригер. Все просто,пульт направляется на выключатель ,фпремник ловит и управляет тригером ,а он тиристором . В китайских выключателях света ,принцип простой.Специально загрубляется чувствительность фотоприемника импульсы с него выпрямляются в логическую 1 и идут на тригер. Все просто,пульт направляется на выключатель ,фпремник ловит и управляет тригером ,а он тиристором . Вобщем надо в место тригера всунуть АВР ,который нубудет заморачиватся на код с пульта а будет заниматся регулировкой яркости. Все равно управлять чем-то одним телевизором или выключателем Изменено 11 мая, 2008 пользователем yarunt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Поменяйте батарейки в пульте. Или поменяйте пульт. А если есть осциллограф, то почему не говорите о том, что вы на нем видите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба фотоприемник TSOP4838, подключил к вывду МК INT0, вот кусок кода Поменяйте батарейки в пульте. Или поменяйте пульт. А если есть осциллограф, то почему не говорите о том, что вы на нем видите. я настроил UART, и в терминале видно tu.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tklim 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба фотоприемник TSOP4838, подключил к вывду МК INT0, вот кусок кода я настроил UART, и в терминале видно Рекомендовал смореть либо на осциллографе либо подключить к компу. А потом уже подключать к контроллеру. Про батарейки - правильно написано если слабый уровень сигнала - то не все имульсы доходят - и могут быть глюки. Также важно напряжение питания приемника - на них хоть и пишут 4,5-5,5 - но в действительности даже при 4,5 уже работает гораздо хуже чем при 5. Также экранирование не помешает и фильрация питания - приемник сильно шумат, если к нему, к примеру, палец поднести. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Взял другой пульт не помогло :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Никогда не использовал принт внутри прерывания. Неизвестно, какое время он отнимает. И вообще. В прерываниях нужно выполнять только необходимую работу. А смотреть наполнение массива следует в фоне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAHOO 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Никогда не использовал принт внутри прерывания. Неизвестно, какое время он отнимает. И вообще. В прерываниях нужно выполнять только необходимую работу. А смотреть наполнение массива следует в фоне. скажите пожалуйста, какой нибудь алгоритм что-бы я использовал. спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tklim 0 11 мая, 2008 Опубликовано 11 мая, 2008 (изменено) · Жалоба скажите пожалуйста, какой нибудь алгоритм что-бы я использовал. спасибо! Алгоритм - мерять длину импульса и длину паузы. Только для начала сообразить и отладить это все на компе. А в исходнике у вас черти что творится. И меряется только длина самого имульса - что есть неправильно. Еще, принт в цикле - как отметили выше - тоже неправильно. Могу предложить такой метод: 1.вешаем приемник на int0 или int1 - прерывание при смене уровня. 2. При лог 0 запускаем таймер 3. при следующем прерывании пишем в массив текущее значение таймера и сбрасываем таймер. 4. выключение таймера и просмотр результата - при переполнении таймера либо при переполнении массива. 5. только после этого вывод результата Изменено 11 мая, 2008 пользователем Клим Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VDG 0 11 мая, 2008 Опубликовано 11 мая, 2008 (изменено) · Жалоба если я все протоколы сунул в AVR то место не будет хватать, .. буду рад любой информации все протоколы не "всунете", их ~ 10000 :) граббить нужно только одну посылку. а то мож у вас там сграблено обованными кусками. во вторых, один бит при удержании кнопки всегда меняется от пакета к пакету. Изменено 11 мая, 2008 пользователем VDG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 18 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба В китайских выключателях света ,принцип простой.Специально загрубляется чувствительность фотоприемника импульсы с него выпрямляются в логическую 1 и идут на тригер. Все просто,пульт направляется на выключатель ,фпремник ловит и управляет тригером ,а он тиристором . Вобщем надо в место тригера всунуть АВР ,который нубудет заморачиватся на код с пульта а будет заниматся регулировкой яркости. Все равно управлять чем-то одним телевизором или выключателем Ничего не понял. Вернее, то, что удалось выудить из вашего сообщения, выглядит... как бы помягче сказать?.. э-э-э... полной ерундой. делаю выключатель который регулирует яркость и надо что-бы работал с любым пультом, тоесть надо стачало записать сигнали от пульта в EEPROM а потом сравнить То есть, вы пытаетесь сделать "обучаемый" приемник, способный настраиваться на любой ИК пульт? Бросьте эту затею, это совершенно точно задача не для начинающих. В общем виде она скорей всего вообще не решается. Вряд ли вы представляете себе, насколько разнообразны ИК протоколы в пультах, поэтому поставили себе задачу, с которой не справитесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Дени© 0 12 мая, 2008 Опубликовано 12 мая, 2008 · Жалоба Дело в том, что в некоторых протоколах, когда подаете первую посылку, она имеет одни временные интервалы, когда идут следующие (с этой же нажатой клавиши) временные интервалы уже другие. Обычно они инверсные и поэтому если просто тупо записать временные интервалы, то с некоторыми протоколами ничего работать не будет. Во вторых все протоколы не "всунете", их ~ 10000 Точно сказать не могу столько их или нет в мире, но могу сказать точно, что на практике, в бытовой аппаратуре чаще всего используется RC-5, и его модификации, да и к тому же количество фирм производящей аппаратуру не так уж и много, поэтому я считаю что все же лучше запихнуть несколько наиболее распространенных модификаций RC5 в AVR и уже не заморачиваться с такой сверхуниверсальностью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться