Menu
CoddyTech

Вывод переключателя датчика освещённости

Часть раздела Входные сигналы путешествия по Arduino на Coddy. Урок 14 из 22.

У модуля освещённости есть собственный небольшой чип — компаратор, который сам определяет порог. Он сравнивает уровень освещённости с уровнем, заданным маленьким винтом на настоящем модуле, и управляет выводом DO: LOW, когда светло, и HIGH, когда темно. На этой плате порог соответствует половине освещённости.

DO — это цифровой сигнал, поэтому считывай его как кнопку с помощью digitalRead(). Модуль сам управляет выводом, поэтому подтягивающий резистор не нужен: достаточно обычного режима INPUT.

pinMode(7, INPUT);

if (digitalRead(7) == HIGH) {
  // темно
}

Чтобы выводить сообщение только при изменении освещённости, используй идею фронта из уроков о кнопках: сравни текущее показание с тем, которое было в прошлый раз.

challenge icon

Задание

Легко

Вывод DO модуля подключён к выводу 7, а светодиод — к выводу 13:

  • установите вывод 7 в режим INPUT
  • зажигайте светодиод, пока DO имеет значение HIGH (темно), иначе выключайте его
  • при изменении показаний выводите Dark или Bright

Нажмите Run, переместите ползунок освещённости в обе стороны за середину, затем нажмите Check.

Попробуйте сами

const int sensorPin = 7;
const int ledPin = 13;

int lastDark = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  // установите режим вывода датчика на INPUT
}

void loop() {
  // считайте значение с DO, включите LED в темноте
  // выведите Dark или Bright при изменении показания
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Входные сигналы

Потренируйтесь самостоятельно: Песочница Arduino