Общие сведения
Датчик APDS9960 — способен определять уровень освещённости в Lux (как общий, так и по трём каналам спектра – красный, зелёный, синий), приближение объектов (препятствий) и жесты (движение объектов влево, вправо, вверх, вниз, к датчику и от него). У более ранней модели APDS9930 имеются только функции определения приближения и уровня общей освещённости.
Характеристики
- Входное напряжение питания (VCC): 2,4 … 3,6 В постоянного тока (номинально 3,3 В).
- Ток потребляемый ИК-светодиодом через драйвер: 100 / 50 / 25 / 12.5 мА (устанавливается программно).
- Ток потребляемый модулем без учёта ИК-светодиода:
- В режиме измерений уровня освещённости: до 250 мкА.
- В режиме определения приближений: до 790 мкА.
- В режиме обнаружения жестов: до 790 мкА.
- В режиме ожидания: до 38 мкА.
- В спящем режима: до 10 мкА.
- Частота тактирования шины I2C: до 400 кГц.
- Адрес модуля на шине I2C: 0x39.
- Рабочая температура: -30 … +85 °С.
- Температура хранения: -40 … +85 °С.
- Габариты: 15х20 мм
- Вес: 3 гр.
Подключение
У датчика APDS-9960 логика и питание только 3.3 В!
Выводы SDA и SCL модуля подключаются к аппаратной шине I2C Arduino. Если Ваша Arduino имеет 5 В логику, то выводы SDA и SCL подключаются через двунаправленный преобразователь уровней 3.3 – 5 В.
Выводы GND, VCC и VL являются выводами питания (вывод VCC – питание модуля +3.3 В, а вывод VL – питание встроенного ИК-светодиода +3.0 … +4.5 В). В модуле вывод VL соединён с VCC через перемычку PS, следовательно, напряжение питания +3.3 В, подаётся только на вывод VCC. Если Вам потребуется запитать ИК-светодиод от вывода VL а не от питания модуля VCC, то уберите припой с перемычки PS модуля.
Вывод INT модуля является выходом прерывания (активный уровень – логический «0») который в зависимости от выбранного режима работы может реагировать на яркость, обнаружение объектов, действия и т.д. Данный вывод можно не использовать (постоянно опрашивая модуль), можно использовать по прямому назначению (подключить к выводу Arduino поддерживающему внешнее прерывание) и опрашивать модуль только по внешнему прерыванию, а можно подключить к нему обычный светодиод который будет сигнализировать о том, что модуль отреагировал на какое то действие или событие.
Ниже представлены 2 варианта работы с датчиком APDS9960:
- Без использования вывода INT (без прерываний);
- С использованием вывода INT (с прерываниями);
1) Подключение без использования прерывания
- Таблица подключения выводов датчика:
- SDA – линия данных шины I2C. Подключается к выводу A4 Arduino UNO через двунаправленный преобразователь.
- SCL – линия тактирования шины I2C. Подключается к выводу A5 Arduino UNO через двунаправленный преобразователь.
- GND – общий вывод питания. Подключается к выводу GND Arduino UNO.
- VCC – вывод питания модуля. Подключается к выводу 3.3V Arduino UNO.
- VL – вывод питания драйвера ИК-светодиода. Не используется.
- INT – выход прерывания модуля. Не используется.
К выводу INT датчика можно подключить светодиод (катод к выводу INT, а анод к выводу 3.3V). Если Вы будите его использовать, то функции: enableLightSensor(), enableGestureSensor() или enableProximitySensor() скетчей требуется вызывать с параметром true, а не false, как это указано в скетчах. Светодиод будет фиксировать прерывания (указывать на то, что модуль отреагировал на какое то действие или событие), но сами прерывания не будут участвовать в алгоритме обработки данных, так как вывод INT датчика не подключён к Arduino.