Геркон: http://ali.pub/di38u
MC-38: http://ali.ski/19rbk
Sensor Shield: http://ali.ski/AFdiG
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Для начала кто не в курсе, давайте выясним что же такое геркон:
Герко́н (акроним от «герметизированный контакт») — электромеханическое коммутационное устройство, изменяющее состояние подключённой электрической цепи при воздействии магнитного поля от постоянного магнита или внешнего электромагнита, например, соленоида.
Конструктивно в герконе имеются упругие ферромагнитные контакты, впаянные в герметичную стеклянную колбу. Эти контакты совмещают функции токопровода, магнитопровода и пружины.
При увеличении внешнего магнитного поля свыше порогового упругие контакты геркона «слипаются», замыкая электрическую цепь. При снятии внешнего поля за счет упругости контактов происходит размыкание цепи.
Следовательно самым популярным применением геркона служит открытие дверей, так как при открытии двери мы будем размыкать контакты, так как дверь будет отдалять магнит от геркона. Этот датчик очень полезен в применении сигнализации. Поэтом я сразу и заказал в корпусе с ушками геркон MC-38 чтоб можно было сразу прикрутить на дверь и все бы работало.
Ну чтож из теории к практике. Написал простенький скетч который демонстрирует изменение состояния светодиода на открытую и закрытую дверь. Естественно заместо диода всегда можно подключить зуммер, для звукового сигнала.
Так вот геркон мы будем подключать к 6 пину ардуино. А диод у нас будет встроенный на 13 пину ардуино.
После подключения всех компонентов по описанной выше схеме необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
int Door_Led_Pin = 13; // выбрать контакт для светодиода int Door_Sensor_Pin = 6; // контакт для датчика int val = 0; // переменная для хранения состояния датчика void setup() { pinMode(Door_Led_Pin, OUTPUT); // установить Door_Led_Pin как выход pinMode(Door_Sensor_Pin, INPUT); // установить Door_Sensor_Pin как вход } void loop(){ val = digitalRead(Door_Sensor_Pin); // читать Door_Sensor_Pin if (val == HIGH) { // Если Door_Sensor N.C. (без магнита) -> HIGH : Дверь открыта / LOW : Дверь закрыта // Если Door_Sensor N.0. (nc с магнитом) -> HIGH : Дверь открыта / LOW : Дверь закрыта digitalWrite(Door_Led_Pin, LOW); //выключить светодиод Door_Led } else { digitalWrite(Door_Led_Pin, HIGH); //включить светодиод Door_Led } }
Ссылка на скетч: https://yadi.sk/d/3TV_PJE934RBts
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.