Ползунковый переключатель: подключение к ESP32 и Arduino
Переключатель на три вывода
Держит положение сам: ползунок переводят в одно из двух положений, и вывод платы подключён то к питанию, то к земле. В отличие от кнопки, ему не нужна подтяжка.
У переключателя три вывода: средний (2) общий, он идёт на вход платы; крайние (1 и 3) идут на питание и землю. В одном положении средний замыкается с одним крайним, в другом — с другим, поэтому вход платы всегда подключён к определённому уровню и «висеть в воздухе» не может.
Это отличает переключатель от кнопки: кнопка в отпущенном состоянии вход не подключает ни к чему и требует подтяжки. Переключатель читают в любой момент через digitalRead() как режим, а не ловят как событие.
Выводы
Вывод
Назначение
1
крайний вывод: подключается к питанию или к земле
2
средний, общий: идёт на вход платы
3
второй крайний вывод: к земле или питанию, противоположно выводу 1
// Переключатель выбирает скорость мигания.
//
// У переключателя три вывода: средний общий, он идёт на плату, а
// крайние — на землю и на питание. В любом положении вывод платы к
// чему-то прижат, поэтому подтяжка здесь не нужна — в отличие от
// кнопки, которая в отпущенном состоянии не соединена ни с чем.
//
// Щёлкайте по переключателю на схеме.
const int SWITCH = 2;
const int LED = 9;
void setup() {
pinMode(SWITCH, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
bool fast = digitalRead(SWITCH) == HIGH;
int period = fast ? 100 : 700;
digitalWrite(LED, HIGH);
delay(period);
digitalWrite(LED, LOW);
delay(period);
}
В железе
Мини-переключатели рассчитаны на слабые токи (до 0,3 А): ими коммутируют сигнал для контроллера, а не нагрузку. Для лампы или мотора переключатель управляет реле или транзистором.
Частые ошибки
Оба крайних вывода на питание или оба на землю: вход всегда читает один уровень, и переключатель «не работает».
Питание на средний вывод: в одном из положений питание замыкается на землю — короткое замыкание.
Читать положение только в setup(): переключатель можно перевести в любой момент, и скетч этого не заметит.
Коммутировать переключателем мощную нагрузку: контакты рассчитаны на десятки миллиампер и подгорают.