Если условие для переключателя не работает должным образом

Я пытаюсь написать простую программу для управления одним светодиодом с помощью двух переключателей.

Если какой-либо из переключателей нажат, я хочу включить светодиод.

Однако мой светодиод всегда горит, даже если ни один из переключателей не нажат. Почему это могло случиться?

Спасибо!

https://www.tinkercad.com/things/7SRoEXkHRqh-one-led-two-switches -

Image capture from tinkercad link

, 👍2

Обсуждение

входные контакты напрямую подключены к 5 В, так как кнопка имеет непосредственно подключенные контакты по бокам (настоящая кнопка находится между правой и левой). переместите два красных провода вверху, которые идут к входным контактам, на правую сторону переключателей (выше того места, где подключены резисторы). Если это сработает, я напишу ответ, @chrisl

Теперь, когда вы изменили схему, она, кажется, работает. Это правильно?, @chrisl


2 ответа


1

Трудно сказать, какие контакты переключателя что делают. Поскольку ваши входы настроены как ВХОДНЫЕ (вместо INPUT_PULLUP), у вас должен быть резистор (скажем, 10k Ω), связывающий эти контакты с землей. Затем другой конец переключателя должен подключиться к + 5V. Не подключайте коммутаторы как к +5 В, так и к земле.

Используйте мультиметр на непрерывности, чтобы убедиться, что контакты используемого переключателя нормально разомкнуты и закрываются при нажатии переключателя. С 4 контактами легко запутаться в том, какой контакт переключателя что делает.

,

1

Легко перепутать контакты этих однополюсных кнопок - я до сих пор это делаю. Для такого рода кнопок требуется всего два штифта. Два дополнительных элемента предназначены для механической устойчивости платы ПК.

Положите пуговицу на одну из ее сторон:

  • Если два верхних штифта выходят из верхнего края, эти штифты переключаются - либо разомкнуты, либо закорочены кнопкой. То же самое для двух нижних булавок.

  • Если вместо этого два верхних штифта выходят из противоположных краев, то эти два буквально представляют собой один кусок провода, проходящий через рамку кнопки, и поэтому всегда замыкаются друг на друга. Эти два штифта вместе открыты относительно двух нижних штифтов, когда кнопка отпущена, или закорочены относительно двух нижних штифтов, когда кнопка нажата.

Обновление:

Я, вероятно, не запомню вашу информацию в следующий раз, когда мне понадобится использовать один из этих переключателей, так что мне все равно придется просто проверить его ... :(

Спасибо, @Duncan C. Я, наверное, сделал это сложнее, чем нужно! Как насчет:

Каждая пара штифтов представляет собой плоскую металлическую полоску, согнутую так, чтобы пройти через корпус переключателя, и каждый ее конец направлен вниз на печатную плату; примерно в форме буквы "С". Если посмотреть на один из штифтов, то можно увидеть только один другой штифт, который может быть его другим концом, потому что вы можете согнуть плоскую полоску только к одной из его граней, а не к краю.

,

Это полезная информация о том, как выяснить, какие контакты переключаются, а какие подключены. Я просто использую мультиметр, чтобы выяснить это. Я, вероятно, не запомню вашу информацию в следующий раз, когда мне понадобится использовать один из этих переключателей, так что мне все равно придется просто проверить его ... :(, @Duncan C