Можно ли использовать только конденсатор, чтобы отменить нажатие кнопки?

19

Мне было интересно: почему вы не можете просто подключить конденсатор к кнопке, чтобы отменить его? Я выяснил, как уменьшить работу, которую должен выполнять мой микропроцессор, но у меня очень ограниченное пространство на печатной плате, которую я проектирую, поэтому я не хочу делать полномасштабную схему отладки, которая усложнит конструкцию.


схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab


Это пример схемы; извините за любые ошибки (я не очень хорош в разработке схем с конденсаторами). Будет ли это даже работать? Для переключателя я не смог найти тот, который соответствует реальной жизни, но он подходит для этой ситуации. Кнопка похожа на найденную здесь . D10означает Digital Pin 10, но это не имеет значения; это просто означает вход Arduino. Я также не знаю, какой большой конденсатор мне понадобится, поэтому, если эта схема работает, какой размер мне нужен?


Опять же, я просто пытаюсь упростить это, чтобы упростить сборку без необходимости разбора программного обеспечения. Если посмотреть на то, как работают конденсаторы, кажется, что это будет работать, но также может заставить кнопку нажимать дольше / задерживать ее, если емкость слишком велика. Они обычно используются для «сглаживания» шума в источниках питания, поэтому не является ли это аналогичной вещью, когда это «сглаживает» подпрыгивание? Любые изменения схемы, чтобы заставить это работать (если необходимо), также были бы оценены.

Анонимный пингвин
источник
1
Вот где мы обсуждали это раньше: electronics.stackexchange.com/questions/6884/…
Энди ака
5
Вы понимаете, что можете отменить ввод, просто опрашивая его с интервалом не менее 50 мс? Меньше работы для вашего aduino :)
Wouter van Ooijen
1
Было бы 50 миллисекунд - хорошо, мистер О
Энди,
1
Нет, я имею в виду опрос с интервалом не менее 50 мс и делаю все, что вам нужно, в соответствии с уровнем, который вы обнаружите.
Wouter van Ooijen
1
@AnnonomusPerson - задержка () в однопоточной среде означает, что больше ничего не может произойти. Хотя это один из вариантов, другой - выполнять другую полезную работу до тех пор, пока не настанет время снова проверить.
Крис Страттон

Ответы:

12

Это зависит от состояния коммутатора по умолчанию. Конденсатор будет заряжаться только тогда, когда вы дадите ему положительное напряжение. Обычно во встроенной среде мы используем подтягивание, чтобы придать контакту высокое состояние по умолчанию, и привязываем коммутатор к земле. Добавление конденсатора здесь не поможет, потому что он не будет «хранить» основное состояние.

Тем не менее, вы также можете использовать раскрывающийся список. Это будет означать, что пин-код по умолчанию низкий. Подняв его до высокого уровня нажатием переключателя, зарядите конденсатор. После освобождения конденсатор некоторое время будет поддерживать высокий уровень на выводе, так что да, это будет работать. Я не уверен, достаточно ли 1uF, слишком мало или слишком много, я бы порекомендовал вам взглянуть с прицелом и немного попробовать.


источник
Так что, если я изменил +и -это будет работать?
Анонимный Пингвин
@ AnnonomusPerson это зависит. Каково состояние по умолчанию коммутатора?
Вы имеете в виду, когда он не нажат, проводит ли он электричество? Если это то, что вы имеете в виду, я могу сделать это в любом случае из-за природы переключателя, который я использую. Глядя на ссылку в моем вопросе, когда не нажата, кнопка ведет от top left to the bottom leftи the top right to the bottom right. При нажатии он проводит от top left to the bottom right, и top right to the bottom left.
Анонимный Пингвин
Ладно. Это будет означать, что вы по умолчанию хотите, чтобы пин был низким. Переключатель должен соприкасаться с +, чтобы конденсатор получил заряд перед тем, как отпустить кнопку.
3
@AnnonomusPerson Нет, коммутатор должен установить контакт с +. Это своего рода жаргон для того, к чему будет подключаться переключатель при нажатии . Конденсатор находится в нужном месте. Резистор будет лучше подключен с земли к выводу ввода-вывода напрямую.