Датчик освещённости (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 предназначен для регистрации видимого света с высоким порогом чувствительности.
Контакты подключения трёхпроводного шлейфа
Модуль подключается к управляющей электронике по трём проводам. Назначение контактов трёхпроводного шлейфа:
- Питание (
V
) — питание модуля. Соедините с питанием микроконтроллера. - Земля (
G
) — земля. Соедините с землёй микроконтроллера. - Сигнальный (
S
) — жёлтый провод. Подключите к аналоговому входу микроконтроллера. Через него управляющая плата считывает сигнал с датчика.