Как использовать этот 3-контактный ползунковый переключатель?

Я недавно купил эти ползунковые переключатели, потому что хочу использовать их в своем проекте:

Но я не знаю, к чему подключать эти три контакта, и я не могу найти информацию о них в Интернете. Я также не могу найти пример кода. Может кто-нибудь показать мне, как подключить их и предоставить пример кода, пожалуйста? Я просто хочу иметь возможность проверять их состояние и сохранять его как логическую переменную.

, 👍3

Обсуждение

Как заявил продавец, это переключатель [SPDT]., @Edgar Bonet

Образец кода? Как читать переключатель? Действительно?, @Duncan C

У него всего два положения и три контакта. Вы поймете, как это работает менее чем за минуту, если воспользуетесь мультиметром в настройках проверки непрерывности. У тебя есть один, не так ли? Если вы этого не сделаете, я настоятельно рекомендую добавить его в корзину в следующий раз., @StarCat

для использования исключительно по зондированию с MCU можно проигнорировать или даже отрезать один из внешних контактов, тогда это просто кнопка (логично), для чего примеров предостаточно., @dandavis


3 ответа


Лучший ответ:

5

Как уже говорили другие, это переключатель SPDT (Single Pole Double Throw). Центральный штифт обычный. Когда переключатель перемещается в одну сторону, он соединяет центральный контакт с внешним контактом на этой стороне. Когда вы сдвигаете переключатель в другую сторону, он соединяет центральный контакт с противоположным внешним контактом.

См. ссылку на переключатели SPDT, приведенную Эдгаром в его комментарии: http://www.learningaboutelectronics.com/Articles/What-is-a-single-pole-double-throw-switch-SPDT

Это довольно ясно объясняет эти переключатели.

Подключите центральный контакт переключателя к цифровому контакту на Arduino. Подключите один из внешних контактов к земле.

Переведите цифровой контакт на Arduino в режим INPUT_PULLUP.

Затем, когда вы читаете цифровое состояние вывода, если он НИЗКИЙ, переключатель замкнут. (Сдвинулся в сторону штифта, который вы прикрепили к земле.)

,

3

Поскольку он имеет два возможных положения и три контакта, у вас есть соединение между контактами 1 и 2, когда выбрано положение 1, и между контактами 1 и 3, когда выбрано положение 2. Как видно из комментария BSF ниже, средний штифт является обычным. Это означает, что он будет подключен к внешним контактам в зависимости от того, куда сдвинут переключатель.

Однако вы всегда можете проверить это следующим образом:

Чтобы узнать, какой контакт является контактом 1, контактом 2 и контактом 3, используйте мультиметр. Установите его в режим непрерывности или, если у вас его нет, в режим сопротивления и подключите красный/черный щупы к двум случайным контактам. Проверьте, равно ли сопротивление 0, в этом случае вы знаете, что эти два контакта будут соединены, когда выбрано положение 1. Если есть сопротивление, попробуйте другие контакты с щупами, пока не узнаете, какие из них подключены.

Затем поменяйте положение и сделайте это снова.

Вместо мультиметра вы также можете «жестко подключить» его, например, к 5 В -> контакт 1, контакт 2 -> резистор 220 Ом -> светодиод -> GND. И меняйте контакт 1 и контакт 2, пока не найдете, какие контакты соединяются для каких положений.

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

,

Контакт 2, тот, что посередине, всегда общий. С ползунковым переключателем другой возможности нет., @SBF

@SBF Хорошо ... мой тест дал бы тот же вывод, но приятно знать, что это всегда средняя позиция, которая является обычной., @Michel Keijzers

Ключевым моментом поста Мишеля является то, что с помощью мультиметра можно за несколько минут выяснить, как подключен выключатель. Это очень хороший навык для развития., @Duncan C

@DuncanC спасибо за комплимент ... проголосовал за ваш ответ, так как он подтвердил то, что, как я думал, должно работать (подтягивание + активный НИЗКИЙ), предполагая, что на MCU с внутренними резисторами подтягивания ВЫСОКИЙ активный должен работать одинаково)., @Michel Keijzers


1

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

Центральный штифт является общим, и при смещении в сторону он соединяет этот центральный штифт с соответствующим внешним штифтом.

Поэтому вы просто используете центральный контакт и один из внешних контактов, как если бы это был любой другой выключатель или кнопка. Относитесь к нему точно так же (подтягивающий резистор, который может быть внутренним в чипе AVR, и соедините контакт ввода-вывода с землей через переключатель).

Если он включен (читается как НИЗКИЙ), значит, переключатель находится в одном положении. Если он выключен (значит ВЫСОКИЙ), значит, он в другом положении.

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

,

Так какой контакт я должен подключить к земле? И какой контакт я должен подключить к Arduino № 2, чтобы этот скетч заработал? http://man.hubwiz.com/docset/Arduino.docset/Contents/Resources/Documents/www.arduino.cc/en/Tutorial/DigitalInputPullup.html, @Saqib Ali

Соедините любой контакт с землей. Контакт, который вы подключаете к № 2, зависит от того, какой контакт вы подключили к земле. Если вы подключили центральный контакт к земле, используйте один из внешних контактов. Если вы подключили один из внешних контактов к земле, подключите центральный контакт к № 2. Все, из чего состоит переключатель, — это три металлических стойки и скользящий кусок металла, который перемещается поверху этих стоек., @Majenko