Урок. Датчик освітленості з фоторезистором.

Запрошуємо вихованців гуртка до дистанційного заняття з теми "Датчик освітленості з фоторезистором". 

Для проектування, користуємось додатком для моделювання схем  https://www.tinkercad.com/

Підключення фоторезистора до Ардуіно і робота з датчиком освітленості.


Датчики освітленості (освітлення), побудовані на базі фоторезисторів, досить часто використовуються в реальних Ардуіно проектах. Вони відносно прості, не дорогі. Фоторезистор Ардуіно дозволяє контролювати рівень освітленості і реагувати на його зміну. В цьому уроці ми розглянемо, що таке фоторезистор, як працює датчик освітленості на його основі, як правильно підключити датчик до плати Arduino.

Фоторезистор датчик освещения ардуино

Переваги та недоліки датчика

Основним недоліком фоторезистора є чутливість до спектру. Залежно від типу падаючого світла опір може змінюється на кілька порядків. До мінусів також відноситься низька швидкість реакції на зміну освітленості. Якщо світло блимає - датчик не встигає відреагувати. Якщо ж частота зміни досить велика - резистор взагалі перестане «бачити», що освітленість змінюється.
До плюсів можна віднести простоту і доступність. Пряма зміна опору в залежності від світла, що потрапляє на неї дозволяє спростити електричну схему підключення. Сам фоторезистор дуже дешевий, входить до складу численних наборів і конструкторів Ардуіно, тому доступний практично будь-якому починаючому ардуінщіку.


Підключення фоторезистора до Ардуіно

У проектах arduino фоторезистор використовується як датчик освітлення. Отримуючи від нього інформацію, плата може включати або вимикати реле, запускати двигуни, відсилати повідомлення. При цьому ми повинні правильно підключити датчик.

Сам монтаж плати не має викликати труднощів. Так як фоторезистор не має полярності, підключити можна будь-якою стороною, до плати його можна припаяти, під'єднати проводами за допомогою монтажної плати або використовувати звичайні кліпси (крокодили) для з'єднання. Джерелом живлення в схемі є сам Ардуіно. Фоторезистор приєднується однією ніжкою до землі, інша підключається до АЦП плати (в нашому прикладі - А0). До цієї ж ніжки підключаємо резистор 10 кОм. Також підключати фоторезистор можна не тільки на аналоговий пін A0, але і на будь-який інший.



Приклад скетчу датчика освітленості на фоторезисторі

Ми підключили схему з фоторезистором до Ардуіно, переконалися, що все зробили правильно. Тепер залишилося запрограмувати контролер.

Написати скетч для датчика освітленості досить просто. Нам потрібно тільки зняти поточне значення напруги з того аналогового піна, до якого підключений датчик. Робиться це за допомогою відомої нам усім функції analogRead (). Потім ми можемо виконувати якісь дії, в залежності від рівня освітленості.

Алгоритм роботи такий:


  • Визначаємо рівень сигналу з аналогового піна.
  • Порівнюємо рівень з граничним значенням. Максимально значення буде відповідати темряві, мінімальне - максимальної освітленості. Граничне значення виберемо рівне 300.
  • Якщо рівень менше порогового - темно, потрібно включати світлодіод.
  • Інакше - вимикаємо світлодіод.


  1. #define PIN_LED 13
  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. if (val < 300) {
  11. digitalWrite(PIN_LED, LOW);
  12. } else {
  13. digitalWrite(PIN_LED, HIGH);
  14. }
  15. }

Для проектування, користуємось додатком для моделювання схем  https://www.tinkercad.com/



Немає коментарів:

Дописати коментар