🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🚫 Проект: тумблер ON-OFF полной блокировки автоматики на реле

В проекте про тумблер ON-ON на этом сайте ручной переключатель только ФОРСИРУЕТ включение реле, не блокируя автоматику полностью — в разделе "Как улучшить" там прямо обещан вариант полной блокировки. Вот он: тумблер ON-OFF здесь полностью замещает решение автоматики, когда включён.

Как это работает

Вместо ИЛИ-логики из другого проекта здесь используется настоящее ветвление: `if (manualMode) { relayState = manualPosition; } else { relayState = autoCondition; }` — когда тумблер в ручном положении, результат автоматики полностью ИГНОРИРУЕТСЯ (не просто дополняется), давая настоящий полный обход, полезный, например, во время обслуживания, когда автоматика вообще не должна вмешиваться.

ON-OFF подходит для этого лучше, чем ON-ON: одно положение однозначно означает "сейчас ручное управление" (а не "временно форсирую включение"), второе чётко отдаёт управление автоматике — такая семантика точнее соответствует смыслу "обход активен / обход неактивен", чем два одинаково активных положения ON-ON.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Тумблер ON-OFF: средний (общий) контакт → D2, один крайний → GND, второй крайний контакт не используется (в отличие от ON-ON, где всегда замкнуто на одну из двух сторон, ON-OFF в одном положении разомкнут).
  2. Модуль реле: сигнальный вход → D4, VCC → 5V, GND → GND.
  3. Нагрузку подключайте к COM/NO реле строго по инструкции модуля — сетевое напряжение требует аккуратной изоляции.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. Замените autoCondition
// на реальную логику автоматики из нужного вам проекта на сайте.

const int SWITCH_PIN = 2;
const int RELAY_PIN = 4;

void setup() {
  pinMode(SWITCH_PIN, INPUT_PULLUP); // тумблер замыкает на GND в одном положении
  pinMode(RELAY_PIN, OUTPUT);
}

void loop() {
  bool manualMode = digitalRead(SWITCH_PIN) == LOW; // замкнут на GND = ручной режим активен

  bool autoCondition = false; // например, результат analogRead() датчика с другого проекта

  bool relayState;
  if (manualMode) {
    relayState = true; // в ручном режиме в этом демо просто включено; добавьте второй вход, если нужно и выключать вручную
  } else {
    relayState = autoCondition; // автоматика управляет только когда тумблер в положении "авто"
  }

  digitalWrite(RELAY_PIN, relayState ? HIGH : LOW);

  delay(100);
}

Дополнительных библиотек не требуется — только `digitalRead()`/`digitalWrite()`.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔋 батарейный отсек под один аккумулятор 1865…

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 144 ₽ 130 ₽ (экономия 14 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA