2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
TSL45315 - цифровой датчик внешней освещенности. Это приблизительно соответствует реакции человеческого глаза в различных условиях освещения. Устройства имеют три выбираемых времени интегрирования и обеспечивают прямой 16-битный выходной сигнал люкс через интерфейс шины I2C. Устройство содержит матрицу фотодиодов, интегрирующий аналого-цифровой преобразователь (АЦП), схему обработки сигналов, логику вычисления люкс и последовательный интерфейс I2C на одной интегральной схеме КМОП для передачи данных в люксах. Вот его демонстрация с Raspberry Pi с использованием Java-кода.
Шаг 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: Код:
Код Java для TSL45315 можно загрузить из нашего репозитория GitHub - Dcube Store.
Вот ссылка на то же самое:
github.com/DcubeTechVentures/TSL45315
Мы использовали библиотеку pi4j для java-кода, шаги по установке pi4j на raspberry pi описаны здесь:
pi4j.com/install.html
Вы также можете скопировать код отсюда, он выглядит следующим образом:
// Распространяется по свободной лицензии.
// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
// TSL45315
// Этот код предназначен для работы с мини-модулем TSL45315_I2CS I2C, доступным в магазине Dcube.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
открытый класс TSL45315
{
public static void main (String args ) выдает исключение
{
// Создаем шину I2C
Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Получение устройства I2C, адрес TSL45315 I2C - 0x29 (41)
Устройство I2CDevice = bus.getDevice (0x29);
// Отправляем команду запуска
device.write ((байт) 0x80);
// Отправляем команду измерения
device.write ((байт) 0x03);
Thread.sleep (800);
// Считываем 2 байта данных с адреса 0x04 (4), сначала младший бит
byte data = новый байт [2];
device.read (0x80 | 0x04, данные, 0, 2);
// Преобразуем данные в люкс
int яркость = ((данные [1] & 0xFF) * 256) + (данные [0] & 0xFF);
// Выводим данные на экран
System.out.printf ("Общая яркость:% d люкс% n", яркость);
}
}
Шаг 4: Приложения:
Широкий динамический диапазон датчика внешней освещенности делает его особенно полезным на открытом воздухе, где он подвергается воздействию прямых солнечных лучей. Устройство идеально подходит для использования в автоматическом управлении уличным освещением и охраной, рекламными щитами и автомобильным освещением. Устройства TSL45315 также могут использоваться в твердотельном и общем освещении для автоматического управления и сбора дневного света для максимального энергосбережения. Другие приложения включают управление подсветкой дисплея для продления срока службы батареи и оптимизации видимости в сотовых телефонах, планшетах и ноутбуках.