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)
Запускает измерение датчиком внешней освещенности.
- Если continuously в Истина, то измерения будут запускаться автоматически, иначе для каждого измерения нужно будет вызывать OPT3001.start_measurement снова.
- lx_range_index - индекс диапазона освещенности, измеряемой датчиком. От 0 до 11. Если вы установите этот параметр в 12, то датчик будет автоматически(!) выбирать диапазон, но время ожидания готовности данных скорее всего увеличится!
- Если refresh в Истина, то в конце кода метода, данные о настройках в полях экземпляра класса, будут обновлены.
def get_measurement_value(self, value_index: int = 0) -> [opt3001_meas_raw, opt3001_meas_data]:
Возвращает значение, измеренное датчиком. Если 0 == value_index, то возвращаются 'сырые' данные. Если 1 == value_index, то возвращаются обработанные данные.
Режим Энергосбережения
Датчик автоматически переходит в режим энергосбережения при завершении измерения в однократном режиме (continuously is False).