Леха писал(а):Это всё фигня, как крепить и размещать. Спасибо за идею с частотами
![Smile :)](./images/smilies/icon_e_smile.gif)
.
Я подозревал, что кому-нибудь понравится
Немного расширим идею, а именно введём скважность. Лучим пикчу.
![диаграмма](./download/file.php?style=5&id=5515&sid=1699cce26384102f86610c8ee909de98)
- диаграмма
- time_diagramm.gif (5.49 КБ) 1177 просмотров
Взяв за основу три кратные частоты, получаем 1+3+7=11 различных команд. Я им ради примера задал значения, для задания режима движения в принципе достаточно. Почему частоты, а не код? Очень просто - нет нужды в стартовой последовательности, в контрольной сумме, для надёжного распознавания команды достаточно трёхкратного повторения, что для частоты 1 кГц составляет 3 мс, для 500 Гц - 6 мс, для 250 Гц - 12 мс. За 12 периодов очень проблематично передать последовательным кодом даже 8 команд - нужна стартовая последовательность, потом сам код, потом контроль кода...
Но если хочется вкл свету, издавать хрюки, ехать взад, ещё какие-нить эффекты, то придётся ввести четвёртую частоту 125 Гц, для неё будет 15 вариантов скважности. И вот тут-то уже становится выгоднее использовать последовательный код - за 24 периода можно сформировать надёжно распознаваемый сигнал с бОльшим числом команд.
По сути идея выливается в следующую схему: во все критичные места втыкиваются оптопары, через которые компьютер узнаёт, кто именно сюда подъехал, и передаёт ему одну или даже несколько команд. Остаётся немного - посадить все контроллеры оптопар на одну высокоскоростную шину данных, спаять и запрограммировать интерфейс, ну и наконец написать управляющую программу
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Так что чем крупнее макет, тем сложнее будет всё увязать в красивый узор. Кстати, как тут уже комментировали, можно даже и не узнавать, кто именно подъехал, достаточно получить отражённый от днища сигнал и зафиксировать факт прохождения поезда - это намного упростит протокол обмена данными.
Прошу рассматривать данный опус лишь как направление мысли, но не как готовое решение
Добавлено. Пришла мысль, что не обязательно использовать только кратные частоты, можно и любые промежуточные, лишь бы длительность импульсов и пауз была кратна минимальной длине импульса, в примере это 0,5 мс. Тогда на частоте 666,6 Гц будет два варианта скважности - 1:2 и 2:1, 400 Гц добавит ещё 4 команды, 333,3 Гц - 5 команд, 285,7 Гц - 6 команд. Итого за 12 мс можно будет гарантированно распознать одну из 28 команд. По-моему более чем хватит
![time_diagramm_2.gif](./download/file.php?style=5&id=5531&sid=1699cce26384102f86610c8ee909de98)
- time_diagramm_2.gif (6.57 КБ) 1167 просмотров