Светозависимый резистор — датчик LDR с ESP32 с использованием Arduino IDE

Svetozavisimyj Rezistor Datcik Ldr S Esp32 S Ispol Zovaniem Arduino Ide



ESP32 — это мощный микроконтроллер, оснащенный функциями для IoT. ESP32 с LDR может измерять интенсивность света и запускать реакцию в соответствии с ней. Используя ESP32 и LDR, мы можем создать проект на основе дистанционного зондирования света и разработать множество инновационных решений IoT для различных отраслей и приложений.

В этом руководстве будут рассмотрены основы LDR и его приложений с ESP32.







1: Введение в датчик LDR



2: Применение LDR с ESP32



3: Взаимодействие LDR с ESP32 с помощью Arduino IDE





Заключение

1: Введение в датчик LDR

А л свет Д зависимый р Резистор (LDR) — это тип резистора, который изменяет свое сопротивление в зависимости от интенсивности света, которому он подвергается. В темноте его сопротивление очень велико, а при ярком свете сопротивление очень низкое. Это изменение сопротивления делает его лучшим для проектов по обнаружению света.




Аналоговые контакты ESP32 преобразуют входящие напряжения в целое число от 0 до 4095. Это целочисленное значение сопоставляется с аналоговым входным напряжением от 0 В до 3,3 В, которое по умолчанию является опорным напряжением АЦП в ESP32. Это значение считывается с помощью Arduino. аналоговоеЧтение() функция от LDR.

Для более подробного руководства и распиновки АЦП ESP32 прочитайте статью АЦП ESP32 — считывание аналоговых значений с помощью Arduino IDE .


ESP32 имеет встроенный аналого-цифровой преобразователь (АЦП), который может измерять напряжение на LDR и преобразовывать его в цифровой сигнал, который может обрабатываться микроконтроллером. Используя этот сигнал, ESP32 определяет сопротивление LDR, которое пропорционально интенсивности света.

Здесь мы будем использовать контакты канала 1 АЦП ESP32.


Фотоны или частицы света играют решающую роль в работе LDR. Когда свет падает на поверхность LDR, фотоны поглощаются материалом, что затем освобождает электроны в материале. Количество свободных электронов прямо пропорционально интенсивности света, и чем больше освобождается электронов, тем ниже становится сопротивление LDR.

2: Применение LDR с ESP32

Ниже приведен список некоторых IoT-приложений LDR с ESP32:

    • Переключатель с активированным светом
    • Индикатор уровня освещенности
    • Ночной режим в устройствах
    • Световые системы безопасности
    • Умные системы освещения
    • Светочувствительные системы безопасности
    • Мониторинг растений
    • Энергоэффективное освещение
    • Автоматические жалюзи

3: Взаимодействие LDR с ESP32 с помощью Arduino IDE

Чтобы использовать LDR с ESP32, нам нужно подключить LDR к выводу канала ADC ESP32. После этого необходим код Arduino, который будет считывать аналоговые значения с выходного контакта LDR. Для разработки этой схемы нам понадобится LDR, резистор и плата ESP32.

LDR и резистор соединены последовательно, LDR подключен к аналоговый канал 1 входной контакт ESP32. В схему будет добавлен светодиод, который может проверить работу LDR.

3.1: Схема

Принципиальная схема интерфейса LDR с ESP32 довольно проста. Нам нужно подключить LDR и резистор в конфигурации делителя напряжения и соединить выход делителя напряжения с контактом ADC (аналого-цифровой преобразователь) ESP32. Контакт D34 канала 1 АЦП используется как аналоговый вход для ESP32.

Следующее изображение представляет собой схему ESP32 с датчиком LDR.

3.2: Код

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

интервал LDR_Val = 0 ; /* Переменная для хранения значения фоторезистора */
внутренний датчик = 3. 4 ; /* Аналоговый вход для фоторезистор */
инт вел '=' 25 ; /* Выходной контакт светодиода */
недействительная установка ( ) {
Серийный.начало ( 9600 ) ; /* Скорость передачи данных для последовательная связь */
    контактный режим ( светодиод, ВЫХОД ) ; /* Светодиодный контакт набор как выход */
}
пустая петля ( ) {
LDR_Val = аналоговое чтение ( датчик ) ; /* Аналоговый читать значение LDR */
Серийный.печать ( 'Выходное значение LDR: ' ) ;
Серийный.println ( LDR_Val ) ; /* Отображение выходного значения LDR на последовательном мониторе */
если ( LDR_Val > 100 ) { /* Если интенсивность света ВЫСОКАЯ */
Серийный.println ( ' Высокая интенсивность ' ) ;
цифровойЗапись ( светодиодный, НИЗКИЙ ) ; /* Светодиод остается выключенным */
}
еще {
/* Еще если Интенсивность света НИЗКАЯ, светодиод остается включенным */
Серийный.println ( 'Низкая интенсивность ' ) ;
цифровойЗапись ( светодиод, ВЫСОКИЙ ) ; /* Светодиод Включите Значение LDR меньше чем 100 */
}
задерживать ( 1000 ) ; /* Считывает значение после каждого 1 сек */
}


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

Первые три строки кода объявляют переменные для хранения значение фоторезистора , аналоговый пин для фоторезистора и ВЕЛ выходной пин.

в настраивать() последовательной связи инициируется со скоростью 9600 бод, а светодиодный контакт D25 устанавливается в качестве выхода.

в петля() функция, значение фоторезистора считывается с помощью функции AnalogRead(), которая хранится в LDR_Val переменная. Затем значение фоторезистора отображается на последовательном мониторе с помощью функции Serial.println().

Ан если еще оператор используется для управления светодиодом на основе интенсивности света, обнаруженной фоторезистором. Если значение фоторезистора больше 100, это означает, что интенсивность света ВЫСОКАЯ, а светодиод остается выключенным. Однако, если значение фоторезистора меньше или равно 100, это означает, что интенсивность света НИЗКАЯ, и светодиод включается.

Наконец, программа ждет 1 секунду, используя функцию delay(), прежде чем снова считать значение фоторезистора. Этот цикл повторяется бесконечно, заставляя светодиод включаться и выключаться в зависимости от интенсивности света, определяемой фоторезистором.

3.3: Выход при тусклом свете

Интенсивность света меньше 100, поэтому светодиод остается включенным.

3.4: Выход при ярком свете

По мере увеличения интенсивности света значение LDR будет увеличиваться, а сопротивление LDR будет уменьшаться, поэтому светодиод выключится.

Заключение

LDR может быть связан с ESP32 с помощью контакта 1 канала ADC. Выход LDR может управлять светочувствительностью в различных приложениях. Благодаря своей низкой стоимости и компактным размерам ESP32 и LDR являются привлекательным выбором для проектов IoT, которым требуются возможности распознавания света. Использование Ардуино аналоговоеЧтение() мы можем читать значения из LDR.