Ардуино включение реле. Результат скетча на видео. Схема подключения реле к Arduino UNO

Подключение модуля реле к Ардуино потребуется, если вы решите управлять с помощью микроконтроллера мощной нагрузкой или переменным током. Модуль реле 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 Вольт, а контроллер включает лампу, когда уровень освещенности в помещении станет меньше заданной величины. Также можно сделать автоматическое управление электрообогревателем в комнате.

Также часто читают:

Всем привет! Всё, что мы изучали до недавнего времени, были «учебными задачами». Пришло время поставить более серьёзную.

Микроконтроллер (далее – МК) может успешно управлять различными нагрузками (потребителями электроэнергии). Однако выполнять данные операции напрямую он не может. Поскольку напряжение, что протекает в сети на порядки отличается от напряжения, что в состоянии «выдать» МК.

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

  • подключение реле к МК (в нашем случае плата Arduino);
  • управление релейным модулем;
  • управление реальным потребителем электроэнергии;

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

Перед тем, как переходит непосредственно к работе с релейным модулем, рассмотрим из чего состоит реле и как оно работает.

Управление модулем, на котором установлено реле осуществляется при помощи постоянного напряжения 5В. Модуль способен коммутировать 300 Вт (30В, 10А постоянки) и 2500 Вт (250В, 10А переменки).

Само реле состоит из двух цепей, что не связаны друг с другом. Первая цепь (управляющая) выводы А1, А2. Вторая цепь (управляемая) выводы 1, 2, 3.

Конструкция управляющей цепи следующая: между выводами А1 и А2 находится металлический сердечник, к которому в момент протекания по нему тока притягивается подвижный якорь 2. Выводы 1 и 3 неподвижны. Якорь фиксируется пружинной. В момент, когда ток не течёт по сердечнику, якорь прижат к контакту 3. Когда цепь замыкается и начинает протекать ток, якорь притягивается к контакту 1 и в этом момент звучит характерный «щелчок». После разрыва цепи пружина возвращает якорь на исходную позицию.

В качестве рабочего образца у меня имеется одноканальный релейный модуль.

Контакты в реле делятся на два типа:

  • нормально закрытый (НЗ) (пара 1-2);
  • нормально открытый (НО) (пара 2-3).

По условию НЗ разомкнут (не звонится мультиметром накоротко), а НО замкнут (звонится мультиметром накоротко). Подключаем разрыв фазы на нормально закрытую пару контактов.

Индикация:

  • Красный светодиод извещает пользователя о том, что на модуль подано питание;
  • Зеленый светодиод извещает пользователя о том, что реле замкнуто.

Принцип работы модуля.

В момент, когда мы включаем МК, его выводы находятся в высокоимпедансном состоянии (очень большое сопротивление), соответственно транзистор закрыт. Для открытия транзистора необходимо подать низкий уровень сигнала, иными словами 0 (касается транзистора p-n-p типа). После этого транзистор открывается и через первую (управляющую) цепь начинает протекать ток, в этот момент мы слышим характерный «щелчок». Чтобы выключить реле, нужно подать высокий уровень сигнала на транзистор.

Распиновка выводов модуля:

  • VCC — «+» питание;
  • GND — «-» земля;
  • IN — входной сигнал, что «рулит» релюшкой.

Подключаем релюшку к Arduino :

  • VCC «кидаем» на вывод 5В платы arduino.
  • GND «кидаем» на один из выводов GND платы arduino.
  • IN «кидаем» на 13 вывод платы arduino.

Для того, чтобы подключить потребитель электроэнергии (в моём случаем лампочку накаливания) реле ставим в разрыв одной из жил провода (ставить следует на фазу).

Испытательный стенд состоит из трёх частей:

  • Линия питания;

Цифровые пины на Arduino могут принимать значения high или low. Именно это свойство используется для управления большинством внешних двигателей, датчиков и т.п.

Но иногда возникают ограничения, связанные с тем, что устройсва требуют большие токи, чем может предоставить Arduino. Судя по спеку, платы Arduino предоставляют нам в распоряжение всего лишь 20 мА.

Если вы слишком часто будете работать с токами, которые превышают эти рекомендации, у вас не толь будет ненадежная электрическая цепь, но можно повредить и ваш контроллер Arduino.

Вместо этого вам надо подключать необходимую силу тока. Один из вариантов - использовать реле. Кроме этого, порой вам понадобятся и транзисторы, например, TIP122, который рассмотрен в этой статье.

Необходимые узлы

Основное преимущество данного подхода: его дешевизна.

Транзистор TIP122 можно найти в любом магазине радиотехнических деталей или заказать на Aliexpress, eBay.

Автоматические реле можно купить там же.

Описание транзистора TIP122 и его распиновка

TIP122 - это биполярный транзистор. То есть для базы надо обеспечить большее позитивное напряжение, чем на эмиттере, что позволит току поступать от эмиттера к коллектору. Расположение базы, эмиттера и коллектора TIP122 показаны на рисунке ниже.

Главное, что надо помнить об этом транзисторе - то, что он позволяет протекать току в 5 А от эмиттера через коллектор и 120 мА от эмиттера через базу.

Также очень круто то, что вы можете получить разницу в 100 В между коллектором и эмиттером и 100 вольт между коллектором и базой.

Не чересчур ли это? Для большинства проектов на Arduino - действительно чересчур. Но при этом они дешевые и когда появляется новая идея, не приходится заморачиваться и подбирать нужный транзистор, так как этот наверняка подойдет. Когда проект или конструкция апробирована, можно оптимизировать уже после тестового образца.

Автоматическое реле Bosch Cube. Распиновка и описание

Эти реле могут обеспечивать различные напряжения и силу тока. То реле, о котором пойдет речь дальше обеспечивает напряжение 12 В и силу тока 20/30 А. То есть, при замкнутых контактах сила тока составляет 20А, при разомкнутых - 30 А.

Кроме того, на моем реле сопротивление катушки примерно равно 95 Ом.

Сила тока, которая нужна для катушки гораздо больше чем та, которую может предоставить Arduino, но ее становится вполне достаточно после использования транзистора TIP122, который выдает 5 А.


Схема и описание подключения Arduino, TIP122 и реле

На электросхеме, которая приведена ниже, выход high D0 подключен к базе TIP122 и благодаря этому ток может проходить к пину 86 на реле. Благодаря этому подается питание на реле и в нем замыкаются контакты 30 и 87. После этого вы можете запитывать любое ваше внешнее устройство.


Пояснения к использованию и программа для Arduino, TIP122 и автоматического реле

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

Схема подключения соответствует той, которую мы рассмотрели выше. Ниже представлен ее более наглядный вариант.


Скопируйте, вставьте скетч в Arduino IDE и загрузите его на Arduino.

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

// Тест: TIP122 и Arduino

int nRelayDrive = 0; // пин 0 у нас для управления реле

pinMode(nRelayDrive, OUTPUT); // объявляем реле в качестве выхода

digitalWrite(nRelayDrive, LOW); // включаем реле

digitalWrite(nRelayDrive, HIGH); // отключаем реле

Проверка

Отключите ваш USB кабель от персонального компьютера и подключите внешний источник питания к Arduino и реле. Дайте вашему миикроконтроллеру время для перезагрузки. Если все было сделано правильно, вы должны услышать характерный клик реле, которое будет замыкать и размыкать контакт через каждые две секунды.

P.S. В данном проекте в качестве источника питания использовался аккумулятор от машины на 12 Вольт, но можно использовать и другой.

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Подключить на прямую к Arduino мощную нагрузку, например лампу освещения или электронасос не получится. Микроконтроллер не обеспечивает необходимую мощность, для работы такой нагрузки. Ток, который может протекать через выходы Arduino, не превышает 10-15 мА. На помощь приходит реле, с помощью которого можно коммутировать большой ток. К тому же, если нагрузка питается от переменного тока, например 220v, то без реле ни как вообще не обойтись. Для подключения мощных нагрузок к Arduino через реле, обычно используют реле модули.

В зависимости от количества коммутируемых нагрузок, применяют одно-, двух-, трёх-, четырёх- и более канальные реле модули.

Свои, одно и четырёх канальные модули, я купил на Aliexpress, за $ 0,5 и $ 2.09 соответственно.

Устройство реле модуля для Arduino, на примере 4-х канального модуля HL-54S V1.0.

Рассмотрим более детально устройство данного модуля, по данной схеме обычно строятся все многоканальные модули.

Принципиальная схема модуля .

Для защиты выводов Ардуино от скачков напряжения в катушке реле, применяется транзистор J3Y и оптрон 817C. Обратите внимание, сигнал с пина In подаётся на катод оптрона. Это значит, для того что бы реле замкнуло контакты, нужно подать на пин In логический 0 (инвертированный сигнал).

Так же бывают модули, у которых сигнал с пина In подаётся на анод оптрона. В таком случае, нужно подать логическую 1 на пин In , для срабатывания реле.

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

В данном случае используются электромеханические реле Songle SRD-05VDC-SL-C , имеющее следующие характеристики:

Рабочее напряжение: 5 В
Рабочий ток катушки: 71 мА
Максимальный коммутируемый ток: 10А
Максимальное коммутируемое постоянное напряжение: 28 В
Максимальное коммутируемое переменное напряжение : 250 В
Рабочий температурный режим: от -25 до +70°C

Реле Songle SRD-05VDC-SL-C имеет 5 контактов. 1 и 2 питание реле. Группа контактов 3 и 4 представляют из себя нормально разомкнутые контакты (NO ), группа контактов 3 и 5 - нормально замкнутые (NC ).

Подобные реле бывают на различные напряжения: 3, 5, 6, 9, 12, 24, 48 В. В данном случае используется 5-вольтовый вариант, что позволяет питать реле-модуль непосредственно от Arduino.

На плате имеется перемычка (JDVcc ), для питания реле либо от Arduino, либо от отдельного источника питания.

Пинами In1 , In2 , In3 , In4 модуль подключается к цифровым выводам Arduino.

Подключение реле модуля HL-54S V1.0 к Arduino.

Поскольку у нас модуль с 5-вольтовыми реле, подключим его по такой схеме, питание возьмём от самой Ардуино. В примере подключу одно реле, в качестве нагрузки буду использовать лампочку на 220 в.

Для питания реле модуля от Arduino, перемычка должна замыкать пины «Vcc » и «JDVcc », обычно по-умолчанию она там и установлена.

Если у вас реле не на 5 вольт, питать от Ардуино модуль нельзя, питание нужно брать от отдельного источника.

Нижеприведённая схема показывает, как подключить питание модуля от отдельного источника. По такой схеме нужно подключать реле, рассчитанное на питание от более или менее чем 5 В. Для 5-вольтовых реле эта схема так же будет более предпочтительная.

При таком подключении нужно убрать перемычку между пинами «Vcc » и «JDVcc ». Далее пин «JDVcc » подключить к «+ » внешнего источника питания, пин «Gnd » подключить к «- » источника питания. Пин «Gnd », который в предыдущей схеме подключался к пину «Gnd » Ардуино, в данной схеме не подключается. В моём примере, внешний источник питания 5 В, если ваше реле рассчитано на другое напряжение (3, 12 ,24 В), выбираете соответствующее внешнее питание.

Скетч для управления реле модулем через Ардуино.

Зальём в Ардуино скетч, который будет сам включать и отключать лампочку (мигалка).

int relayPin = 7;

void setup() {
pinMode(relayPin, OUTPUT);
}

void loop() {
digitalWrite(relayPin, LOW);
delay(5000);
digitalWrite(relayPin, HIGH);
delay(5000);
}

В строке int relayPin = 7; указываем номер цифрового пина Arduino , к которому подключали пин In1 реле модуля. Можно подключить на любой цифровой пин и указать его в этой строке.

В строке delay(5000); можно менять значение времени, при котором лампочка будет гореть и при котором будет погашена.

В строке digitalWrite(relayPin, LOW); указано, при подаче логического нуля (LOW ), реле-модуль замкнёт контакты и лампочка будет гореть.

В строке digitalWrite(relayPin, HIGH); указано, при подаче логической единицы (HIGH ), реле-модуль разомкнёт контакты и лампочка погаснет.

Как видим, в строке digitalWrite(relayPin, LOW); оставили параметр LOW . Если реле замкнёт контакты и лампочка загорится, значит на пин In1 вам нужно подавать логический нуль, как и у меня. Если лампочка не загорится, зальём скетч, в котором заменим параметр LOW на HIGH.


Результат скетча на видео.

Теперь давайте добавим в схему тактовую кнопку и при нажатии на неё, реле-модуль будет включать лампочку.

Кнопку подключаем вместе с подтягивающим резистором на 10к, который не позволит внешним наводкам влиять на работу схемы.

Заливаем скетч

В строкеif(digitalRead(14)==HIGH) задаём номер цифрового пина, на котором подключена кнопка. Подключать можно на любой свободный. В примере эта аналоговый пин A0 , его же можно использовать в качестве цифрового 14 пина.

В строке delay(300); задаётся значение в миллисекундах. Это значение указывает, через какое время после нажатия или отпускание кнопки, нужно производить действия. Это защита от дребезга контактов.

Для информации! Все аналоговые входы от A0 (нумеруется как 14) до A5 (19), можно использовать как цифровые ( Digital PWM ).

В заключении результат выполнения скетча на видео.

Более дешёвые реле-модули могут не содержать в своей схеме оптрона, как например в моём случае с одноканальным модулем.



Схема одноканального реле-модуля . Производитель сэкономил на оптроне, из-за чего Ардуино плата лишилась гальванической развязки. Для работы такой платы, на пин In нужно подавать логический нуль.

Подключение реле модуля к Arduino Due.

Arduino Due работает от 3,3 вольт, это максимальное напряжение, которое может быть на его вводах / выводах. Если будет более высокое напряжение, плата может сгореть.

Возникает вопрос, как подключить к реле модуль?

Убираем перемычку JDVcc. Подключаем пин «Vcc » на плате реле модуля к пину «3,3V » Arduino. Если реле рассчитано на 5 вольт, соединяем пин «GND » платы реле модуля, с пином «GND » Arduino Due. Пин «JDVcc » подключаем к пину «5V » на плате Arduino Due. Если реле рассчитано на другое напряжение, то питание к реле подключаем как на рисунке, в примере это 5 вольт. Если у вас многоканальный реле модуль, пожалуйста проверьте что бы «JDVcc » подключен к одной стороне всех реле. Оптопара активируется сигналом 3,3 В, которая в свою очередь активирует транзистор, используемый для включения реле.

Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино

Рано или поздно каждый задумывается о реализации автоматизированного включения и выключения различных бытовых приборов окружающих нас в повседневной жизни. Такие нагрузки, да ещё и с переменным током (АС) мы ни как не можем подключать напрямую к плате Ардуино. Поэтому для решения такой задачи существует такое устройство, как электромагнитное реле. В данной статье мы будем рассматривать уже готовый с обвязкой модуль, на котором установлено реле, готовое к простому подключению к микроконтроллеру.

Имеет на своей плате всего три пина для подключения. 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, то датчик будет реагировать на хлопки только с достаточной паузой между каждым. И такое решение для света по хлопку может лучше подходить в местах, где часто хлопают дверью или есть другие побочные резкие звуки, которые могут заставлять случайно срабатывать датчик звука.