Датчик внешней освещенности с фоторезистором и светодиодной подсветкой!
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 2 | |||
![]() |
| × | 1 | |||
![]() |
| × | 2 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Приложения и онлайн-сервисы
![]() |
| |||
![]() |
|
Об этом проекте
Я уже некоторое время использую Arduino и решил, что пора разработать свой собственный проект с нуля. Я изменил некоторые схемы, которые нашел в Интернете от Alex Glow и Joe Coburn, чтобы они лучше подходили для этого проекта. Пожалуйста, если вы обнаружите какие-либо проблемы или думаете, что нашли что-то, что работает лучше, чем мой дизайн, оставьте комментарий ниже, и я свяжусь с вами.
Электропроводка
У меня есть фоторезистор, подключенный к аналоговому выводу 0 (подойдет любой аналоговый вывод), и 5 В на правой стороне макета. Он проходит через заземленный резистор сопротивлением 1 кОм. Я подключил светодиод (любого цвета) на противоположной стороне макета к цифровому контакту 13 (подойдет любой цифровой контакт) и заземленному резистору 220 Ом (100 Ом также подойдет). Чуть правее первого светодиода таким же образом подключил светодиод другого цвета, только с другим цифровым контактом.
Как это работает
Если фоторезистор считывает значение выше 450, он печатает «Это довольно светло!» на последовательном мониторе и выключает все светодиоды, например:
if (light> 450) {// Если ярко ... Serial.println ("Довольно светло!"); digitalWrite (13, LOW); // выключаем левый светодиод digitalWrite (12, LOW); // выключаем правый светодиод}
Если он читает значение от 230 до 450, он печатает «Это средний свет!» на последовательном мониторе и включает левый светодиод, например:
else if (light> 229 &&light <451) {// Если это средний свет ... Serial.println ("Это средний свет!"); digitalWrite (13, ВЫСОКИЙ); // включаем левый светодиод digitalWrite (12, LOW); // выключаем правый светодиод}
Это оставляет нам только значения ниже 230, которые нужно учитывать. Если значение меньше 230, выводится «Довольно темно!» на последовательном мониторе и включает оба светодиода, например:
else {// Если темно ... Serial.println ("Довольно темно!"); digitalWrite (13, ВЫСОКИЙ); // Включаем левый светодиод digitalWrite (12, HIGH); // Включаем правый светодиод}
Я добавил задержку 1000 к концу моего цикла, чтобы предотвратить перегрузку информации в последовательный монитор, например:
задержка (1000); // не спамите компьютер!
Убедитесь, что вы смотрите на схему и проверяете свой код, прежде чем загружать или запускать что-либо.
Код
- LED_PR_Light_Read
LED_PR_Light_Read Arduino
int light =0; // сохраняем текущее значение светаvoid setup () {// помещаем сюда ваш установочный код для однократного запуска:Serial.begin (9600); // настраиваем последовательный порт для связи с компьютером pinMode (13, OUTPUT); // настраиваем цифровой вывод 13 как выходной pinMode (12, OUTPUT); // настраиваем цифровой вывод 12 как выход} void loop () {// помещаем сюда ваш основной код, чтобы он запускался повторно:light =analogRead (A0); // считываем и сохраняем значение из PR Serial.println (light); // выводим текущее значение освещенности if (light> 450) {// Если он яркий ... Serial.println ("Довольно светлый!"); digitalWrite (13, LOW); // выключаем левый светодиод digitalWrite (12, LOW); // выключаем правый светодиод} else if (light> 229 &&light <451) {// Если это средний свет ... Serial.println ("Это средний свет!"); digitalWrite (13, ВЫСОКИЙ); // включаем левый светодиод digitalWrite (12, LOW); // выключаем правый светодиод} else {// Если темно ... Serial.println ("Довольно темно!"); digitalWrite (13, ВЫСОКИЙ); // Включаем левый светодиод digitalWrite (12, HIGH); // Включаем правый светодиод} delay (1000); // не спамите компьютер!}
Схема

Производственный процесс
- Датчик цвета - работа и приложения
- Ультратонкий датчик внешней освещенности OPT3007
- Работа датчика внешней освещенности и приложения
- Основы и приложения оптического датчика
- Датчик температуры Python и Raspberry Pi
- Датчик движения с использованием Raspberry Pi
- Датчик температуры и освещенности Raspberry Pi
- Датчик освещенности с поддержкой голоса и SMS с использованием Raspberry Pi и Twilio
- IOT - Smart Jar с использованием ESP8266, Arduino и ультразвукового датчика
- Понимание огней и индикаторов приборной панели автомобиля