Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
TSL45315 is een digitale omgevingslichtsensor. Het benadert de reactie van het menselijk oog onder verschillende lichtomstandigheden. De apparaten hebben drie selecteerbare integratietijden en bieden een directe 16-bit lux-uitgang via een I2C-businterface. Het apparaat bevat een fotodiode-array, een geïntegreerde analoog-naar-digitaalomzetter (ADC), signaalverwerkingscircuits, lux-berekeningslogica en een I2C seriële interface op een enkele CMOS-geïntegreerde schakeling om lux-gegevens te leveren. Hier is de demonstratie met arduino nano.
Stap 1: Wat je nodig hebt.
1. Arduino Nano
2. TSL45315
3. I²C-kabel
4. I²C-schild voor Arduino Nano
Stap 2: Aansluiting:
Neem een I2C-schild voor Arduino Nano en duw het voorzichtig over de pinnen van Nano.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de TSL45315-sensor en het andere uiteinde op de I2C-afscherming.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De Arduino-code voor TSL45315 kan worden gedownload van onze GitHub-repository-Dcube Store.
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/TSL45315…
We nemen bibliotheek Wire.h op om de I2c-communicatie van de sensor met het Arduino-bord te vergemakkelijken.
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// TSL45315
// Deze code is ontworpen om te werken met de TSl45315_I2CS I2C Mini Module die verkrijgbaar is in de Dcube Store.
#erbij betrekken
// TSL45315 I2C-adres is 0x29 (41)
#define Addr 0x29
ongeldige setup()
{
// Initialiseer I2C-communicatie als MASTER
Draad.begin();
// Initialiseer seriële communicatie, stel baudrate in = 9600
Serieel.begin(9600);
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Selecteer controleregister
Draad.schrijven (0x80);
// Normale operatie
Draad.schrijven (0x03);
// Stop I2C-transmissie
Wire.endTransmission();
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Selecteer configuratieregister
Draad.schrijven (0x81);
// Vermenigvuldiger 1x, Tint: 400ms
Draad.schrijven (0x00);
// Stop I2C-transmissie
Wire.endTransmission();
vertraging (300);
}
lege lus()
{
niet-ondertekende int-gegevens[2];
// Start I2C-verzending
Wire.beginTransmission (Addr);
// Selecteer dataregister
Draad.schrijven (0x84);
// Stop I2C-transmissie
Wire.endTransmission();
// Vraag 2 bytes aan gegevens aan
Wire.requestFrom(Addr, 2);
// Lees 2 bytes aan gegevens
// luminantie lsb, luminantie msb
if(Draad.beschikbaar() == 2)
{
data[0] = Draad.lezen();
data[1] = Draad.lezen();
}
// Converteer de gegevens
float luminantie = data[1] * 256 + data[0];
// Gegevens uitvoeren naar seriële monitor
Serial.print ("Luminantie van omgevingslicht:");
Serial.print(luminantie);
Serial.println ("lux");
vertraging (300);
}
Stap 4: Toepassingen:
Het brede dynamische bereik van de omgevingslichtsensor maakt hem bijzonder nuttig in buitentoepassingen waar hij wordt blootgesteld aan direct zonlicht. Het apparaat is ideaal voor gebruik bij automatische besturing van straatverlichting en beveiliging, reclameborden en autoverlichting. De TSL45315-apparaten kunnen ook worden gebruikt in vaste toestand en algemene verlichting voor automatische regeling en daglichtwinning om energiebesparing te maximaliseren. Andere toepassingen zijn onder meer de achtergrondverlichting van het display om de levensduur van de batterij te verlengen en de zichtbaarheid op mobiele telefoons, tablets en notebooks te optimaliseren.