Датчик освещенности и плавное изменение яркости подсветки



Можно модифицировать проект так, чтобы в зависимости от уровня освещенности менялась яркость светодиода. В алгоритм мы добавим следующие изменения:

· Яркость лампочки будем менять через ШИМ, посылая с помощью analogWrite() на пин со светодиодом значения от 0 до 255.

· Для преобразования цифрового значения уровня освещения от датчика освещенности (от 0 до 1023) в диапазон ШИМ яркости светодиода (от 0 до 255) будем использовать функцию map().

Пример скетча:

1. #define PIN_LED 10

2. #define PIN_PHOTO_SENSOR A0

3. void setup() {

4. Serial.begin(9600);

5. pinMode(PIN_LED, OUTPUT);

6. }

7. void loop() {

8. int val = analogRead(PIN_PHOTO_SENSOR);

9. Serial.println(val);

10. int ledPower = map(val, 0, 1023, 0, 255); // Преобразуем полученное значение в уровень PWM-сигнала. Чем меньше значение освещенности, тем меньше мощности мы должны подавать на светодиод через ШИМ.

11. analogWrite(PIN_LED, ledPower); // Меняем яркость

12. }

В случае другого способа подключения, при котором сигнал с аналогового порта пропорционален степени освещенности, надо будет дополнительно «обратить» значение, вычитая его из максимального:

1. int val = 1023 – analogRead(PIN_PHOTO_RESISTOR);

Схема датчика освещения на фоторезисторе и реле

Примеры скетча для работы с реле приведены в статье, посвященной программированию реле в ардуино. В данном случае, нам не нужно делать сложных телодвижений: после определения «темноты» мы просто включаем реле, подавай на его пин соответствующее значение.

1. #define PIN_RELAY 10

2. #define PIN_PHOTO_SENSOR A0

3. void setup() {

4. pinMode(PIN_RELAY, OUTPUT);

5. digitalWrite(PIN_RELAY, HIGH);

6. }

7. void loop() {

8. int val = analogRead(PIN_PHOTO_SENSOR);

9. if (val < 300) {

10. // Светло, выключаем реле

11. digitalWrite(PIN_RELAY, HIGH);

12. } else {

13. // Темновато, включаем лампочку

14. digitalWrite(PIN_RELAY, LOW);

15. }

16. }

Заключение

Проекты с применением датчика освещенности на базе фоторезистора достаточно просты и эффектны. Вы можете реализовать множество интересных проектов, при этом стоимость оборудования будет не высока. Подключение фоторезистора осуществляется по схеме делителя напряжения с дополнительным сопротивлением. Датчик подключается к аналоговому порту для измерения различных значений уровня освещенности или к цифровому, если нам важен лишь факт наступления темноты. В скетче мы просто считываем данные с аналогового (или цифрового) порта и принимаем решение, как реагировать на изменения. Будем надеяться, что теперь в ваших проектах появятся и такие вот простейшие «глаза».

https://www.youtube.com/watch?v=DwCK9VqrjAQ — видео ролик, подключение фоторезистора!


Дата добавления: 2022-06-11; просмотров: 39; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!