2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
TSL45315 - цифровой датчик внешней освещенности. Это приблизительно соответствует реакции человеческого глаза в различных условиях освещения. Устройства имеют три выбираемых времени интегрирования и обеспечивают прямой 16-битный выходной сигнал люкс через интерфейс шины I2C. Устройство содержит матрицу фотодиодов, интегрирующий аналого-цифровой преобразователь (АЦП), схему обработки сигналов, логику вычисления люкс и последовательный интерфейс I2C на одной интегральной схеме КМОП для передачи данных в люксах. Вот его демонстрация с Raspberry Pi с использованием кода Python.
Шаг 1: Что вам нужно..
1. Raspberry Pi
2. TSL45315
3. Кабель I²C
4. I²C Shield для Raspberry Pi
5. Кабель Ethernet.
Шаг 2: Подключения:
Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.
Затем подключите один конец кабеля I2C к датчику TSL45315, а другой конец - к экрану I2C.
Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.
Подключения показаны на картинке выше.
Шаг 3: Код:
Код Python для TSL45315 можно загрузить из нашего репозитория GitHub-Dcube store.
Вот ссылка на то же самое:
github.com/DcubeTechVentures/TSL45315…
Мы использовали библиотеку SMBus для кода Python, шаги по установке SMBus на Raspberry Pi описаны здесь:
pypi.python.org/pypi/smbus-cffi/0.5.1
Вы также можете скопировать код отсюда, он выглядит следующим образом:
# Распространяется по свободной лицензии.
# Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
# TSL45315
# Этот код разработан для работы с мини-модулем TSL45315_IS2C I2C, доступным в Dcube Store.
импортировать smbus
время импорта
# Получить шину I2C
автобус = smbus. SMBus (1)
# TSL45315 адрес, 0x29 (41)
# Выберите регистр управления, 0x00 (0), с регистром команд, 0x80 (128)
# 0x03 (03) Нормальная работа
bus.write_byte_data (0x29, 0x00 | 0x80, 0x03)
# TSL45315 адрес, 0x29 (41)
# Выберите регистр конфигурации, 0x01 (1), с регистром команд, 0x80 (128)
# 0x00 (00) множитель 1x, оттенок: 400 мс
bus.write_byte_data (0x29, 0x01 | 0x80, 0x00)
time.sleep (0,5)
# TSL45315 адрес, 0x29 (41)
# Считать данные обратно из 0x04 (4), с регистром команд, 0x80 (128)
# 2 байта, сначала младший бит
данные = bus.read_i2c_block_data (0x29, 0x04 | 0x80, 2)
# Преобразуем данные в люкс
яркость = данные [1] * 256 + данные [0]
# Выводить данные на экран
print "Яркость окружающего света:% d люкс"% яркости
Шаг 4: Приложения:
Широкий динамический диапазон датчика внешней освещенности делает его особенно полезным на открытом воздухе, где он подвергается воздействию прямых солнечных лучей. Устройство идеально подходит для использования в автоматическом управлении уличным освещением и охраной, рекламными щитами и автомобильным освещением. Устройства TSL45315 также могут использоваться в твердотельном и общем освещении для автоматического управления и сбора дневного света для максимального энергосбережения. Другие приложения включают управление подсветкой дисплея для продления срока службы батареи и оптимизации видимости в сотовых телефонах, планшетах и ноутбуках.