Может, проще пульт подружить с WinLIRC? А уже к нему подключаться своей программой.
Этот топик читают: Гость
Ответов: 4631
Рейтинг: 749
|
|||
карма: 26 |
|
Ответов: 704
Рейтинг: 7
|
|||
Netspirit, спасибо, но это уж совсем не для патриота HiAsm )). Я прошел почти полный путь. Вот допридумываю как сравнить сигналы и возрадуюсь.
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Переведи свои 0 и 1 в Hex и сравнивай строки.
|
|||
карма: 25 |
|
Ответов: 704
Рейтинг: 7
|
|||
Tad писал(а): Переведи свои 0 и 1 в Hex и сравнивай строки.О чем Вы? Как можно 1|1.25, 1|1.22 перевести в HEX и потом проверять их на равенство с допуском в 0.14? Вот как мне оно покажет что 1|1.25 и 1|1.22 совпадают при переводе на HEX? Тут и без перевода хватает действий: отнять 1.25 от 1.22 и проверить не превышает ли разница 0.14. |
|||
карма: 0 |
|
Ответов: 8928
Рейтинг: 823
|
|||
Neo, есть разные критерии подобия, один из них в схеме (пять Ваших образцов, из них сделан средний, в одном образце изменена одна пауза с 1,6 на 0,49)
|
|||
карма: 19 |
| ||
файлы: 1 | Пульт.rar [3.6KB] [109] | ||
Голосовали: | Neo |
Ответов: 704
Рейтинг: 7
|
|||
Леонид, я не понял, но жена (физмат) обломала мне кайф: мол нет тут погрешности в 0,14, только 1 воспринимает. Но как сделать чтоб было 0,14 она не знает
------------ Дoбавленo в 23.29: Хотя должен сказать что поражен таким исчерпывающим примером |
|||
карма: 0 |
|
Ответов: 8928
Рейтинг: 823
|
|||
Neo, я тоже не понял, что именно Вам не понятно
Критерий подобия Пирсона (формула в схеме) изменяется от 1 (полная схожесть) через 0 (совсем не похожи) до -1 (полная противоположность). Кстати, стартовые и стоповые сигналы желательно убрать, они не несут информации, но своими размерами увеличивают "схожесть" (стоповый я убрал, а про стартовые упустил ) |
|||
карма: 19 |
|
Ответов: 704
Рейтинг: 7
|
|||
Выношу на общее обозрение сию получившуюся красоту из 3 разных кнопок
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Леонид,
вот так телевизионные писал(а): 1) минимальное количество импульсов в пачке - 15 2) максимальное количество импульсов в пачке - 50 3) минимальное время между пачками - 15*T 4) частота импульсов в пачке должна соответствовать основной частоте TSOP-приёмника "T" - период "основной" частоты TSOP-приёмника. Длинная пачка 1 Короткая 0 1 к 0 3:1 (как в морзянке) |
|||
карма: 25 |
|
Ответов: 8928
Рейтинг: 823
|
|||
Tad писал(а): 1 к 0 3:1 (как в морзянке)Поэтому коллега Neo как начинающий пытается считать точки-тире (ищет погрешность), вместо подбора мелодии к каждой кнопке Neo, Вы лучше вынесите на обозрение не обработанные данные, а то, что Вы получаеете с Вашего датчика, что на входе в компьютер ------------ Дoбавленo в 09.41: (Все кнопки, по десятку нажатий на каждую ) |
|||
карма: 19 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Леонид, прослушать мелодию выдаваемую пультом можно с помощью обыкновенного приемника настроенного на свободный участок CD или ДВ диапазона.
------------ Дoбавленo в 11.54: Насчет Леонид писал(а): Кстати, стартовые и стоповые сигналы желательно убрать,Стоповый разделяет посылки при длительном нажатии кнопки. |
|||
карма: 25 |
|
Ответов: 8928
Рейтинг: 823
|
|||
Tad, конечно! Не вообще убрать, а не использовать в процессе идентификации посылки
|
|||
карма: 19 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Для Леонид. Не согласен. Там число импульсов несущей (в синхроимпульсе) деленное на 2, 4 или 8 (в разных пультах по разному и зависит от используемого протокола обмена) дает или длину паузы или ноля или единицы. Убей не могу вспомнить (старость не радость) - давно это было. В 99-м.
Разбег во время нажатия появляется при дохнущих батареях питания пульта. Между двумя однотипными пультами разница всегда есть тоже (хотя кварцы с допусками в +- 5%) , но если отталкиваться от синхроимпульса, то разница автокомпенсируется. Больше чем уверен, что разница в данных Neo - погрешность его схемы измерения. Некоторые пульты посылают один синхроимпульс, другие - несколько синхроимпульсов (2, 3) подряд. ------------ Дoбавленo в 14.19: Да, и там, помоему, 7-и битное кодирование. ------------ Дoбавленo в 14.33: Для Neo. Tad писал(а): Переведи свои 0 и 1 в Hex и сравнивай строки. Neo писал(а): О чем Вы? Как можно 1|1.25, 1|1.22 перевести в HEX и потом проверять их на равенство с допуском в 0.14? К вопросу Neo "Как" pri.sha ------------ Дoбавленo в 14.35: И в теги code занеси то, что "Выношу на общее обозрение ". Перекосил страницу. ------------ Дoбавленo в 15.04: P.S. если нужен только код кнопки, то достаточно взять только 16-ть последних нулей и единиц (достаточно для номеров 128-и кнопок от 0 до 127), отбросив последнюю 1, которую дописывает "конец пакета". Если нужно что бы приемник ещё и различал пульты - используй строку полностью. ------------ Дoбавленo в 15.14: А если хорошо подумать, то и длину пачек определять не надо. ------------ Дoбавленo в 16.50: А вот модернизированная схема Леонида без привлечения ФизМата и критерия подобия Пирсона pri2.rar Изменены данные в 1, 3, 6 (по одному в разных местах) Эталон в Edit. ------------ Дoбавленo в 17.30: Блин, никак не закончу. Neo, если на пульте до 150-ти кнопок , то применение БД лишнее. Достаточно StrList и точки doGetIndex. |
|||
карма: 25 |
| ||
файлы: 2 | pri.sha [1.4KB] [104], pri2.rar [1.2KB] [71] |
Ответов: 8928
Рейтинг: 823
|
|||
Леонид писал(а): модернизированная схема Леонида без привлечения ФизМата и критерия подобия Пирсона |
|||
карма: 19 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Леонид, я Мат и Пирсона тоже уважаю.
Но, если есть возможность обойтись без них и меньшей кровью, почему бы и нет ? |
|||
карма: 25 |
|