Вывод переключателя датчика освещённости
Часть раздела Входные сигналы путешествия по Arduino на Coddy. Урок 14 из 22.
У модуля освещённости есть собственный небольшой чип — компаратор, который сам определяет порог. Он сравнивает уровень освещённости с уровнем, заданным маленьким винтом на настоящем модуле, и управляет выводом DO: LOW, когда светло, и HIGH, когда темно. На этой плате порог соответствует половине освещённости.
DO — это цифровой сигнал, поэтому считывай его как кнопку с помощью digitalRead(). Модуль сам управляет выводом, поэтому подтягивающий резистор не нужен: достаточно обычного режима INPUT.
pinMode(7, INPUT);
if (digitalRead(7) == HIGH) {
// темно
}Чтобы выводить сообщение только при изменении освещённости, используй идею фронта из уроков о кнопках: сравни текущее показание с тем, которое было в прошлый раз.
Задание
ЛегкоВывод 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 при изменении показания
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Входные сигналы
2Аналоговые входы
Считываем показания потенциометраПеревод показаний потенциометра в вольтыПреобразование в процентыОграничение значений диапазономПороговое значение потенциометраАвтоматический ночникВывод переключателя датчика освещённостиПотренируйтесь самостоятельно: Песочница Arduino