Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/octaprog7/opt3001
Модуль для управления датчиком внешней освещенности OPT3001 от Texas Instruments. Module for controlling the OPT3001 ambient light sensor from TI.
https://github.com/octaprog7/opt3001
als i2c micropython
Last synced: 29 days ago
JSON representation
Модуль для управления датчиком внешней освещенности OPT3001 от Texas Instruments. Module for controlling the OPT3001 ambient light sensor from TI.
- Host: GitHub
- URL: https://github.com/octaprog7/opt3001
- Owner: octaprog7
- License: mit
- Created: 2024-10-15T18:55:36.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2024-10-15T19:02:25.000Z (about 1 month ago)
- Last Synced: 2024-10-17T05:46:11.064Z (30 days ago)
- Topics: als, i2c, micropython
- Language: Python
- Homepage:
- Size: 733 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-micropython - opt3001 - MicroPython module for OPT3001, external lighting sensor from Texas Instruments. (Libraries / Sensors)
README
Модуль 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).# Плата с OPT3001
![alt text](https://github.com/octaprog7/OPT3001/blob/master/pics/opt3001_board.jpg)
# Среда разработки (IDE)
## IDE
![alt text](https://github.com/octaprog7/OPT3001/blob/master/pics/opt3001_ide.png)