Hello HazovDmitry!
03 Sep 03 13:18, HazovDmitry wrote to All:
H> есть оптопара (два фоторезистора и ИК-светодиод) от комп. мышки вместе H> с крыльчаткой. как по последовательности импульсов идущей от мышиной H> оптопары определить направление вращение крыльчатки ?
H> типа: засвечиваются фоторезисторы в последовательности 1-2-1-2-1... H> имеем логическую "1" , а в последовательности 2-1-2-1... "0" .
Сейчас тебе начнут кидать идеи с Д-триггером, так вот, оно конечно, может и работать, а может и гнать по-черному. А правильное решение такое.
У этого датчика два выхода, они расположены со сдвигом и при вращении диска в одну сторону выдают последовательность 00 - 01- 11 - 10 - 00 - 01 ..., а в другую - 00 - 10 - 11 - 01 - 00 - 10 ... Вообще-то так работает реверсивный счетчик Джонсона, но двухразрядные коды Джонсона и Грея совпадают, преобразователь двухразрядного кода Грея в двоичный - один элемент XOR (исключающее ИЛИ, допустим, 1/4 микросхемы 176/561ЛП2, или 555ЛП5). Старший разряд подаем напрямую, а в качестве младшего - результат XOR'а от обоих разрядов. тогда первая последовательность превратится в 00 - 01 - 10 - 11 - 00
- 01 ..., а вторая - в 00 - 11 - 10 - 01 - 00 - 11 ..., т.е. обычный двоичный код, возрастающий или убывающий. Фактически, это число - два младших разряда кода положения диска. И направление, вернее перенос/заем от этого двухразрядного двоичного числа, естественно, определяются по переходу 11-00, сигнализирующему перенос и 00-11 - заем.
Дальше сочинишь, что делать, или тебе нарисовать схему? Впрочем, прикинул я эту схему, что-то тоскливое получается, штуки 4-5 логических м/с малой и средней степени интеграции с запутанным соединением, устанешь разводить - боюсь, дешевле будет сделать это на микроконтроллере, тогда и элемент XOR не будет нужен - или добавишь команду XOR в программу, или вообще реализуешь этот кусок таблично, прямо в коде Джонсона.
Всего доброго!
А. Забайрацкий.