2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
TSL45315 on digitaalne ümbritseva valguse andur. See lähendab inimese silma reaktsiooni erinevates valgustingimustes. Seadmetel on kolm valitavat integreerimisaega ja need pakuvad otsest 16-bitist luksväljundit I2C siiniliidese kaudu. Seade sisaldab fotodioodide massiivi, integreerivat analoog-digitaalmuundurit (ADC), signaalitöötlusskeemi, lukside arvutusloogikat ja I2C jadaliidest ühel CMOS-integraallülitusel, et pakkuda luksusandmeid. Siin on selle demonstratsioon arduino nanoga.
Samm: mida vajate..
1. Arduino Nano
2. TSL45315
3. I²C kaabel
4. I²C kilp Arduino Nano jaoks
2. samm: ühendus:
Võtke Arduino Nano jaoks I2C kilp ja lükake see õrnalt üle Nano tihvtide.
Seejärel ühendage I2C kaabli üks ots TSL45315 anduriga ja teine ots I2C varjestusega.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood:
TSL45315 Arduino koodi saate alla laadida meie GitHubi hoidlast-Dcube poest.
Siin on link samale:
github.com/DcubeTechVentures/TSL45315…
Kaasame raamatukogu Wire.h, et hõlbustada anduri I2c -side Arduino plaadiga.
Siit saate koodi ka kopeerida, see on järgmine:
// Levitatakse vaba tahte litsentsiga.
// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
// TSL45315
// See kood on loodud töötama koos TSl45315_I2CS I2C minimooduliga, mis on saadaval Dcube Store'is.
#kaasake
// TSL45315 I2C aadress on 0x29 (41)
#define Addr 0x29
tühine seadistus ()
{
// Initsialiseeri I2C side kui MASTER
Wire.begin ();
// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x80);
// Tavaline töö
Wire.write (0x03);
// Peata I2C edastamine
Wire.endTransmission ();
// Käivitage I2C edastus
Wire.beginTransmission (Addr);
// Valige konfiguratsiooniregister
Wire.write (0x81);
// Kordaja 1x, toon: 400ms
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [2];
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige andmeregister
Wire.write (0x84);
// Peata I2C edastamine
Wire.endTransmission ();
// Taotle 2 baiti andmeid
Wire.requestFrom (Addr, 2);
// Lugege 2 baiti andmeid
// heledus lsb, heledus msb
kui (Wire.available () == 2)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
}
// Teisendage andmed
ujuki heledus = andmed [1] * 256 + andmed [0];
// Väljundandmed jadamonitorile
Serial.print ("Ümbritseva valguse heledus:");
Serial.print (heledus);
Serial.println ("lux");
viivitus (300);
}
4. samm: rakendused:
Ümbritseva valguse anduri lai dünaamiline ulatus muudab selle eriti kasulikuks välitingimustes, kus see on otsese päikesevalguse käes. Seade sobib ideaalselt tänavavalgustite ja turvaseadmete, stendide ja autovalgustite automaatseks juhtimiseks. Seadmeid TSL45315 saab kasutada ka tahkes olekus ja üldvalguses automaatseks juhtimiseks ja päevavalguse kogumiseks, et maksimeerida energia säästmist. Muud rakendused hõlmavad ekraani taustvalgustuse juhtimist, et pikendada aku kasutusaega ja optimeerida nähtavust mobiiltelefonides, tahvelarvutites ja sülearvutites.