31.01.2016, 20:50
|
|
Временная регистрация
Регистрация: 31.01.2016
Сообщений: 84
Сказал спасибо: 32
Сказали Спасибо 25 раз(а) в 16 сообщении(ях)
|
Непоследовательный двоичный код
Заранее извиняюсь, если не в тот раздел...
Имеем переключатель на 9 положений, реализованный планшайбой с 5 кнопками.
Логика работы (положение - состояние кнопок):
1 - 00001
2 - 00011
3 - 00010
4 - 00110
5 - 00100
6 - 01100
7 - 01000
8 - 11000
9 - 10000
Как видим - двоичная последовательность не соблюдается.
Если в х10, то получим: 1-3-2-6-4-12-8-24-16
Посоветуйте, как получить нормальную последовательность ?
Планшайбу переключателя переделывать нельзя...
|
|
|
|
31.01.2016, 21:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.05.2010
Сообщений: 1,118
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
|
Re: Непоследовательный двоичный код
...в массив все неправильные последовательности, поиск по массиву с выборкой индекса в массиве. Индекс будет правильным результатом. По сути - Array.IndexOf(). Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.
Или надо схемотехнически?
|
|
|
|
31.01.2016, 21:33
|
|
Временная регистрация
Регистрация: 31.01.2016
Сообщений: 84
Сказал спасибо: 32
Сказали Спасибо 25 раз(а) в 16 сообщении(ях)
|
Re: Непоследовательный двоичный код
Сообщение от raxp
|
...в массив все неправильные последовательности, поиск по массиву с выборкой индекса в массиве. Индекс будет правильным результатом. По сути - Array.IndexOf(). Выполняет поиск указанного объекта внутри всего одномерного массива и возвращает индекс его первого вхождения.
|
В том то и бяка, что надо отследить перемещение переключателя.
Поиском по массиву с последующим сравнением ?
Долго и коряво...
Схемотехническое решение было бы предпочтительнее.
|
|
|
|
31.01.2016, 21:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,311
Сказал спасибо: 2,132
Сказали Спасибо 1,732 раз(а) в 984 сообщении(ях)
|
Re: Непоследовательный двоичный код
Есть такое устройство в семействе жёсткой логики - дешифратор.
Грубо говоря - с каждого разряда берём прямой сигнал - 5 штук. Ещё сигналы инвертируем - ещё пять штук.
Итого: шина - 10 сигналов.
Далее нам нужны 5-ти входовые элементы. И, ИЛИ, И-НЕ, ИЛИ-НЕ. Можно 5 диодов - диодное "ИЛИ".
Таких элементов нам надо 9 штук.
Допустим у нас элемент И. Тогда для первого надо взять 4 инвертированных и 1 неинвертированный сигнал.
У схемы будет 9 выходов - на каком по счёту выходе будет "1" - такой и входящий код.
Это не самая экономичная реализация в плане ресурсов, но самая простая для перехода на другие кодировки.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
|
|
|
|
31.01.2016, 21:39
|
|
Вид на жительство
Регистрация: 26.10.2009
Сообщений: 379
Сказал спасибо: 47
Сказали Спасибо 146 раз(а) в 93 сообщении(ях)
|
Re: Непоследовательный двоичный код
К155ре3 вам в помощь
__________________
..истина где то рядом..
|
|
|
|
31.01.2016, 21:42
|
|
Временная регистрация
Регистрация: 31.01.2016
Сообщений: 84
Сказал спасибо: 32
Сказали Спасибо 25 раз(а) в 16 сообщении(ях)
|
Re: Непоследовательный двоичный код
Сообщение от mtit
|
Есть такое устройство в семействе жёсткой логики - дешифратор.
|
Думал уже в эту сторону... Шифровать-дешифровать...
Придется обрастать корпусами, что не есть гуд...
В данный момент мусирую мысль организовать делители с объединением в один выход и потом АЦП считывать, но, боюсь, опять приду к "нелинейности"...
|
|
|
|
31.01.2016, 21:44
|
|
Временная регистрация
Регистрация: 31.01.2016
Сообщений: 84
Сказал спасибо: 32
Сказали Спасибо 25 раз(а) в 16 сообщении(ях)
|
Re: Непоследовательный двоичный код
Сообщение от proba60
|
К155ре3 вам в помощь
|
Увы...
Ее тоже надо "учить"...
|
|
|
|
31.01.2016, 21:48
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: Непоследовательный двоичный код
Сообщение от serg5768
|
В том то и бяка, что надо отследить перемещение переключателя.
Поиском по массиву с последующим сравнением ?
Долго и коряво...
|
Механика контроллером долго обрабатывается? Ну тогда
Сообщение от serg5768
|
Придется обрастать корпусами
|
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
31.01.2016, 21:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,311
Сказал спасибо: 2,132
Сказали Спасибо 1,732 раз(а) в 984 сообщении(ях)
|
Re: Непоследовательный двоичный код
Сообщение от serg5768
|
Придется обрастать корпусами
|
Блин, а погуглить?
К155ИД4 - трёхвходовый. Каскадируем два корпуса - получаем 6-ти входовой. Всё! на плате больше ни одной детальки не будет. Правда 9 выходов - будут инверсными.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
|
|
|
|
31.01.2016, 21:57
|
|
Временная регистрация
Регистрация: 31.01.2016
Сообщений: 84
Сказал спасибо: 32
Сказали Спасибо 25 раз(а) в 16 сообщении(ях)
|
Re: Непоследовательный двоичный код
Сообщение от akegor
|
Механика контроллером долго обрабатывается?
|
Вопрос скорее не во времени, миллисекунды - песчинка...
Суть скорее в другом...
Стоял переключатель в положении "4" - 00110Н или 6...
Передвинули его в положение "7" - 01000Н или 8...
То, что переключатель сдвинулся - проблемы увидеть нет, а вот куда он переставился ?
Перебирать каждый раз весь массив ?
А если бы было "линейное" изменение кода - банальное больше/меньше отработало бы "на ура"...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:33.
|
|