Цифровая запись. Цифровой звук и запись звука на компьютере
Подключение модуля реле к Ардуино потребуется, если вы решите управлять с помощью микроконтроллера мощной нагрузкой или переменным током. Модуль реле SRD-05VDC-SL-C позволяет управлять электрическими цепями с переменным током до 250 Вольт и нагрузкой до 10 Ампер. Рассмотрим схему подключения реле, как управлять модулем для включения светодиодной ленты и лампы накаливания.
Реле SRD-05VDC-SL-C описание и схема
Реле – это электромеханическое устройство, которое служит для замыкания и размыкания электрической цепи с помощью электромагнита. Принцип работы силового реле srd-05vdc очень прост. При подаче управляющего напряжения на электромагнитную катушку, в ней возникает электромагнитное поле, которое притягивает металлическую лапку и контакты мощной нагрузки замыкаются.
Если контакты реле замыкаются при подаче управляющего напряжения, то такое реле называют замыкающим. Если при подаче управляющего напряжения контакты реле размыкаются, а в нормальном состоянии контакты сомкнуты, то реле называется размыкающим. Также реле бывают постоянного и переменного тока, одноканальными, многоканальными и переключающими. Принцип действия у всех одинаковый.
Согласно характеристикам реле SRD-05VDC-SL-C, для переключения контактов достаточно около 5 Вольт 20 мА, выводы на Ардуино способны выдавать до 40 мА. Таким образом с помощью Ардуино мы можем управлять не только лампой накаливания, но и любым бытовым прибором — обогревателем, холодильником и т.д. Полевые транзисторы на Ардуино могут управлять токами только до 100 Вольт.
Схема подключения реле к Arduino UNO
Для занятия нам понадобятся следующие детали:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- блок питания 12 Вольт;
- светодиодная лента;
- провода «папа-папа» и «папа-мама».
Соберите схему, как показано на картинке выше. Подобная схема использовалась в проекте Светильник с управлением от пульта , где светодиодная лента включалась при помощи реле. Модуль имеет три контакта для управления от микроконтроллера Ардуино и два контакта для подключения мощной электрической цепи. Схема подключения реле к Ардуино УНО, Нано или Ардуино Мега ничем не отличается:
GND — GND
VCC — 5V
In — любой цифровой порт
После сборки электрической схемы, загрузите следующий скетч в микроконтроллер. Данная программа ничем не отличается от скетча для мигания светодиода на Ардуино, мы только поменяли в скетче порт и задали большее время задержки.
Скетч для управления реле от Ардуино
void setup () { pinMode (3, OUTPUT ); // объявляем пин 3 как выход } void loop () { digitalWrite (3, HIGH ); // замыкаем реле delay (3000); // ждем 3 секунды digitalWrite (3, LOW ); // размыкаем реле delay (1000); // ждем 1 секунду }После загрузки скетча включите блок питания в цепь. Реле при этом должно устанавливаться в разрыве одного из проводов, идущего к LED ленте. Для безопасности лучше устанавливать реле в провод заземления. К минусам реле следует отнести щелчки при замыкании/размыкании контакта, поэтому для включения LED ленты и других приборов до 40 Вольт удобнее использовать транзисторы.
Видео. Управление LED лентой через реле
Реле может использоваться для создания автоматического светильника, где используется лампа накаливания 200 Вольт, а контроллер включает лампу, когда уровень освещенности в помещении станет меньше заданной величины. Также можно сделать автоматическое управление электрообогревателем в комнате.
Также часто читают:
Рано или поздно каждый задумывается о реализации автоматизированного включения и выключения различных бытовых приборов окружающих нас в повседневной жизни. Такие нагрузки, да ещё и с переменным током (АС) мы ни как не можем подключать напрямую к плате Ардуино. Поэтому для решения такой задачи существует такое устройство, как электромагнитное реле. В данной статье мы будем рассматривать уже готовый с обвязкой модуль, на котором установлено реле, готовое к простому подключению к микроконтроллеру.
Имеет на своей плате всего три пина для подключения. VCC - питание, GND - земля и IN - вывод для приема управляющего сигнала. Если на вашем модуле название выводов называются немного по-другому, думаю, догадаться что и где будет не трудно. Так же мы видим на плате два светодиода. Красный светодиод загорается, когда мы подключаем питание к модулю реле. Зеленый светодиод показывает режим срабатывания реле. Если зеленый светодиод загорелся, значит, реле замкнулось и наоборот, если потух зеленый, значит, реле разомкнулось. С другой стороны модуля мы видим клемы для подключения нагрузки.
Давай возьмем плату Ардуино. В данном случае я возьму плату Arduino Nano . Вы можете брать любую другую. И подключим обычную лампу накаливания, которая питается от сети 220V.
Как мы видим, подключение модуля реле к плате Arduino довольно простое. Вывод VCC модуля реле соединяем с пином 5V платы Arduino, а вывод GND модуля реле соединяем с выводом GND платы Ардуино. Тем самым модуль реле мы обеспечили питанием. Пин управления IN подсоединяем к выводу D2 платы Ардуино. Нагрузка, идущая от сети 220V в виде нашей лампы, подключается к модулю реле в разрыв своей цепи одного из проводов. Просто разрезаем один из проводов и один конец заводим в общий контакт COM , который всегда находится на среднем выводе. А второй конец соединяем с нормально разомкнутым контактом NO , который обычно находится сверху, если смотреть на модуль "правильно", как на картинке сверху (чтобы все цифры и надписи на самом реле были не верх ногами).
Часто клемы могут быть не подписаны, либо подписаны как на рисунке выше в виде китайских иероглифов. Это не должно вас смущать. Просто переверните модуль реле и посмотрите на него с обратной стороны.
Мы видим, что у нас есть общий контакт, нормально замкнутый и нормально разомкнутый контакты. Рисунок схемы на плате, помогает понять какой контакт замкнутый, а какой разомкнутый. К замкнутому контакту на схеме наклонена линия, то есть, притянут общий контакт. Когда мы будем подавать слабое напряжение на модуль реле , общий контакт будет замыкаться с разомкнутым контактом. Поэтому подсоединяйте именно к NO - нормально разомкнутому контакту.
Управлять модулем реле довольно просто, то же самое, что и зажигать обычный светодиод.
const int rele = 2; // Пин Arduino к которому подключен вывод IN реле void setup () { pinMode(rele, OUTPUT); // устанавливаем цифровой пин 2 в режим выхода } void loop () { digitalWrite(rele, HIGH); //включаем реле delay(3000); //пауза 3 секунды digitalWrite(rele, LOW); //выключаем реле delay(3000); //пауза 3 секунды }
Свет включается и выключается с паузой в 3 секунды. Всё это довольно скучно и хочется подключить какой-нибудь датчик для более интересного взаимодействия с электронным реле.
Свет по хлопку
Давайте сделаем так, чтобы наша лампа включалась и выключалась по хлопкам в ладоши. Для этого мы добавим в нашу схему датчик звука KY-037 .
Цифровой вывод D0 датчика звука KY-037 соединяем с цифровым выводом D5 платы Ардуино. Вывод + датчика звука соединяем с выводом 5V платы Arduino Nano. Вывод G датчика звука подводим к выводу GND (земле) платы Ардуино. То есть питаем датчик звука с тех же выводов Ардуино, с которых питаем и модуль реле. В идеале конечно различные датчики и устройства надо питать отдельно от мозгов, но ардуинка вполне без сбоев тянет реле с датчиком звука. Поэтому обойдемся минимумом проводов в ходе этой статьи.
Работу с данным датчиком звука мы уже рассматривали подробно в статье Подключение и настройка датчика звука KY-037 . Так что для большего понимания всего происходящего прочитайте обязательно эту статью. Там рассматриваются примеры кода для срабатывания датчика на включение и выключение света по одному хлопку. А так же рассматривается пример кода на включение света по двум хлопкам и выключению по одному хлопку. Здесь я выложу специально код на включение света по двум хлопкам и выключению света тоже по двум хлопкам, от части, для тех, кто не смог или не захотел немного изменить имеющийся код из предыдущей статьи.
Работа минимум в два обычных хлопка более надежна, так как случаи непредсказуемых срабатываний от побочных шумов при таком подходе практически приближаются к нулю. Каждая строчка кода прокомментирована, читайте внимательно, должно стать все ясно.
const int sensorD0 = 5; // Пин Arduino к которому подключен выход D0 датчика const int rele = 2; // Пин Arduino к которому подключено реле int releState = LOW; // Статус реле "выключен" long soundTime=0; // время первого хлопка void setup () { pinMode(rele, OUTPUT); // устанавливаем цифровой пин 2 в режим выхода } void loop () { int sensorValue = digitalRead(sensorD0); // получаем сигнал с датчика if (sensorValue == 1 && releState == LOW) //если порог громкости достигнут и реле было ВЫКЛЮЧЕНО { long diodTime=millis(); // записываем текущее время //если текущее время хлопка больше времени последнего хлопка на 100 миллисекунд //и хлопок произошел не позже чем через 1000 миллисекунд после предыдущего //считаем такой хлопок вторым УСПЕШНЫМ if((millis()>soundTime) && ((diodTime-soundTime)>100) && ((diodTime-soundTime)<1000)) { digitalWrite(rele, HIGH); // включаем реле releState = HIGH; // устанавливаем статус реле "включен" delay(100); // небольшая задержка для фильтрации помех } soundTime=millis(); //записываем время последнего хлопка } else // иначе { if (sensorValue == 1 && releState == HIGH) // если порог громкости достигнут и реле было ВКЛЮЧЕНО { long diodTime=millis(); // записываем текущее время if((millis()>soundTime) && ((diodTime-soundTime)>100) && ((diodTime-soundTime)<1000)) { digitalWrite(rele, LOW); // выключаем реле releState = LOW; // устанавливаем статус реле "выключен" delay(100); // небольшая задержка для фильтрации помех } soundTime=millis(); //записываем время последнего хлопка } } }
Всё! Хлопаем в ладоши два раза, свет включается. Хлопаем еще два раза и свет выключается. Не забываем подстроить чувствительность датчика звука. Всё про настройку есть в статье Подключение и настройка датчика звука KY-037 .
Обратите внимание, что манипулируя со строчкой if((millis()>soundTime) && ((diodTime-soundTime)>100) && ((diodTime-soundTime)<1000)) , а именно цифрами 100 и 1000 , можно добиваться срабатывание датчика на разную скорость хлопков. Например, данный пример позволяет срабатывать датчику звука на быстрые хлопки с паузой между каждым в 100 миллисекунд. Вторая цифра 1000, говорит о том, что второй хлопок не должен прийти позже, чем через 1000 миллисекунд (1 секунду). Если мы изменим, например цифру 100 на 500, то датчик будет реагировать на хлопки только с достаточной паузой между каждым. И такое решение для света по хлопку может лучше подходить в местах, где часто хлопают дверью или есть другие побочные резкие звуки, которые могут заставлять случайно срабатывать датчик звука.
Рано или поздно появляется желание поуправлять чем-то более мощным чем светодиод, либо создать нечто на подобие умного дома своими руками. В этом нам поможет такая радио деталь как реле. В данной статье рассмотрим как реле подключается к микроконтроллеру, как им управлять, а также устроим демонстрацию его работы на примере включения лампы накаливания.
Используемые компоненты (купить в Китае):
. Управляющая плата
Устройство и принцип работы реле
Рассмотрим устройство реле на широко распространенном в области Arduino реле фирмы SONGLE SRD-05VDC.
Данное реле управляется напряжением 5V и способно коммутировать до 10А 30V DC и 10A 250V AC.
Реле имеет две раздельных цепи: цепь управления, представленная контактами А1, А2 и управляемая цепь, контакты 1, 2, 3. Цепи никак не связаны между собой.
Между контактами А1 и А2 установлен металлический сердечник, при протекании тока по которому к нему притягивается подвижный якорь(2). Контакты же 1 и 3 неподвижны. Стоит отметить что якорь подпружинен и пока мы не пропустим ток через сердечник, якорь будет удерживается прижатым к контакту 3. При подаче тока, как уже говорилось, сердечник превращается в электромагнит и притягивается к контакту 1. При обесточивании пружина снова возвращает якорь к контакту 3.
Подключение модуля к Arduino
В большинстве реле модулей для Ардуино используется N-канальное управление, его мы и рассмотрим. Для примера возьмем одноканальный модуль.
Далее приведу примерную схему данного модуля. Необходимыми для управления реле являются следующие детали: резистор(R1) , p-n-p транзистор(VT1) , диод(VD1) и, непосредственно само реле(Rel1) . Оставшиеся два светодиода установлены для индикации. LED1 (красный) - индикация подачи питания на модуль, загорание LED2 (зеленый) свидетельствует о замыкании реле.
Рассмотрим как работает схема. При включении контроллера выводы находятся в высокоомном состоянии, транзистор не открыт. Так как у нас транзистор p-n-p типа, то для его открытия нужно подать на базу минус. Для этого используем функцию digitalWrite (pin, LOW ); .Теперь транзистор открыт и через управляющую цепь течет ток и реле срабатывает. Для отключения реле следует закрыть транзистор, подав на базу плюс, вызвав функцию digitalWrite (pin, HIGH );. Можно сказать что управление реле модуля ничем не отличается от управления обычным светодиодом.
Модуль имеет 3 вывода (стандарта 2.54мм):
VCC: "+" питания
GND: "-" питания
IN: вывод входного сигнала
Подключение модуля предельно просто:
VCC на + 5 вольт на Ардуино.
GND на любой из GND пинов--- ардуино.
IN на любой из цифровых входов/выходов ардуино (в примерах подсоединено к 4).
Переходим непосредственно к скетчу. В данном примере реле будет включаться и выключаться с интервалом в 2 секунды.
пример программного кода:
// Реле модуль подключен к цифровому выводу 4 int Relay = 4; void setup () { pinMode (Relay, OUTPUT ); } void loop () { digitalWrite (Relay, LOW ); // реле включено delay (2000); digitalWrite (Relay, HIGH ); // реле выключено delay (2000); }Для подключения лампы накаливания следует поставить реле в разрыв одного из проводов.
На нашем модуле контакты 1, 2, 3 расположены таким образом. Для подключения лампы накаливания следует поставить реле в разрыв одного из проводов.
Должно получиться так как показано на рисунке.
Пример включения лампы накаливания в связке с
P.S. Более дорогие модули имеют на своем борту еще и оптрон, который позволяет получить кроме развязки между управляемой и управляющей цепями реле еще и полную гальваническую развязку непосредственно между контроллером и цепью управления реле.