То, что я действительно хочу сделать, немного сложнее, чем это, но я могу свести его к следующей концепции. Допустим, у меня есть 4 кнопки и 4 светодиода. Каждая кнопка включает 1 светодиод. Если какие-либо другие индикаторы горят при нажатии кнопки, они автоматически отключаются.
Я довольно новичок в электронике, поэтому нижеследующее не будет использовать технические термины, если вы можете указать их в ответе, чтобы я мог сообщить магазину электроники, что мне нужно, это будет оценено.
В идеале кнопки должны быть кнопками с одним действием, т. е. не должны находиться в «нерабочем состоянии». Учитывая, что я предполагаю, что мгновенное нажатие кнопки должно вызвать какой-то переключатель, чтобы включить цепь для светодиода, чтобы светодиод оставался включенным. Существуют ли эти переключатели, и если да, то как они называются? Также можно ли нажать кнопку, чтобы включить один свет, и одновременно «отменить» три других переключателя для других огней?
РЕДАКТИРОВАТЬ: В качестве альтернативы вы могли бы объяснить способ иметь два переключателя мгновенного нажатия и светодиод. Где один переключатель включает светодиод, а другой выключает его.
Входной селектор в одном из моих усилителей работал именно так (пока я не взорвал микросхему и мне не пришлось переделывать селектор, так как я не мог достать другую микросхему).
Я не особенно люблю программировать микроконтроллеры (зачем еще мне делать двухчастотный счетчик с большим количеством дискретных логических микросхем?), поэтому я всегда ищу способ избежать его использования.
Я сделал это, имея в виду настоящие кнопки (поэтому я добавил устранение дребезга). Если вы действительно хотите управлять этим с помощью логического выхода от какого-либо детектора или чипа (который не требует устранения дребезга), вы можете избавиться от R1-R4 и C2-C5. Если ваш управляющий сигнал имеет активный низкий уровень («0» при нажатии кнопки), то оставьте инверторы. Если ваш управляющий сигнал имеет активный высокий уровень («1» при нажатии кнопки), то вам не нужно использовать U2C-U2F, а просто подключить управляющие сигналы к анодам D1-D4.
Как это работает: Когда на аноде, скажем, D1 появляется «1», она также поступает на входной контакт U1. Триггер срабатывает передним фронтом часов. Чтобы напряжения на входных контактах стабилизировались до их окончательных значений, схема, состоящая из U2A, R5, C1 и U2B, задерживает передний фронт на несколько мс. На самом деле, вы, вероятно, могли бы избавиться и от R5 и C1, задержки распространения U2A и u2B, вероятно, было бы достаточно, но у меня нет возможности проверить это без сборки.
R7 и C6 сбрасывают флоп-флоп в состояние «0» (все светодиоды выключены) при включении питания, иначе при каждом включении он получал бы случайное состояние.
В случаях с такой нетривиальной логикой почти всегда проще поставить микроконтроллер с 8 доступными контактами GPIO. Затем настройте 4 контакта как входы кнопок и 4 контакта как выходы светодиодов. Это был бы идеальный проект для платы Arduino.
Реализация с использованием восьми вентилей И-НЕ (четыре 3-входовых и четыре двухвходовых) находится здесь . Нажмите четыре переключателя, чтобы изменить состояние светодиодов. Как показано, входы и выходы кнопок имеют активный низкий уровень. Замена вентилей НЕ-И на вентили ИЛИ-НЕ даст аналогичную схему с входами и выходами с активным высоким уровнем. Обратите внимание, что конденсатор на нижнем переключателе предназначен для обеспечения того, чтобы схема включалась в предсказуемом состоянии (как показано на рисунке, при горящем нижнем светодиоде). Если исключить его из реальной схемы, он произвольно получит один из включенных светодиодов, но может быть или не быть последовательным в отношении того, какой именно. Связанная схема интерактивна; вы можете щелкнуть переключатели, чтобы увидеть, как переключаются разные ворота.
Уильям
Пентиум100
Уильям
Пентиум100
Уильям
Пентиум100
Уильям
суперкот