Arduino Nano - TSL45315 Sensor för omgivningsbelysning: 4 steg
Arduino Nano - TSL45315 Sensor för omgivningsbelysning: 4 steg
Anonim
Image
Image

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.. !

Vad du behöver..!!
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:

Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse

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:

Koda
Koda

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.