Будем проверять датчик интенсивности света BH1750FVI. Единицы измерения Люкс (Lux). Датчик работает на шине I2C, поэтому таких датчиком к Arduino можно подключить довольно много. Например можно сделать солнечный трекер или робота, перемещающегося в сторону света.

Подключение

Схема подключения BH1750FVI к Arduino

 

Скетч

Для работы скетча понадобится установить библиотеку BH1750FVI (распаковать в папку Library)

#include <Wire.h>
#include <BH1750FVI.h>
BH1750FVI LightSensor;
void setup() {
  Serial.begin(9600);
  LightSensor.begin();
  LightSensor.SetAddress(Device_Address_L);
  LightSensor.SetMode(Continuous_L_resolution_Mode);
  Serial.println("Running...");
}
void loop() {
  uint16_t lux = LightSensor.GetLightIntensity();  //Считываем данные от датчика
  Serial.print("Light: ");
  Serial.print(lux);
  Serial.println(" lux");
  delay(100);
}

Дополнительные команды для датчика

Sleep(); - принудительное отключения питания от сенсора

Reset(); - пробуждение сенсора

SetMode(<режим>); - режимы работы сенсора:

Continuous_H_resolution_Mode
Continuous_H_resolution_Mode2
Continuous_L_resolution_Mode
OneTime_H_resolution_Mode
OneTime_H_resolution_Mode2
OneTime_L_resolution_Mode

 

Типовая освещённость, примеры

Освещённость
(лк)
Где
10−5 Свет Сириуса, ярчайшей звезды ночного неба
0,0003 Безлунное звёздное небо
0,01 Четверть Луны
0,27 Полнолуние в ясном небе
1 Полнолуние в тропиках
до 20 В море на глубине ~50 м.
50 Жилая комната
80 Подъезд/туалетная комната
100 Очень пасмурный день
320-500 Рабочий кабинет
350±150 Восход или закат на Венере
400 Восход или закат в ясный день.
1000 Пасмурный день; освещение в телестудии
1-3 тыс. Полдень на Венере
4-5 тыс. Полдень в декабре — январе.
10-25 тыс. Ясный солнечный день (в тени)
32-130 тыс. Под прямым солнцем
135 тыс. Вне атмосферы на среднем расстоянии Земли от Солнца

 по данным из Википедии

 

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


Защитный код
Обновить