Подключение геркона к Arduino
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: 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 >>
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.
Arduino.ru
Здравствуйте, хочу реализовать подключаемый делитель на вход АЦП. Верхний резистор делителя будет постоянно включен в цепь прохождения сигнала и заодно будет ограничивать ток через защитные диоды перед АЦП, а нижний будет замыкаться на землю по команде с МК. В качестве элемента коммутации думаю использовать герконовое реле РЭС91, с сопротивлением катушки 500 Ом и индуктивностью 160 миллигенри (если верить транзистертестеру). Реле расчитано на работу от 5в и, насколько я понимаю, при таком активном сопротивлении может управлятся напрямую с выхода МК. Вопрос в том, нужны ли дополнительные защитные элененты, например диоды с управляющего герконом выхода МК на шину питания (с земли на выход такие диоды вроде нигде не видел)?
- Войдите на сайт для отправки комментариев
Чт, 06/12/2018 — 12:59
Зарегистрирован: 29.03.2016
Мысль правильная, индуктивность маленькая, ток небольшой, диод параллельно реле я бы поставил.
- Войдите на сайт для отправки комментариев
Чт, 06/12/2018 — 19:57
Зарегистрирован: 25.02.2016
только нужен диод с малым падением напряжения , не более 0,4В, а лучше еще меньше.
- Войдите на сайт для отправки комментариев
Пт, 07/12/2018 — 02:31
Зарегистрирован: 05.01.2018
С диодом разобрался, спасибо ответившим. А вот пару скриншотов работы самого реле вдруг кому интересно. Замыкание:
Желтым — управляющий сигнал, синим — состояние контактов реле.
- Войдите на сайт для отправки комментариев
Пт, 07/12/2018 — 17:23
Зарегистрирован: 01.10.2015
Обычный дребезг.
ВН, зачем тут малое падение напряжения диоду?
Обычный 4144 за глаза.
- Войдите на сайт для отправки комментариев
Пт, 07/12/2018 — 21:10
Зарегистрирован: 25.02.2016
сливной диод, что стоит на выходе проца на + питания может пробить, если прямое падение напряжения на нем окажется меньше, чем на внешнем диоде шунтирующем реле, т.к. они оказываются включенными параллельно.
- Войдите на сайт для отправки комментариев
Пт, 07/12/2018 — 21:58
Зарегистрирован: 12.07.2018
И читайте документацию на прибор. Неужели Вам надо контролировать бешенные скорости? Опрашивайте реже — и будет Вам счастье!
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 06:35
Зарегистрирован: 01.10.2015
сливной диод, что стоит на выходе проца на + питания может пробить, если прямое падение напряжения на нем окажется меньше, чем на внешнем диоде шунтирующем реле, т.к. они оказываются включенными параллельно.
ОК, логично.) Только сливным можно и пожертвовать, если не понадобится в дальнейшем.) Хотя думаю что в данной ситуации он справится из без внешнего. 10 мА в редком ипульсе ведь, не?
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 09:28
Зарегистрирован: 08.04.2011
Нет.
И это не ток «помехи».
Через демпферный диод в первое мгновение после отключения напряжения
протекает ровно тот же самый ток который протекал через реле до отключения.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 09:35
Зарегистрирован: 01.10.2015
trembo пишет:
Нет. И это не ток «помехи». Через демпферный диод в первое мгновение после отключения напряжения протекает ровно тот же самый ток который протекал через реле до отключения.
Что нет? А я про какие 10 ма говорю?
Tolik4 пишет:
В качестве элемента коммутации думаю использовать герконовое реле РЭС91, с сопротивлением катушки 500 Ом и индуктивностью 160 миллигенри (если верить транзистертестеру). Реле расчитано на работу от 5в и, насколько я понимаю, при таком активном сопротивлении может управлятся напрямую с выхода МК. Вопрос в том, нужны ли дополнительные защитные элененты, например диоды с управляющего герконом выхода МК на шину питания (с земли на выход такие диоды вроде нигде не видел)?
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 13:05
Зарегистрирован: 05.01.2018
Green пишет:
Обычный дребезг.
ВН, зачем тут малое падение напряжения диоду?
Обычный 4144 за глаза.
mykaida пишет:
И читайте документацию на прибор. Неужели Вам надо контролировать бешенные скорости? Опрашивайте реже — и будет Вам счастье!
Естественно что дребезг обычный, а не волшебный. Всю документацию прочитал еще ДО покупки реле, с чего вы взяли что меня в его работе что-то не устраивает? Скрины приведены для тех кому интересны задержки на включение/выключение подобных реле и ДЛИТЕЛЬНОСТЬ дребезга. На каждом скрине есть пара курсоров по которым можно все это увидеть. Кстати, за пару десятков циклов, дребезг ниразу не превысил время как на скриншоте.
ПС Теперь еще со скоростью отпускания что-то сделать неплохо бы.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 13:17
Зарегистрирован: 01.10.2015
Tolik4 пишет:
Естественно что дребезг обычный, а не волшебный.
Дребезг то обычный, только многие удивляются его наличию в герконе.)
Время отпускания, думаю, не сократите. Нужен более «жоский» геркон.)
Хотя, можно попробовать поиграться с уменьшением напряжения на обмотке.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 14:14
Зарегистрирован: 25.02.2016
Tolik4 пишет:
Здравствуйте, хочу реализовать подключаемый делитель на вход АЦП. Верхний резистор делителя будет постоянно включен в цепь прохождения сигнала и заодно будет ограничивать ток через защитные диоды перед АЦП, а нижний будет замыкаться на землю по команде с МК.
вот здесь сам подход не совсем понятен, почему реле, а не полевик.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 17:22
Зарегистрирован: 05.01.2018
Я не специалист, но в пользу геркона находил в сети такие доводы: гарантированное отсутствие влияния на сигнал, гальваническая развязка измерительной цепи от управляющей.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 17:24
Зарегистрирован: 01.10.2015
Модератор : первый пост темы прочтите пожалуйста, вопрос, возможно, отпадёт.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 22:44
Зарегистрирован: 25.02.2016
Tolik4 пишет:
Я не специалист, но в пользу геркона находил в сети такие доводы: гарантированное отсутствие влияния на сигнал, гальваническая развязка измерительной цепи от управляющей.
В каких-то случаях это может и правда иметь значение, но вот применение самого ацп ардуино склоняет к тому, что это не ваш случай.
Конечно было бы лучше увидеть более подробное опсание задачи, что за делитель, что за сигнал. Зачем вообще дергать делитель.
- Войдите на сайт для отправки комментариев
Сб, 08/12/2018 — 23:07
Зарегистрирован: 05.01.2018
Причем тут АЦП самого Ардуино? АЦП ADS1115, сигнал с промышленного усилителя тензомоста с выходом от -10в до +10в, изминение сигнала может происходить довольно быстро и популярные специализированные АЦП для тензомостов поголовно слишком медленные. До примерно 4в сигнала с усилителя измеряем его напрямую с одним коэфициентом, после подключаем делитель и меняем коэф. При спадании сигнала то же самое но с гистерезисом. Так при небольшом уровне сигнала получаем бОльшую точность которая по специфике использования устройства как раз шибко нужна.
Теперь, с исчерпывающей информацией, уверен, вы легко сможете подробно ответить на заданные мной по ходу темы вопросы. Ведь вы ради этого спрашивали, а не из праздного любопытства, верно?
- Войдите на сайт для отправки комментариев
Датчик геркона Ардуино подключение (KY-021)
Герконовый датчик Arduino (Reed Switch Sensor) используется во многих практических проектах на микроконтроллере: управление открытием и закрытием окна, счетчик оборотов, датчик скорости и т.д. Подключение модуля с герконом к плате Ардуино или датчика открытия двери принципиально не отличается. Рассмотрим в обзоре схему подключения модуля геркона ky-021 (ky-025) к Arduino с примером программы для датчика.
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- датчик геркона KY-021 (KY-025)
- светодиоды и резисторы
- сервомотор
- макетная плата
- коннекторы
- Подключение датчика температуры LM35 к Ардуино
- Подключение датчика температуры и влажности DHT22
- Подключение датчика атмосферного давления BMP180
Слово «геркон» образовано от словосочетания «герметичный контакт». Устройство датчика KY-021 довольно простое, он представляет собой два разомкнутых или замкнутых контакта в колбе с инертным газом или с вакуумом. Контакты меняют свое состояние под воздействием магнитного поля (магнита). Типы герконовых датчиков для Ардуино (Reed Sensor) по принципу своего действия представлены на картинке, размещенной ниже.
Датчик геркона Arduino принцип работы, распиновка
Модуль KY-021 Arduino характеристики (datasheet)
- Напряжение питания: 3.3 В или 5.5 В
- Потребляемый ток: 10 мА
- Используемый датчик: геркон
- Выходной ток: 15 мА
Герконовый выключатель должен быть подключен через резистор. Если используется модуль KY-021 или другой модуль с герконом, в него уже встроен резистор, поэтому схема подключения модуля к Arduino будет намного проще. Модули, независимо от их внешнего вида и устройства, работают по одному и тому же принципу. Чтобы подключить модуль Reed Switch к Arduino, внимательно изучите распиновку модуля магнитного поля.
Подключение светодиода и датчика геркона к Ардуино
Цифровой порт общего назначения используется для приема данных от датчика. В отличие от датчика звука Arduino, который также может сообщать характеристику сигнала (уровень шума), герконовый переключатель работает как кнопка. Модуль ky-021 замыкает и размыкает контакт под действием магнитного поля. Соберите схему с Reed Sensor и светодиодом, как показано на рисунке, и загрузите код в микроконтроллер Ардуино.
Скетч для датчика геркона Ардуино и светодиода
#define GER 2 #define LED 12 byte gercon; void setup() < Serial.begin(9600); pinMode(GER, INPUT); pinMode(LED, OUTPUT); >void loop() < gercon = digitalRead(GER); Serial.print("Reed Switch Sensor - "); Serial.println(gercon); if (gercon == HIGH) < digitalWrite(LED, HIGH); >else < digitalWrite(LED, LOW); >>
Как подключить датчик геркона Ардуино и серво
Модуль магнетронного геркона (KY-021) прост и состоит из двух открытых или закрытых контактов в колбе с инертным газом или вакуумом. Контакты изменяют состояние под воздействием магнитного поля (магнита). Контакты модуля в стеклянной колбе размыкаются или замыкаются при приложении магнитного поля к сенсору. В следующем примере будем управлять серво с помощью магнитного модуля KY-021 или KY-025.
Скетч для управления серво от датчика геркона
#include "Servo.h" Servo servo; #define GER 2 byte gercon; void setup() < Serial.begin(9600); servo.attach(12); pinMode(GER, INPUT); >void loop() < gercon = digitalRead(GER); Serial.print("Reed Switch Sensor - "); Serial.println(gercon); if (gercon == HIGH) < servo.write(90); >else < servo.write(0); >>
Заключение. Цифровой герконовый датчик Arduino имеет в составе микросхему LM393 в дополнение к триммеру (потенциометру), установленному на плате для регулировки чувствительности датчика. Микросхема LM393 используется для генерации цифрового сигнала при срабатывании датчика и устанавливается на многих подобных модулях, например, инфракрасный датчик препятствий для микроконтроллера Ардуино.
Как подключить геркон к Arduino
Название «геркон» происходит от словосочетания «герметичный контакт». И это объясняет его устройство. По сути, геркон – это два разомкнутых (или замкнутых) контакта, находящихся в вакуумной колбе, которые меняют своё состояние на противоположное при воздействии на них магнитного поля. Герконы – очень популярные датчики, которые используются во многих задачах. Это и контроль открытия/закрытия дверей, разнообразные счётчики срабатываний, счётчики скорости и т.д. Давайте посмотрим, как подключить геркон к Arduino и посмотрим, как он работает.
Инструкция по подключению геркона к Arduino
- Arduino UNO или иная совместимая плата;
- геркон или модуль с герконом;
- постоянный магнит;
- соединительные провода (рекомендую вот такой набор);
- макетная плата (breadboard);
- персональный компьютер со средой разработки Arduino IDE.
1 Схема подключениягеркона к Arduino
Используем вот такой модуль с герконом. Подключим его к Arduino по приведённой схеме. Питание осуществляется от 5 В или от 3,3 В. Сигнал подключим к цифровому пину D2.
Модуль с герконом содержит переменный резистор номиналом 10 кОм. Этим резистором можно установить порог срабатывания геркона и таким образом отрегулировать чувствительность. Также модуль содержит компаратор LM393 для генерирования цифрового сигнала при срабатывании магнитного датчика.
2 Скетч обработкисрабатывания геркона
Напишем скетч обработки срабатывания геркона. Тут всё просто.
int switchPin = 2; // к выводу 2 подключён геркон int ledPin = 13; // к пину 13 подключён встроенный светодиод void setup() pinMode(switchPin, INPUT); // задаём вывод 2 в качестве входа (будем считывать с него) digitalWrite(switchPin, HIGH); // активируем внутренний подтягивающий резистор вывода pinMode(ledPin, OUTPUT); // задаём вывод 13 в качестве выхода Serial.begin(9600); // задействуем последовательный порт > void loop() int g = digitalRead(switchPin); // считываем показания с геркона digitalWrite(ledPin, !g); // инвертированные показания записываем в порт со светодиодом Serial.println(g); // посылаем в последовательный порт значения с геркона //когда геркон замкнут, значение "0" (LOW), когда разомкнут - "1" (HIGH) delay(20); // повторяем цикл через 20 мсек >
Задаём номер пина, к которому подключаем выход модуля – «2», и включаем его на «прослушку». Активируем подтягивающий резистор на ножке «2». Задаём 13 пин в качестве выходного. Включаем в работу последовательный порт на скорости 9600 бод. А затем каждые 20 миллисекунд считываем показания геркона и выдаём значение в порт. Если геркон разомкнут – выводится «1», если замкнут – выводится «0». Кроме того, светодиод на 13-ой ножке Arduino светится, пока замкнуты контакты геркона.
Обратите внимание на инверсию считываемого с датчика сигнала.
3 Проверка работыдатчика с герконом
Подключим питание к Arduino. На модуле загорится светодиод, сигнализирующий о наличии питания модуля.
Теперь поднесём к геркону постоянный магнит – контакты геркона замкнутся, и загорится светодиод, показывающий срабатывание геркона. Снова уберём магнит – геркон разомкнётся, и светодиод погаснет. Если мы включим монитор последовательного порта, то увидим срабатывания геркона в виде нулей среди потока единиц при разомкнутом контакте.
4 Подключение герконак Arduino напрямую
Возьмём обычный геркон, без модуля (например, вот такой), и подключим его к Arduino. Геркон подключается аналогично кнопке. Код скетча останется таким же.
Соберём схему как на иллюстрации, включим питание Arduino. Если поднести постоянный магнит к геркону – светодиод Arduino загорится и будет светить пока замкнуты контакты геркона.
С помощью геркона можно сделать, например, датчик открытия двери или окна, датчик определения скорости вращения колеса или датчик уровня воды, и много чего ещё. Но геркон, всё же, является электромеханическим устройством, и срок его эксплуатации зависит от интенсивности использования. Поэтому можно использовать вместо геркона магнитный датчик Холла, о чём рассказывается в этой статье.
Последнее изменениеВоскресенье, 13 Январь 2019 18:08 Прочитано 40824 раз
Поблагодарить автора:
Поделиться
Похожие материалы (по тегу)
Последнее от .aave.
- Как провести моделирование с помощью ModelSim — Altera
- Как провести симуляцию сигнала в Simulation Waveform Editor
- Как прочитать билет на метро и автобус с помощью Arduino
- Что такое Arduino и что с ним можно сделать
- Как подключить к Arduino модуль Bluetooth
Другие материалы в этой категории:
11 комментарии
Толик 01.11.2019 19:37 Комментировать как подключить 2 (два) геркона на одновременную работу и передать данные о состоянии герконов с помощью nRF24LO1нужен скетчь ( NANO )
aave1 02.11.2019 19:08 Комментировать Подключить два геркона к Arduino можно абсолютно аналогично тому, как описано здесь. А работу с беспроводным модулем nRF24LO1 я ещё здесь не разбирал, но скоро сделаю. Пока что — воспользуйтесь одной из многих библиотек для этих модулей. Например, этой https://iarduino.ru/file/27.html. Там же и примеры.
Толик 02.11.2019 20:12 Комментировать Спасибо ВАМ, я тока начинаю с ардуино, а как будет выглядеть скетчь на два геркона исключающее дребезг контактов
aave1 03.11.2019 16:49 Комментировать Толик, геркон это, по сути, кнопка. Как подключить к Arduino кнопку без дребезга, было рассказано в этой статье: https://soltau.ru/index.php/arduino/item/376-kak-podklyuchit-knopku-k-arduino
Толик 03.11.2019 19:13 Комментировать aave1 спасибо. значит ничего не меняя в этом скетче просто загрузить его, а в каком месте кода указать второй геркон , чтоб работали одновременно
aave1 03.11.2019 23:55 Комментировать В цикле «void loop()». В нём последовательно и непрерывно выполняются инструкции скетча. Только теперь вместо одного геркона данные будут считываться с двух. Примерно так:
void loop() int ger1 = digitalRead(pin1);
int ger2 = digitalRead(pin2);
// . далее делаем что-то с этими значениями.
>
Это, конечно, упрощённо, и без учёта дребезга контактов. О борьбе с дребезгом контактов рассказывалось здесь: https://soltau.ru/index.php/arduino/item/393-kak-izbavitsya-ot-drebezga-kontaktov-pri-podklyuchenii-knopki-k-arduino
Толик 04.11.2019 14:35 Комментировать aave1 Большое спасибо, попробую переписать код..
Чингис 12.11.2019 19:55 Комментировать Здравствуйте! Помогите пожалуйста. Поставил доп циркуляционный насос для настенного котла, но появилась проблема, что бы использовать горячую воду мне приходится отключать насос. Хотел это дело автоматизировать спомошью ардуино но в спрграмированием проблемы .В котле есть датчик протока на линии горячей воды. Клапон с герконом ( турбика с магнитом на лопасте крутится и замыкает геркон ) Помогите с скетчем. Ка сделать так, что бы реле остовалось включёным, пока поступают импульсы с геркона и отключалось когда импульсы перестали поступать.
aave1 19.11.2019 17:49 Комментировать Чингис, добрый день! Ваш проект интересный, но связан со сферой жизни и здоровья. Поэтому использовать Ардуино в таких целях я бы не стал. А если бы и стал, то, по крайней мере, нужно написать надёжную программу и протестировать её в различных ситуациях, в том числе и нештатных. Это занимает время и немалое. Поэтому лучше обратитесь к профессионалам или купите профессиональное оборудование для этой цели.
Алексей 13.06.2021 00:38 Комментировать Здравствуйте. Заинтересовался Arduino. Подскажите, можно ли датчик открытия двери подключить к Arduino с модулем Wi-Fi для дальнейшей обработки этого сигнала в компьютерной программе по своему усмотрению? Заранее спасибо!