Menu
CoddyTech

Измеритель освещённости

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

В этом уроке мы объединяем всё в одну схему: измеритель освещённости, который выводит уровень света в процентах и отображает его на полоске из трёх светодиодов, как индикатор уровня сигнала на телефоне.

Разбей задачу на функции, каждая из которых выполняет одну задачу, чтобы loop() читалась как описание:

void loop() {
  int percent = lightPercent();
  showLevel(percent);
  // вывести процент
}

lightPercent() считывает показания с модуля освещённости через AO и возвращает значение от 0 (темно) до 100 (светло). Значение AO уменьшается при усилении освещения, поэтому выполняй обратное преобразование: map(reading, 0, 1023, 100, 0) преобразует 1023 в 0, а 0 — в 100.

showLevel(int percent) задаёт для каждого светодиода индикатора свой порог: первый загорается при значении выше 25, второй — выше 50, третий — выше 75. Для каждого нужен свой else, чтобы индикатор снова уменьшался, когда свет тускнеет.

challenge icon

Задание

Средне

Вывод AO модуля освещённости подключён к A0, а светодиоды шкалы — к контактам 10, 11 и 12:

  • int lightPercent(): 0 в темноте, 100 при ярком свете
  • void showLevel(int percent): контакт 10 загорается при значении выше 25, контакт 11 — выше 50, контакт 12 — выше 75
  • в loop() вызови обе функции, выведи процент и подожди 200 мс

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

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

const int lowPin = 10;
const int midPin = 11;
const int highPin = 12;

// напишите здесь int lightPercent()

// напишите здесь void showLevel(int percent)

void setup() {
  pinMode(lowPin, OUTPUT);
  pinMode(midPin, OUTPUT);
  pinMode(highPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // считайте уровень освещённости в процентах, отобразите его на индикаторе, выведите его, подождите 200 ms
}
quiz iconПроверьте себя

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

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

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