2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
TSL45315 to cyfrowy czujnik światła otoczenia. Przybliża reakcję ludzkiego oka w różnych warunkach oświetleniowych. Urządzenia mają trzy wybieralne czasy integracji i zapewniają bezpośrednie 16-bitowe wyjście luksów za pośrednictwem interfejsu magistrali I2C. Urządzenie zawiera matrycę fotodiod, integrujący konwerter analogowo-cyfrowy (ADC), obwody przetwarzania sygnału, logikę obliczania luksów oraz interfejs szeregowy I2C w pojedynczym układzie scalonym CMOS do dostarczania danych w luksach. Oto jego demonstracja z raspberry pi przy użyciu kodu java.
Krok 1: Czego potrzebujesz.
1. Raspberry Pi
2. TSL45315
3. Kabel I²C
4. Osłona I²C dla Raspberry Pi
5. Kabel Ethernet
Krok 2: Połączenia:
Weź nakładkę I2C dla raspberry pi i delikatnie nałóż ją na piny gpio raspberry pi.
Następnie podłącz jeden koniec kabla I2C do czujnika TSL45315, a drugi koniec do ekranu I2C.
Podłącz również kabel Ethernet do pi lub możesz użyć modułu WiFi.
Połączenia prezentuje powyższy obrazek.
Krok 3: Kod:
Kod Java dla TSL45315 można pobrać z naszego repozytorium GitHub - Dcube Store.
Oto link do tego samego:
github.com/DcubeTechVentures/TSL45315
Użyliśmy biblioteki pi4j do kodu java, kroki instalacji pi4j na raspberry pi są opisane tutaj:
pi4j.com/install.html
Możesz również skopiować kod stąd, jest on podany w następujący sposób:
// Rozprowadzane z wolną licencją.
// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.
// TSL45315
// Ten kod jest przeznaczony do współpracy z modułem TSL45315_I2CS I2C Mini dostępnym w sklepie Dcube.
importuj com.pi4j.io.i2c. I2CBus;
importuj com.pi4j.io.i2c. I2CDurządzenie;
importuj com.pi4j.io.i2c. I2CFabryka;
import java.io. IOException;
klasa publiczna TSL45315
{
public static void main(String args) wyrzuca Wyjątek
{
// Utwórz magistralę I2C
Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);
// Pobierz urządzenie I2C, TSL45315 Adres I2C to 0x29(41)
Urządzenie I2CDevice = bus.getDevice(0x29);
// Wyślij polecenie startu
urządzenie.write((bajt)0x80);
// Wyślij polecenie pomiaru
urządzenie.write((bajt)0x03);
Wątek.sen(800);
// Odczytaj 2 bajty danych z adresu 0x04(4), najpierw LSB
bajt dane = nowy bajt[2];
urządzenie.odczyt(0x80 | 0x04, dane, 0, 2);
// Konwertuj dane na luks
int luminancja = ((data[1] & 0xFF) * 256) + (data[0] & 0xFF);
// Prześlij dane na ekran
System.out.printf("Całkowita luminancja to: %d luksów %n", luminancja);
}
}
Krok 4: Aplikacje:
Szeroki zakres dynamiczny czujnika światła otoczenia sprawia, że jest on szczególnie przydatny w zastosowaniach zewnętrznych, gdzie jest narażony na bezpośrednie działanie promieni słonecznych. Urządzenie idealnie nadaje się do zastosowania w automatycznym sterowaniu oświetleniem ulicznym oraz bezpieczeństwa, billboardów i oświetlenia samochodowego. Urządzenia TSL45315 mogą być również używane w oświetleniu półprzewodnikowym i ogólnym do automatycznego sterowania i zbierania światła dziennego w celu maksymalizacji oszczędności energii. Inne zastosowania obejmują sterowanie podświetleniem wyświetlacza w celu wydłużenia żywotności baterii i optymalizacji widoczności w telefonach komórkowych, tabletach i notebookach.