Содержание

Датчик освещённости (Troyka-модуль)

Для измерения уровня освещённости окружающей среды воспользуемся простым аналоговым датчиком освещённости на основе фоторезистора.

Подключения и настройка

Датчик общается с управляющей электроникой по трём проводам. На выходе сенсора — аналоговый сигнал, который сообщает микроконтроллеру о текущем уровне освещённости.

При подключении к Arduino или Iskra JS удобно использовать Troyka Shield.

С Troyka Slot Shield можно обойтись без лишних проводов.

Примеры использования

Программа для Arduino

Выведем значение освещённости в Serial-порт используя библиотеку TroykaLight.

LightSensor.ino
// библиотека для работы с датчиком освещённости (Troyka-модуль)
#include <TroykaLight.h>
// создаём объект для работы с датчиком освещённости
// и передаём ему номер пина выходного сигнала
TroykaLight sensorLight(A0);
 
void setup()
{
  // открываем последовательный порт
  Serial.begin(9600);
}
 
void loop()
{
  // считывание данных с датчика освещённости
  sensorLight.read();
  // вывод показателей сенсора освещённости в люксахи
  Serial.print("Light is ");
  Serial.print(sensorLight.getLightLux());
  Serial.print(" Lx\t");
  // вывод показателей сенсора освещённости в фут-свечах
  Serial.print(sensorLight.getLightFootCandles());
  Serial.println(" Foot Candles");
  delay(300);
}

Программа для IskraJS

Выведем в Serial порт значения освещённости используя четыре разные формы представления данных. Применим модульlight-sensor для Iskra JS.

LightSensor.js
// подключаем модуль датчика освещённости
var mySensor = require('@amperka/light-sensor').connect(A0);
 
// выводим в консоль данные с датчика освещённости во всех возможных форматах
setInterval( function() {
  console.log('Room lightness:', mySensor.read('lx'), 'luxes');
  console.log('Room lightness:', mySensor.read('V'), 'V');
  console.log('Room lightness:', mySensor.read('mV'), 'mV');
  console.log('Room lightness:', mySensor.read(), 'from 0 to 1');
 },1000);

Программа для microPython

Выведем в консоль Thonny значение с датчика освещённости

sensorLight.py
# Подключаем библиотеку для работы с пинами
from machine import Pin
#  Подключаем библиотеку для работы со временем
from time import sleep
 
# Создаём переменную, для хранения данных освещённости
sensorLight = machine.ADC(Pin(27))
 
# Начинаем бесконечный цикл
while True:
    # Считываем данные с датчика освещённости 
    print(sensorLight.read_u16())
    # Ожидаем одну секунду
    sleep(1)

Элементы платы

Фоторезистор GL5528

Фоторезистор представляет из себя полупроводниковый радиоэлемент, который меняет свое сопротивление в зависимости от освещения. Фоторезистор GL5528 предназначен для регистрации видимого света с высоким порогом чувствительности.

Контакты подключения трёхпроводного шлейфа

Модуль подключается к управляющей электронике по трём проводам. Назначение контактов трёхпроводного шлейфа:

Принципиальная и монтажная схемы

Ресурсы