Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
TSL45315 är en digital sensor för omgivande ljus. Det approximerar mänskligt ögonsvar under olika ljusförhållanden. Enheterna har tre valbara integrationstider och ger en direkt 16-bitars luxutgång via ett I2C-bussgränssnitt. Enheten innehåller en fotodiodmatris, en integrerande analog-till-digital-omvandlare (ADC), signalbehandlingskretsar, luxberäkningslogik och ett I2C-seriellt gränssnitt på en enda CMOS-integrerad krets för att tillhandahålla lux-data. Här är dess demonstration med arduino nano.
Steg 1: Vad du behöver.. !
1. Arduino Nano
2. TSL45315
3. I²C -kabel
4. I²C -skärm för Arduino Nano
Steg 2: Anslutning:
Ta en I2C -sköld för Arduino Nano och skjut den försiktigt över stiften på Nano.
Anslut sedan den ena änden av I2C -kabeln till TSL45315 -sensorn och den andra änden till I2C -skärmen.
Anslutningar visas på bilden ovan.
Steg 3: Kod:
Arduino-koden för TSL45315 kan laddas ner från vår GitHub repository-Dcube Store.
Här är länken till samma:
github.com/DcubeTechVentures/TSL45315…
Vi inkluderar bibliotek Wire.h för att underlätta I2c -kommunikationen mellan sensorn och Arduino -kortet.
Du kan också kopiera koden härifrån, den ges enligt följande:
// Distribueras med en fri vilja licens.
// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.
// TSL45315
// Denna kod är utformad för att fungera med TSl45315_I2CS I2C Mini -modulen som finns tillgänglig i Dcube Store.
#omfatta
// TSL45315 I2C -adressen är 0x29 (41)
#define Addr 0x29
void setup ()
{
// Initiera I2C -kommunikation som MASTER
Wire.begin ();
// Initiera seriell kommunikation, ange överföringshastighet = 9600
Serial.begin (9600);
// Starta I2C -sändning
Wire.beginTransmission (Addr);
// Välj kontrollregister
Wire.write (0x80);
// Normal drift
Wire.write (0x03);
// Stoppa I2C -överföring
Wire.endTransmission ();
// Starta I2C -sändning
Wire.beginTransmission (Addr);
// Välj konfigurationsregister
Wire.write (0x81);
// Multiplikator 1x, färgton: 400 ms
Wire.write (0x00);
// Stoppa I2C -överföring
Wire.endTransmission ();
fördröjning (300);
}
void loop ()
{
osignerade int -data [2];
// Starta I2C -sändning
Wire.beginTransmission (Addr);
// Välj dataregister
Wire.write (0x84);
// Stoppa I2C -överföring
Wire.endTransmission ();
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// luminans lsb, luminans msb
om (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Konvertera data
float luminans = data [1] * 256 + data [0];
// Utdata till Serial Monitor
Serial.print ("Ambient Light Luminance:");
Serial.print (luminans);
Serial.println ("lux");
fördröjning (300);
}
Steg 4: Ansökningar:
Det breda dynamiska området för sensorn för omgivande ljus gör den särskilt användbar i utomhusapplikationer där den utsätts för direkt solljus. Enheten är idealisk för automatisk styrning av gatubelysning och säkerhet, billboard och bilbelysning. TSL45315 -enheterna kan också användas i solid state och generell belysning för automatisk styrning och dagsljus för att maximera energibesparingen. Andra applikationer inkluderar skärmbelysningskontroll för att förlänga batteriets livslängd och optimera synligheten i mobiltelefoner, surfplattor och bärbara datorer.