Открыть меню

Ардуино подключение фоторезистора. Датчик освещенности для arduino

Как работает датчик освещенности?

Основным элементом датчика являются фоторезисторы, фототранзисторы и фотодиоды.


 

Фоторезистор — полупроводниковый прибор, изменяющий величину своего сопротивления при облучении светом. В нем, как и во всех фотоэлементах, есть окошечко, с помощью которого он «ловит» свет, чем больше падает света на фоторезистор, тем меньше его сопротивление

Эти простые схемы представляют собой датчики освещения, в качестве чувствительного элемента используется фоторезистор. Первая схема — датчик затемнения, вторая — освещения.

Когда свет попадает на фоторезистор, он меняет сопротивление, чем больше света тем меньше сопротивление и больше падение напряжения на нем. При увеличении падения напряжения транзистор открывается, срабатывает реле. Порог срабатывания реле можно отрегулировать при помощи переменного резистора 50 кОм.

Различаются фоторезисторы по диапазону сопротивления. Например:

  • VT83N1 — 12-100кОм;
  • VT93N2 — 48-500кОм.

Это значит, что в темноте сопротивления фоторезистора равно 12кОм, а при определенной тестовой засветке — 100кОм. Конкретно в случае этих светодиодов, тестовая засветка имела параметры: освещенность -10 Люкс, и цветовая теплота — 2856К.

Кроме фоторезистора, в датчиках света часто используют фотодиод и фототранзистор. Оба выглядят как типичные светодиоды

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

На выходе цепи фоторезистора мы получим некое напряжение, в диапазоне от 0 до 5 Вольт, которое нам потребуется превратить в конкретное число, с которым уже будет работать программа микроконтроллера.

Необходимые компоненты для подключения фоторезистора на Arduino

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

Так выглядит собранная модель Arduino с фоторезистором:

 

ардуино подключение фоторезистора

Самое простое, что мы можем сделать — это зажигать на Ардуино штатный светодиод #13. Получается скетч:

const int pinPhoto = A0;

const int led = 13;

int raw = 0;

 

void setup() {

pinMode( pinPhoto, INPUT );

pinMode( led, OUTPUT );

}

 

void loop() {

raw = analogRead( pinPhoto );

if( raw < 600)

digitalWrite( led, HIGH );

else

digitalWrite( led, LOW );

delay(200);

}

 

Датчик освещенности — ардуино подключение


BH1750FVI цифровой модуль освещенности для Arduino

 

Для измерения освещенности отлично подходят на базе сенсора BH1750 датчики Gy-30 и Gy-302.

Характеристики BH1750FVI цифровой модуль освещенности для Arduino:

  •  Цифровой 16-битный цифровой датчик освещённости
  • Чувствителен к видимому свету и практически не подвержен влиянию инфракрасного излучения
  • Построен на микросхеме BH1750FVI
  • Напряжение питания: +3..+5 В постоянного тока.
  • Интерфейс: I2C.
  • Диапазон измеряемой освещенности: (1 — 65535 лк).
  • Размеры: 3,3 см х 1,5 см х 1,1 см
  • Вес: 5 г
  1. Подключение модуля производится по двухпроводному интерфейсу I2C, который в плате Arduino реализован на аналоговых пинах A4 и A5, отвечающих за SDA (шина данных) и SCL (шина тактирования), соответственно. Вывод ADDR модуля GY-302 можно оставить не подключённым или заземлить.
  2. Датчик освещенности ардуино подключениеПодключаем модуль с помощью провода «Папа-Мама»

    BH1750 (Gy-30, Gy-302) Arduino Uno
    Vcc +5V
    GND GND
    SCL A5
    SDA A4
  3. Устанавливаем библиотеку. Скачанный архив распакуем в директорию со средой разработки «Arduino IDE/libraries»
  4. Загружаем скетч

// подключаем библиотеку I2C:

#include <Wire.h>

// подключаем библиотеку датчика BH1750:

#include <BH1750.h>

// объявляем объект lightMeter:

BH1750 lightMeter;

void setup() {

Serial.begin(9600); //инициализация послед. порта

lightMeter.begin(); //инициализация датчика BH1750

}

void loop() {

//считываем показания с BH1750:

uint16_t lux = lightMeter.readLightLevel();

//выводим показания в послед. порт:

Serial.println(String(lux) + » lx»);

delay(100); //задержка 100 мсек

}

 

В скетче мы каждые 100 мсек считываем с датчика BH1750 показания освещённости в люксах и выводим эти данные в последовательный порт.

Проверяем работу. Для этого подключаем Ардуино к ПК. Запускаем среду разработки Arduino IDE и открываем монитор последовательного через меню Инструменты (Ctrl+Shift+M). Смотрим как меняются показания, если направить свет на датчик или если его затенить.

 

 

Добавить комментарий

© 2018 Робототехника для начинающих · Копирование материалов сайта без разрешения запрещено
Дизайн и поддержка: GoodwinPress.ru