2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
TSL45315 je digitalni senzor ambijentalnog svjetla. Ona približava reakciju ljudskog oka u različitim svjetlosnim uvjetima. Uređaji imaju tri vremena integracije koja se mogu izabrati i pružaju izravan 16-bitni lux izlaz preko sučelja I2C sabirnice. Uređaj sadrži niz fotodioda, integrirajući analogno-digitalni pretvarač (ADC), sklop za obradu signala, logiku izračuna luksa i I2C serijsko sučelje na jednom CMOS integriranom krugu za pružanje luks podataka. Evo njegove demonstracije s arduino nano.
Korak 1: Što vam treba..
1. Arduino Nano
2. TSL45315
3. I²C kabel
4. I²C štit za Arduino Nano
Korak 2: Povezivanje:
Uzmite I2C štit za Arduino Nano i lagano ga gurnite preko igle Nano.
Zatim spojite jedan kraj I2C kabela na TSL45315 osjetnik, a drugi kraj na I2C štit.
Priključci su prikazani na gornjoj slici.
Korak 3: Kôd:
Arduino kôd za TSL45315 može se preuzeti s našeg GitHub spremišta-Dcube Store.
Evo linka za isto:
github.com/DcubeTechVentures/TSL45315…
Uključujemo knjižnicu Wire.h kako bismo olakšali I2c komunikaciju senzora s Arduino pločom.
Ovdje možete i kopirati kôd, dat je na sljedeći način:
// Distribuirano s licencom slobodne volje.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// TSL45315
// Ovaj kôd je dizajniran za rad s TSl45315_I2CS I2C mini modulom dostupnim u Dcube Storeu.
#uključi
// TSL45315 I2C adresa je 0x29 (41)
#define Addr 0x29
void setup ()
{
// Inicializirajte I2C komunikaciju kao MASTER
Wire.begin ();
// Pokretanje serijske komunikacije, postavljena brzina prijenosa = 9600
Serial.begin (9600);
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odaberite kontrolni registar
Wire.write (0x80);
// Normalna operacija
Wire.write (0x03);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odabir registra konfiguracije
Wire.write (0x81);
// Multiplikator 1x, Nijansa: 400ms
Wire.write (0x00);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
kašnjenje (300);
}
void loop ()
{
nepotpisani int podaci [2];
// Pokretanje I2C prijenosa
Wire.beginTransmission (Addr);
// Odabir registra podataka
Wire.write (0x84);
// Zaustavljanje I2C prijenosa
Wire.endTransmission ();
// Zatražite 2 bajta podataka
Wire.requestFrom (Addr, 2);
// Očitavanje 2 bajta podataka
// luminance lsb, luminance msb
if (Wire.available () == 2)
{
podaci [0] = Wire.read ();
podaci [1] = Wire.read ();
}
// Pretvorimo podatke
plutajuća svjetlina = podaci [1] * 256 + podaci [0];
// Izlaženje podataka na serijski monitor
Serial.print ("Osvjetljenje ambijentalnog svjetla:");
Serijski.tisak (svjetlina);
Serial.println ("lux");
kašnjenje (300);
}
Korak 4: Aplikacije:
Širok dinamički raspon senzora ambijentalnog svjetla čini ga posebno korisnim u vanjskim aplikacijama gdje je izložen izravnoj sunčevoj svjetlosti. Uređaj je idealan za uporabu u automatskoj kontroli ulične rasvjete i sigurnosne, oglasne ploče i automobilske rasvjete. Uređaji TSL45315 također se mogu koristiti u čvrstom stanju i općoj rasvjeti za automatsko upravljanje i berbu dnevnog svjetla radi maksimalne uštede energije. Ostale aplikacije uključuju kontrolu pozadinskog osvjetljenja zaslona za produljenje trajanja baterije i optimizaciju vidljivosti na mobitelima, tabletima i prijenosnim računalima.