Подключение фоторезистора к плате Ардуино
Этот урок посвящён подключению Фоторезистора к плате Ардуино Нано.
Мы продолжаем курс обучения Ардуино для начинающих.
и посмотреть видео на канале YouTube
Фоторезистор — полупроводниковый прибор, изменяющий величину своего сопротивления при попадании на него света. Чем ярче свет, тем меньше сопротивление.
Технические характеристики
- Фоторезистор модель: GL5506
- Максимальное напряжение: 150 Вольт
- Максимальная потребляемая мощность: 100 мВт
- Температура окружающей среды (° C): -30 … +70
- Спектральная чувствительность: 540 нм
- Световое сопротивление (10Lux): 2-5 кОм
- Темновое сопротивление: 0,2 мОм = 200 кОм
- Время отклика мин-макс: 20-30 мс
- Размеры: 5.0х4.3 мм
Преимущества и недостатки
Преимущества
Они маленькие, недорогие, мало энергозатратные, легки в использовании, практически не подвержены износу.
Недостатки
Главный недостаток – это чувствительность к спектру. В зависимости от спектра падающего света сопротивление меняется очень сильно.
Низкая скорость реакции на изменение освещённости, так же очень сильный недостаток. При мигании света датчик просто не успевает среагировать. При большой частоте мигания, фоторезистор вообще не сработает.
Подключение
Фоторезистор работает по схеме делителя напряжения с дополнительным сопротивлением. Одно плечо изменяется от уровня освещённости, второе – подаёт напряжение на аналоговый вход. В Arduino – это напряжение преобразуется в цифровые данные через АЦП (Аналогово-Цифровой Преобразователь). Подключается к аналоговому порту Arduino. Для измерения значений уровня освещенности или к цифровому, если нужно определить лишь наличие или отсутствие света.
В зависимости от того, подключен фоторезистор (к плюсу или земле) будет подаваться повышенное или уменьшенное напряжение.
Если вывод фоторезистора подключена к земле, то максимальное значение напряжения будет соответствовать темноте, а минимальное – освещённости.
При подключении к + питания, значения изменятся на противоположные.
Меняя значение резистора, мы можем устанавливать значение чувствительности в «темную» или «светлую» сторону.
10 кОм даст быстрое переключение наступления света.
1 кОм более точно определяет высокий уровень освещенности.
Можно поставить переменный резистор и настроить точное значения срабатывания.
Схема делителя напряжения включает в себя входной источник напряжения и два резистора.
Пример работы делителя напряжения на фоторезисторе.
Допустим, сопротивление фоторезистора изменяется от 1 кОм (при освещении) и до 10 кОм (при полной темноте). Если мы дополним схему постоянным сопротивлением примерно 5,6 кОм, то мы можем получить широкий диапазон изменения выходного напряжения при изменении освещенности фоторезистора.
Необходимые компоненты
- Фоторезистор GL5506
- Arduino Nano
- Резистор 1–10 кОм (или переменный для настройки)
- Провода, макетная плата
Подключение
- Один вывод фоторезистора: к 5V Arduino.
- Другой вывод: к аналоговому пину (A0) и резистору.
- Резистор: от A0 к GND Arduino.
- Для инверсии сигнала подключите фоторезистор к GND, резистор к 5V.
Как это работает
- Свет уменьшает сопротивление фоторезистора (Rldr).
- Делитель напряжения формирует Vout на A0: Vout = 5V × Rfixed / (Rldr + Rfixed).
- analogRead преобразует Vout в значение 0–1023.
- Настройте Rfixed (1–10 кОм) для оптимального диапазона.
Пример кода
// Полное чтение фоторезистора с выводом уровня
const int ldrPin = A0;
const int threshold = 500; // Порог для свет/темнота
void setup() {
Serial.begin(9600);
}
void loop() {
int value = analogRead(ldrPin);
Serial.print("Значение освещённости: ");
Serial.println(value);
if (value > threshold) {
Serial.println("Светло!");
} else {
Serial.println("Темно!");
}
delay(500);
}
Разбор кода
Считывает аналоговое значение с фоторезистора, подключённого к пину A0.Выводит текущее значение освещённости в Serial Monitor.
Сравнивает значение с порогом threshold = 500 и определяет состояние: «Светло» или «Темно».
Обновляет данные каждые 500 мс с помощью delay(500).
Заключение
Подключение фоторезистора GL5506 к Arduino Nano через схему делителя напряжения позволяет точно измерять уровень освещённости или определять наличие света. Экспериментируйте с резистором для оптимальной чувствительности, используйте переменный для тонкой настройки. Это простой и эффективный способ добавить светочувствительность в ваши проекты!
FAQ — Подключение фоторезистора к Arduino
Что делает фоторезистор в Arduino-схеме?
Фоторезистор изменяет своё сопротивление в зависимости от освещённости. Чем ярче свет — тем меньше сопротивление, и Arduino считывает изменение уровня напряжения на аналоговом входе.
Как подключить фоторезистор к Arduino Nano?
Один вывод подключается к 5V, второй — к A0 и резистору. Резистор соединяется с GND. Это создаёт делитель напряжения. Для инверсии сигнала поменяйте местами фоторезистор и резистор относительно питания и земли.
Зачем нужен резистор 1–10 кОм?
Резистор формирует вторую часть делителя напряжения. Его номинал задаёт чувствительность: около 10 кОм — лучше реагирует на тёмные условия, около 1 кОм — подходит для яркого света. Можно использовать переменный резистор для настройки.
Какое значение возвращает analogRead?
Функция возвращает значение в диапазоне 0–1023. Большее значение обычно соответствует яркому свету, если фоторезистор подключён к 5V, и наоборот, если он подключён к GND.
Можно ли определять просто свет или темноту?
Да, можно сравнивать считанное значение с порогом и переключать состояния. Такой режим удобен для автоматического освещения или ночных датчиков.
Какой главный недостаток фоторезистора?
Главный минус — низкая скорость реакции: он не успевает быстро реагировать на частые изменения света. Также сопротивление сильно зависит от спектра освещения.
Можно ли использовать GL5506 для измерения точной освещённости?
Для точных измерений лучше применять специализированные цифровые датчики освещённости вроде BH1750. Фоторезистор больше подходит для простых автоматизаций и проектов начинающих.