Home

Awesome

Модуль MicroPython для управления OPT3001, датчиком внешней освещенности от Texas Instruments. MicroPython module for controlling the OPT3001, an ambient light sensor from TI.

Описание

OPT3001 — это датчик, измеряющий интенсивность видимого света. Спектральная реакция датчика точно соответствует фото-оптической реакции человеческого глаза и включает значительное подавление инфракрасной части спектра (так утверждает производитель, см. документацию!).

OPT3001 — это однокристальный люксметр, измеряющий интенсивность света, воспринимаемого человеческим глазом. Точная спектральная характеристика и сильное подавление ИК-излучения устройства позволяют OPT3001 точно измерять интенсивность света, воспринимаемого человеческим глазом, независимо от источника света.

Если у вас возникли вопросы по работе датчика, читайте документацию от производителя!

Применения

Питание

Напряжение питания 1.6..3.6 В (3.3 В)!

Адрес датчика

Диапазон адресов датчика: 0x44..0x47.

Шина I2C

Просто подключите контакты (VCC, GND, SDA, SCL) платы с OPT3001 к соответствующим контактам Arduino, ESP или любой другой платы с прошивкой MicroPython и аппаратной поддержкой шины I2C.

Загрузка ПО в плату

Загрузите прошивку micropython на плату NANO(ESP и т. д.), а затем файлы: main.py, OPT3001mod.py и папку sensor_pack_2 полностью! Затем откройте main.py в своей IDE и запустите/выполните его.

Типы данных

opt3001_id

Именованный кортеж, содержащий информацию о идентификаторах производителя и устройства, записанных в датчик.

OPT3001_status

Именованный кортеж, содержащий полную информацию о всех настройках датчика.

opt3001_meas_data

Описывает, считанные из датчика, данные измерений в обработанном(!) виде.

opt3001_meas_raw

Описывает, считанные из датчика, данные измерений в сыром(!) виде.

OPT3001_data_status

Содержит два флага, описывающих состояние готовности данных для считывания и переполнение при измерении.

Методы класса OPT3001

def OPT3001.get_data_status() -> OPT3001_data_status

Возвращает состояние готовности данных для считывания.

def OPT3001.start_measurement(self, continuously: bool = True, lx_range_index: int = 12, refresh: bool = False)

Запускает измерение датчиком внешней освещенности.

def get_measurement_value(self, value_index: int = 0) -> [opt3001_meas_raw, opt3001_meas_data]:

Возвращает значение, измеренное датчиком. Если 0 == value_index, то возвращаются 'сырые' данные. Если 1 == value_index, то возвращаются обработанные данные.

Режим Энергосбережения

Датчик автоматически переходит в режим энергосбережения при завершении измерения в однократном режиме (continuously is False).

Плата с OPT3001

alt text

Среда разработки (IDE)

IDE

alt text