Контроль двери с помощью магнитного герконового переключателя и Arduino

В этом руководстве показано, как использовать магнитный герконовый переключатель (magnetic reed switch). Мы сделаем краткий обзор принципа его работы и покажем пример проекта с использованием Arduino.

Описание

Магнитный контактный переключатель — это, по сути, герконовый переключатель, заключённый в пластиковый корпус, что позволяет легко установить его на дверь, окно или ящик для определения того, открыты они или закрыты.

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

Магнитный герконовый переключатель — маркировка частей

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

Всё очень-очень просто.

Электрическая цепь замыкается, когда магнит находится рядом с переключателем (на расстоянии менее 13 мм (0,5 дюйма)). Когда магнит находится далеко от переключателя, цепь разомкнута. Смотрите рисунок ниже.

Принцип работы магнитного герконового переключателя

Где купить?

Эти переключатели очень дешёвые. Вы можете купить их на eBay здесь.

Пример проекта

В этом примере мы будем включать красный светодиод, если ваша дверь открыта, и зелёный светодиод, если ваша дверь закрыта.

Вам понадобятся следующие компоненты:

Вы можете использовать приведённые выше ссылки или перейти непосредственно на MakerAdvisor.com/tools, чтобы найти все детали для ваших проектов по лучшей цене!

Схема подключения

Вот схема для этого примера.

Схема подключения магнитного герконового переключателя к Arduino

Загрузка скетча

Для этого примера загрузите следующий код:

/*

 Created by Rui Santos

 All the resources for this project:
 https://randomnerdtutorials.com/

*/

int ledOpen=8;
int ledClose=10;
int switchReed=6;

void setup(){
  pinMode(ledOpen, OUTPUT);
  pinMode(ledClose, OUTPUT);
  pinMode(switchReed, INPUT);
  Serial.begin(9600);
}

void loop(){

  if (digitalRead(switchReed)==HIGH){
    digitalWrite(ledOpen, LOW);
    digitalWrite(ledClose, HIGH);
    Serial.println("Your Door is Closed");
  }
  else {
    digitalWrite(ledOpen, HIGH);
    digitalWrite(ledClose, LOW);
    Serial.println("Your Door is Open");
  }
  delay(1);
}

Просмотреть исходный код

Демонстрация

Вот видео-демонстрация работы этого проекта.

Надеемся, что это руководство было для вас полезным.

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