2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
TSL45315 is 'n digitale sensor vir omringende lig. Dit benader die reaksie van die menslike oog onder verskillende beligtingstoestande. Die toestelle het drie kiesbare integrasietye en bied 'n direkte 16-bis lux-uitset via 'n I2C-bus-koppelvlak. Die toestel bevat 'n fotodiode-skikking, 'n geïntegreerde analoog-na-digitale omskakelaar (ADC), seinverwerkingsbane, lux-berekeningslogika en 'n I2C-seriële koppelvlak op 'n enkele CMOS-geïntegreerde stroombaan om lux-data te verskaf. Hier is die demonstrasie van die arduino nano.
Stap 1: wat u nodig het..
1. Arduino Nano
2. TSL45315
3. I²C -kabel
4. I²C -skild vir Arduino Nano
Stap 2: Verbinding:
Neem 'n I2C -skild vir Arduino Nano en druk dit saggies oor die penne van Nano.
Koppel dan die een kant van die I2C -kabel aan die TSL45315 -sensor en die ander kant aan die I2C -skild.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:
Die Arduino-kode vir TSL45315 kan afgelaai word in ons GitHub repository-Dcube Store.
Hier is die skakel vir dieselfde:
github.com/DcubeTechVentures/TSL45315…
Ons bevat biblioteek Wire.h om die I2c -kommunikasie van die sensor met die Arduino -bord te vergemaklik.
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
// Versprei met 'n vrywillige lisensie.
// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
// TSL45315
// Hierdie kode is ontwerp om te werk met die TSl45315_I2CS I2C Mini Module beskikbaar in die Dcube Store.
#insluit
// TSL45315 I2C adres is 0x29 (41)
#definieer Addr 0x29
leemte opstelling ()
{
// Initialiseer I2C -kommunikasie as MASTER
Wire.begin ();
// Initialiseer seriële kommunikasie, stel baud rate = 9600 in
Serial.begin (9600);
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies kontroleregister
Wire.write (0x80);
// Normale werking
Wire.write (0x03);
// Stop I2C -oordrag
Wire.endTransmission ();
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies konfigurasie register
Wire.write (0x81);
// Vermenigvuldiger 1x, kleur: 400 ms
Wire.write (0x00);
// Stop I2C -oordrag
Wire.endTransmission ();
vertraging (300);
}
leemte lus ()
{
ongetekende int data [2];
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies dataregister
Wire.write (0x84);
// Stop I2C -oordrag
Wire.endTransmission ();
// Versoek 2 grepe data
Wire.requestFrom (Addr, 2);
// Lees 2 grepe data
// luminansie lsb, luminansie msb
as (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Skakel die data om
float luminansie = data [1] * 256 + data [0];
// Uitset data na Serial Monitor
Serial.print ("Ambient Light Luminance:");
Reeks.afdruk (luminansie);
Serial.println ("lux");
vertraging (300);
}
Stap 4: Aansoeke:
Die wye dinamiese omvang van die sensor vir omringende lig maak dit veral handig in buitelug -toepassings waar dit blootgestel word aan direkte sonlig. Die toestel is ideaal vir outomatiese beheer van straatligte en sekuriteit, advertensiebord en motorbeligting. Die TSL45315 -toestelle kan ook in vaste toestand en algemene beligting gebruik word vir outomatiese beheer en dagopbrengs om energiebesparing te maksimeer. Ander toepassings sluit in beheer van die skermverligting om die batterylewe te verleng en die sigbaarheid van selfone, tablette en notaboeke te optimaliseer.