Подключение фоторезистора к Arduino

Датчик освещённости

Фоторезистор к Arduino подключают в делитель напряжения с резистором 10 кОм: напряжение с середины читается аналоговым входом A0–A5 (значения 0–1023).

Схема подключения фоторезистора к Arduino

ФоторезисторArduino Uno
AOA0
VCC5V
GNDGND

Схема из примера «Arduino Uno: ночник с гистерезисом».

Arduino Uno: ночник с гистерезисом

Открыть пример целиком

Выводы Фоторезистор

ВыводНазначение
AOаналоговый выход — средняя точка делителя
DOцифровой выход компаратора: порог задаёт подстроечный резистор на модуле
VCCпитание делителя
GNDобщий провод

Код для Arduino

// Ночник: темнее порога — включить, светлее — выключить.
//
// Порогов два, и это не перестраховка. С одним порогом на границе
// освещённости выход щёлкает при каждом дрожании последнего разряда:
// 499 — включили, 501 — выключили, 499 — включили. Реле в такой схеме
// живёт неделю.
//
// Гистерезис — это разные пороги на включение и на выключение. Между
// ними не происходит ничего, и попасть в эту зону дрожанием нельзя:
// она шире дрожи.
//
// Крутите ползунок освещённости на детали, чтобы это увидеть.

const int LDR = A0;
const int LED = 8;

const int DARK = 400;    // темнее этого — включаем
const int LIGHT = 600;   // светлее этого — выключаем

bool lit = false;

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int level = analogRead(LDR);

  if (!lit && level < DARK) {
    lit = true;
    Serial.println("стемнело — включаю");
  } else if (lit && level > LIGHT) {
    lit = false;
    Serial.println("рассвело — выключаю");
  }

  digitalWrite(LED, lit);

  Serial.print("light:");
  Serial.println(level);
  delay(200);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на Arduino

Частые ошибки при подключении к Arduino

Другие детали для Arduino