Каковы самые простые, дешевые и наименьшие способы заставить мгновенный переключатель производить переключающий выход с двумя состояниями (фиксирующий мгновенный переключатель)?
Другими словами, выход постоянно низкий, и когда вы кратковременно нажимаете кнопку/тактовый переключатель, выход меняется на постоянно высокий, а затем, когда вы снова нажимаете его, он снова переключается на низкий.
Вот еще вариант с двумя инверторами и устранением дребезга:
Для логического выхода необходимы только два инвертора, RC и резистор обратной связи:
NC7WZ14 стоит 0,06 доллара США с 2 инверторами, небольшим 6-контактным корпусом и триггерными входами Шмитта, хотя я думаю, что этой схеме даже не нужны входы Шмитта из-за RC. Также он может управлять 24 мА, поэтому вы можете подключить светодиод напрямую к нему, если вы используете светодиод по какой-либо причине.
Также показан здесь и здесь как тумблерный сенсорный переключатель .
Я думаю, что резистор обратной связи должен быть намного меньше, чем центральный резистор, чтобы он не колебался, если вы удерживаете кнопку, потому что низкоимпедансное соединение с выходом предотвратит зарядку конденсатора до среднего напряжения, пока вы не отпустите.
Варианты описаны в схемах с плавной фиксацией Press ON - Press OFF :
Один из возможных способов:
Используйте RC для устранения дребезга переключателя
а затем подайте его в D-триггер, а выход подайте обратно на вход, чтобы реализовать T-триггер.
D-триггер должен запускаться только положительным фронтом и иметь инвертированный выход.
Есть ли какие-либо проблемы с этим? Переключатель нужно будет удерживать нажатым в течение короткого периода времени, чтобы время нарастания активировало тактовый вход, что, вероятно, хорошо. Если вы удерживаете кнопку, она сработает только один раз, и это хорошо. Есть ли лучший способ устранить дребезг в цикле обратной связи или что-то в этом роде?
Или вы можете сделать это с помощью одного крошечного 6-контактного микроконтроллера и никаких других компонентов. Это может стоить немного больше, но это проще и занимает меньше места. Устранить дребезг переключателя в программном обеспечении просто, тогда это просто способ хранения логического значения, если выход должен быть высоким или низким. Самая маленькая версия этого микроконтроллера поставляется в корпусе для поверхностного монтажа размером 2 мм x 2 мм. В больших количествах это может быть 0,50 доллара.
Сделайте T-триггер, замкнув входы jk-триггера, запускаемого положительным фронтом, и соединив выход кнопки с тактовым входом jk-триггера.
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Я знаю, что это своего рода «косвенный» способ сделать это, но вы можете получить датчик эффекта Холла, такой как sparkfun: http://www.sparkfun.com/commerce/product_info.php?products_id=9312
и просто используйте магнит, я обнаружил (трудным путем), что этот конкретный эффект Холла фиксируется, поэтому он не будет работать для того, что мне нужно, но похоже, что теоретически он может работать для того, что вы ищете .
Я только что подключил его к макетной плате, я думаю, что, возможно, использовал резистор (прошел, наверное, месяц, поэтому я немного расплывчат в деталях), и когда я приближаю магнит (на мгновение), он закрывает датчик и там ты иди.
Самый простой вариант – использовать кнопочный переключатель с переменным током.
Если вы проигнорируете тот факт, что он фиксируется в разных положениях, это почти то же самое, что и мгновенный переключатель. Я понимаю, что суть вопроса не в этом, но это простое и компактное решение, не требующее ни софта, ни внешнего железа.
Не уверен точно, какова конечная цель, но я решил поставить это там:
Это отличная маленькая схема, которую я люблю использовать для управления бистабильными реле. Строить тоже довольно дешево.
Нажатие переключателя мгновенного действия переключает состояние реле и светодиода. Это не очень придирчиво к тому, как долго вы удерживаете кнопку. Поскольку реле с фиксацией, большую часть времени оно не будет потреблять много тока.
В этой конфигурации светодиод загорается, когда реле находится в заданном состоянии, и гаснет, когда реле сбрасывается. Вы также можете подключить R7 к клемме + C3, чтобы вместо этого светодиод включался, когда реле сбрасывается.
Мне нравится использовать это в гитарных эффектах, поэтому я могу обойти или включить устройство с помощью педали мгновенного действия. Конечно, 3PDT-переключатель сделал бы то же самое сам по себе, но в этом случае переключение происходит тише (без сильного щелчка), а мгновенные мягкие футсвитчи ощущаются намного приятнее, чем большие 3PDT.
Надеюсь это поможет.
Не могли бы вы просто сделать это в программном обеспечении?
Будет ли кнопка вводом на программируемом устройстве, или вам нужно сделать переключение в аппаратной области?
Сохраняя состояние кнопки в памяти, можно легко использовать мгновенный переключатель в качестве переключателя.
boolean buttonState = false; // store for toggle state, false = off true = on
if(yourButton == HIGH && buttonState == false) // if button is pressed and toggled off
{
Serial.println("Button Toggled On"); // do something while button is on
buttonState = true // set button state to on
}
if(yourButton == HIGH && buttonState == true) // if button is pressed and toggled on
{
Serial.println("Button Toggled Off"); // do something else while button is off
buttonState = false // set button state to off
}
Извините, если это не так, очевидно, этот ответ зависит от того, используете ли вы микроконтроллер или программируемый чип.
Дж. Полфер
XTL
эндолит
Стивенрфокс
эндолит
пользователь 2108804
эндолит