ATmega 8 и пульт RC-6
Пульты и протоколы
Возможно наши инженеры делали надписи на пультах от фонаря!
- Вложения
-
- rc5_rc6.jpg
- С этими пультами работает!!!
- (75.01 КБ) 778 скачиваний
С новой прошивкой вобще никак не реагирует.Если к выходу ИК приёмника и плюсу питания светодиод через 1,5к прикошачить,то нормально моргает от пульта на нормальном расстоянии,а состояние порта В неменяеться
Привожу свой пульт...
Привожу свой пульт...
- Вложения
-
- (711).jpg
- типо RC-5
- (28.9 КБ) 890 скачиваний
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
- belyay
- Потрогал лапой паяльник
- Сообщения: 327
- Зарегистрирован: Пн авг 25, 2008 10:24:51
- Откуда: Россия, Магадан
Добрый день, просьба к автору можите ли вы изминить прошивку для тини2313 что бы:
1. при включении была "1" на PB0 (не зависимо как было до выключении питани)
2.управление РВ0-РВ5 кнопками 1-6
3. кнопка "0" выключает все.
4. кнопка "8" включала все кроме РВ5 (6 нагрузка)
За ранее благодарен. буду ждать.
1. при включении была "1" на PB0 (не зависимо как было до выключении питани)
2.управление РВ0-РВ5 кнопками 1-6
3. кнопка "0" выключает все.
4. кнопка "8" включала все кроме РВ5 (6 нагрузка)
За ранее благодарен. буду ждать.
Брутально вы привязку только к одному пульту делаете =((.
Я не стал заморачиваться с протоколами пультов, а написал программу анализации этих протоколов.
Зная временные данные 0 и 1.
Мы тупо записываем прототипы(массив t 0 и 1) клавиш во флешь память и сравниваем полученное.
Время исполнения данного алгоритма конечно больше(но не критично), но методом универсален для любых пультов.
Если кого заинтересовало могу скинуть наработки.
Я не стал заморачиваться с протоколами пультов, а написал программу анализации этих протоколов.
Зная временные данные 0 и 1.
Мы тупо записываем прототипы(массив t 0 и 1) клавиш во флешь память и сравниваем полученное.
Время исполнения данного алгоритма конечно больше(но не критично), но методом универсален для любых пультов.
Если кого заинтересовало могу скинуть наработки.
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
всё зависит от того как их туда закладывать =) можно тупо в двоичной а можно и в шестнадцатеричной. на 50 кнопок точно должно хватить =).
вот пример
от пульта Panasonic тупо в двочной системе 1110 0010 0100 0100 и
шестнадцатеричной E244.
Тут главное проанализировать выходной сигнал а дальше уже всё само припишется =).
вот пример
от пульта Panasonic тупо в двочной системе 1110 0010 0100 0100 и
шестнадцатеричной E244.
Тут главное проанализировать выходной сигнал а дальше уже всё само припишется =).
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
xVekx писал(а):тупо в двочной системе 1110 0010 0100 0100 и
шестнадцатеричной E244
Я что-то не пойму как это у вас так ловко получилось. По идее если мы хотим запомнить команду от заранее неизвестного пульта, мы должны записать массив длительностей "1" и "0". При числе импульсов в одной посылке N это будет минимум N байт. Причём на одну кнопку.
Или если вы принимаете код по заранее известному протоколу, тогда да – можно обойтись парой байт на кнопку, только это решение тоже будет работать с одним-единственным протоколом.
Даже остановленные часы два раза в сутки показывают правильное время.
-
Foks
- Поставщик валерьянки для Кота
- Сообщения: 2108
- Зарегистрирован: Пт авг 29, 2008 16:28:19
- Откуда: Киев
Для стабильности правильнее написать прием нескольких протоколов, и иметь таблицу кодов кнопок с отдельным столбцом для каждого протокола. И прием команды должен не "подстраиваться под передатчик", а "подстраивать передатчик под себя", т.е. жестко проверять длительности всех импульсов. По крайней мере так делаю я
Такой подход ничем не уступает решению с массивом длительностей (это решение больше подходит для программ под ПК, и даже используется в LIRC-подобных).
так это же мы делаем на уровне анализации сигнала =)
пример:
кнопка на пульте +
|65|64|64|64|63|64|64|64|63|64|64|64|64|64|64|63|63|0
|189|189|189|76|77|77|189|77|77|189|77|76|77|189|76|77|250|0
верхняя строка это: высокий уровень сигнала с пульта(низкий уровень на приёмнике) как видно пульт экономит энергию =)))
нижняя строка это как раз и есть сам сигнал:
низкий уровень сигнала с пульта(высокий уровень на приёмнике)
при этом мы определимся длинный импульс будет единицей,
короткий нулём.
Видим, что верхняя строка не несёт никакой нагрузки и этим можно пренебречь.
а вот нижняя и есть наш искомый сигнал =).
т е
1110 0010 0100 0100 выход
длительность 250 - это сигнал выход для программы анализации и показывает что сигнал порченый или норма всё зависит от размера =))
Все данные есть, значит нам не особого труда будет создать алгоритм приёма этого сигнала на устройстве.
Всё просто!!!
"а "подстраивать передатчик под себя" " - мы же буржуйские пульты юзаем и буржуйский приемник, дальнось сигнала вносит в себя и приделы вон 189 это 1, угу, но на 4 метров его будет нести +/- 20 t так что на приёмнике у нас будет диапозон от 170..210
хы а на другом пульте другой фирмы импульс будет отличатся =).
пример:
кнопка на пульте +
|65|64|64|64|63|64|64|64|63|64|64|64|64|64|64|63|63|0
|189|189|189|76|77|77|189|77|77|189|77|76|77|189|76|77|250|0
верхняя строка это: высокий уровень сигнала с пульта(низкий уровень на приёмнике) как видно пульт экономит энергию =)))
нижняя строка это как раз и есть сам сигнал:
низкий уровень сигнала с пульта(высокий уровень на приёмнике)
при этом мы определимся длинный импульс будет единицей,
короткий нулём.
Видим, что верхняя строка не несёт никакой нагрузки и этим можно пренебречь.
а вот нижняя и есть наш искомый сигнал =).
т е
1110 0010 0100 0100 выход
длительность 250 - это сигнал выход для программы анализации и показывает что сигнал порченый или норма всё зависит от размера =))
Все данные есть, значит нам не особого труда будет создать алгоритм приёма этого сигнала на устройстве.
Всё просто!!!
"а "подстраивать передатчик под себя" " - мы же буржуйские пульты юзаем и буржуйский приемник, дальнось сигнала вносит в себя и приделы вон 189 это 1, угу, но на 4 метров его будет нести +/- 20 t так что на приёмнике у нас будет диапозон от 170..210
хы а на другом пульте другой фирмы импульс будет отличатся =).
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
xVekx писал(а):так это же мы делаем на уровне анализации сигнала =)
пример:
кнопка на пульте +
189|189|189|76|77|77
Так это у вас программа в самом контроллере принимает решение, что например 189 это единица, а 77 - ноль? А если например сигнал кодируется высоким уровнем или вообще манчестером?
Даже остановленные часы два раза в сутки показывают правильное время.
конечно нет получение даные я записываю в блокнот(на компе =))) и последствам шаманства раскладывания пасьянса я принимаю длиный сигнал за 1 короткий за 0, а можно и наоборот и притом там могут быть и стартовые импульсы и много всякой дребедени =)).
А идейка верная надо програмку доработать, чтоб она сразу массив 0 и 1 выдавала =)).
Я что то запутался вы про анализацию сигнала или про готовое устройство.
А идейка верная надо програмку доработать, чтоб она сразу массив 0 и 1 выдавала =)).
Я что то запутался вы про анализацию сигнала или про готовое устройство.
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
Я про устройство. Чтобы сделать его действительно универсальным, анализ и воспроизведение протокола оно должно делать самостоятельно. Хотя ИМХО проще это всё же сделать по принципу обучаемого пульта – простая запись сигнала (без несущей) в память с воспроизведением. Но для этого надо много памяти (если нужно несколько кнопок).
А с помощью компа протокол без проблем можно снять WinLIRC'ом или даже вообще со звуковухи, это не очень интересно.
А с помощью компа протокол без проблем можно снять WinLIRC'ом или даже вообще со звуковухи, это не очень интересно.
Даже остановленные часы два раза в сутки показывают правильное время.
ммм т е сделать универсальный пульт приема и передачи ? нет я такую идею не развивал, мои задачи проще создать методику быстрой реализации приемного устройства с различных пультов.
Нету смысла создавать устройство использующее более 1 пульта.
Если вдруг пульт устареет или пропадёт можно за минимальное время переписать программу =)
"А с помощью компа протокол без проблем можно снять WinLIRC'ом или даже вообще со звукавухи, это не очень интересно."
у звукавухи один косяк там интегрированный сигнал идёт =((.
WinLIRC ммм я про это не знал =))) я пошел по своему пути =)).
Нету смысла создавать устройство использующее более 1 пульта.
Если вдруг пульт устареет или пропадёт можно за минимальное время переписать программу =)
"А с помощью компа протокол без проблем можно снять WinLIRC'ом или даже вообще со звукавухи, это не очень интересно."
у звукавухи один косяк там интегрированный сигнал идёт =((.
WinLIRC ммм я про это не знал =))) я пошел по своему пути =)).
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
xVekx писал(а):Нету смысла создавать устройство использующее более 1 пульта.
Дело не в этом. Если уж речь об универсальности, то устройство должно уметь "приучиться" к любому пульту, без беготни к компу и программатору.
xVekx писал(а):Если вдруг пульт устареет или пропадёт можно за минимальное время переписать программу =)
Вот именно, а универсальному устройству будет достаточно всего лишь считать коды новых кнопок
xVekx писал(а):у звукавухи один косяк там интегрированный сигнал идёт =((.
В смысле – интегрированный? Без несущей хх кГц что ли? Так она и не нужна, её потом МК сам сгенерирует при передаче.
Я просто тоже данной тематикой (обучаемые пульты и т.п.) занимался, правда довести до законченного изделия пока времени не хватило.
Даже остановленные часы два раза в сутки показывают правильное время.
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
Секретный кот писал(а):Главная прелесть RC-5/RC-6 в том, что под него уйма готовых библиотек.
Главная прелесть это не дорогой пульт и его наличие в магазе если делать серийные модели устройств =).
а в универсальном пульте финансовый недостаток пульт потерялся или сломался куда бежит человек? к тому кто это создал приэтом пульт моно продавать по завышенной цене =)).
Барыги =)).
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
xVekx писал(а):Главная прелесть это не дорогой пульт и его наличие в магазе
В этом плане как раз RC-5 вне конкуренции. Т.к. это всё-тки стандарт, в отличие от мелких протоколов, которые каждая фирмочка лепит под себя сама.
xVekx писал(а):а в универсальном пульте финансовый недостаток пульт потерялся или сломался куда бежит человек? к тому кто это создал приэтом пульт моно продавать по завышенной цене =))
Я теперь не понимаю, что такое "универсальный пульт". Универсальным может быть устройство, которое работает с пультами (в этой теме вроде про него как раз речь
А если нужно вместе с девайсом побарыжить и пультами, то берётся тот же заводской RC5 пульт, вскрывается с целью установки нестандартного адреса команд, и продаётся по двойной цене в комплекте с самим девайсом
Даже остановленные часы два раза в сутки показывают правильное время.