Использование светозависимого датчика с Ардуино

Простой проект с использованием Ардуино, который автоматически включает свет, когда датчик LDR зафиксировал сумерки. LDR сенсор на английском звучит как Light Dependent resistor, что в переводе означает "светозависимый резистор".

Неправда ли, было бы интересно иметь под рукой устройство, которое включает свет при наступлении сумерок? Цель нашего проекта сделать именно такое устройство.

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

Чтобы обнаружить интенсивность света или темноты, мы используем датчик, называемый LDR (резистор, зависящий от света или светозависимый резистор). LDR - это особый тип резистора, который позволяет пропускать через себя более высокие напряжения (низкое сопротивление), когда есть высокая интенсивность света, и пропускает низкое напряжение (высокое сопротивление), когда слабая интенсивность света. Мы можем воспользоваться этим свойством LDR и использовать его в нашем проекте Ардуино.

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

Эта система работает, измеряя интенсивность света в окружающей среде. Датчик, который может использоваться для обнаружения света, является LDR. Он недорогой, и вы можете купить его в любом местном магазине электроники или в Интернете.

LDR выдает аналоговое напряжение при подключении к VCC (5V), которое изменяется по величине прямо пропорционально интенсивности входного света на нем. То есть, чем больше интенсивность света, тем больше будет соответствующее напряжение от LDR. Поскольку LDR выдает аналоговое напряжение, он подключается к выходу аналогового входа на Arduino. Arduino со встроенным АЦП (аналого-цифровым преобразователем) преобразует аналоговое напряжение (от 0-5 В) в цифровое значение в диапазоне от 0 до 1023. Когда в окружающей среде или на ее поверхности достаточно света, преобразованные цифровые значения, считываемые из LDR через Arduino, будут находиться в диапазоне 800-1023.

 

Кроме того, мы запрограммируем Ардуино на включение реле. Соответственно, реле заставит включиться лампочку при слабой интенсивности света (например, вы покроете датчик LDR полотенцем или чем-то еще), то есть когда цифровые значения считаются в более высоком диапазоне, чем обычно.

Соединение Arduino и LDR датчика

Во-первых, вам необходимо подключить LDR к выходу 0 аналогового входа на Arduino. Для этого вам нужно использовать конфигурацию делителя напряжения. Схема подключения для Arduino приведена ниже.

Одна нога LDR соединена с VCC (5V) на Arduino, а другая с аналоговым выводом 0 на Arduino. Резистор 100K также подключен к одной и той же ноге и заземлен.

Тестирование кода для датчика Arduino LDR

После подключения LDR к Arduino вы можете проверить значения, поступающие из LDR через Arduino. Для этого подключите Arduino через USB к компьютеру и откройте программное обеспечение Arduino IDE. Затем вставьте этот код и загрузите его в Arduino:

После загрузки кода нажмите кнопку на Arduino IDE под названием «Последовательный монитор» (Serial Monitor). Это откроет новое окно, которое печатает на экране различные значения. Теперь, проверьте датчик, закрыв его поверхность от света и посмотрите, какие значения показывает серийный монитор. Вот как выглядит последовательный монитор:

Подключение реле к Arduino

Реле представляет собой электромеханический выключатель. Он может использоваться для включения / выключения устройства в режиме AC / DC. Когда Arduino подает на реле высокое напряжение (5 В), он включает его (переключатель включен), в противном случае он остается выключенным.

В этом проекте мы использовали реле 5D SPDT (single pole double throw - один полюс, два направления). Одна клемма катушки реле соединена с цифровым выводом 2 Arduino, а другая с землей GND. Мы также подключили лампочку. Поскольку мы имеем дело с напряжением переменного тока большой мощности, обязательно соблюдайте надлежащие меры предосторожности. Общая схема показана ниже:

Скетч для Ардиуно

После подключения Ардуино, как показано выше, нам нужно проверить его, загрузив финальный код. Окончательный эскиз ниже:

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

Смотрите больше интересного ↓