Ljusintensitetsberäkning med BH1715 och partikelfoton: 5 steg
Ljusintensitetsberäkning med BH1715 och partikelfoton: 5 steg
Anonim
Image
Image

Igår arbetade vi med LCD -skärmar, och när vi arbetade med dem insåg vi vikten av ljusintensitetsberäkning. Ljusintensiteten är inte bara viktig i den fysiska domänen i denna värld utan den har också sin välsagda roll i det biologiska området. Noggrann uppskattning av ljusintensitet spelar en avgörande roll i vårt ekosystem, i tillväxten av växter etc. Så för att tjäna detta ändamål studerade vi denna sensor BH1715, som är en 16-bitars seriell utgångstyp av omgivande ljussensor.

I denna handledning kommer vi att visa hur BH1715 fungerar med Particle Photon. Particle Photon är det kort som faktiskt kan underlätta kontrollen av vilken enhet som helst via internet.

Hårdvara som du kommer att behöva för detta ändamål är följande:

1. BH1715 - Sensor för omgivande ljus

2. Partikelfoton

3. I2C -kabel

4. I2C -skärm för partikelfoton

Steg 1: BH1715 Översikt:

Vad du behöver..!!
Vad du behöver..!!

Först och främst vill vi bekanta dig med de grundläggande funktionerna i sensormodulen som är BH1715 och det kommunikationsprotokoll som den fungerar på.

BH1715 är en digital sensor för omgivande ljus med ett I²C -bussgränssnitt. BH1715 används vanligtvis för att erhålla data från omgivande ljus för justering av LCD- och knappsatsens bakgrundsbelysning för mobila enheter. Denna enhet erbjuder en 16-bitars upplösning och ett justerbart mätområde, vilket möjliggör detektering från 0,23 till 100 000 lux.

Kommunikationsprotokollet som sensorn fungerar på är I2C. I2C står för den interintegrerade kretsen. Det är ett kommunikationsprotokoll där kommunikationen sker via SDA (seriell data) och SCL (seriell klocka) linjer. Det gör det möjligt att ansluta flera enheter samtidigt. Det är ett av de enklaste och mest effektiva kommunikationsprotokollet.

Steg 2: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!
Vad du behöver..!!
Vad du behöver..!!
Vad du behöver..!!
Vad du behöver..!!

Materialet vi behöver för att uppnå vårt mål inkluderar följande hårdvarukomponenter:

1. BH1715 - Sensor för omgivande ljus

2. Partikelfoton

3. I2C -kabel

4. I2C -skärm för partikelfoton

Steg 3: Hårdvaruanslutning:

Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning
Hårdvaruanslutning

Hårdvaruanslutningssektionen förklarar i princip de anslutningar som krävs mellan sensorn och hallonpi. Att säkerställa korrekta anslutningar är den grundläggande nödvändigheten när du arbetar på något system för önskad utgång. Så, de nödvändiga anslutningarna är följande:

BH1715 fungerar över I2C. Här är exemplet kopplingsschema som visar hur man kopplar upp varje gränssnitt för sensorn.

Out-of-the-box är kortet konfigurerat för ett I2C-gränssnitt, därför rekommenderar vi att du använder den här anslutningen om du annars är agnostiker. Allt du behöver är fyra ledningar!

Endast fyra anslutningar krävs Vcc, Gnd, SCL och SDA -stift och dessa är anslutna med hjälp av I2C -kabel.

Dessa kopplingar visas i bilderna ovan.

Steg 4: Ljusintensitetsmätning Partikelkod:

Ljusintensitetsmätning Partikelkod
Ljusintensitetsmätning Partikelkod
Ljusintensitetsmätning Partikelkod
Ljusintensitetsmätning Partikelkod

Låt oss börja med partikelkoden nu.

När vi använder sensormodulen med arduino inkluderar vi application.h och spark_wiring_i2c.h biblioteket. "application.h" och spark_wiring_i2c.h biblioteket innehåller de funktioner som underlättar i2c -kommunikationen mellan sensorn och partikeln.

Hela partikelkoden ges nedan för användarens bekvämlighet:

#omfatta

#omfatta

// BH1715 I2C -adressen är 0x23 (35)

#define Addr 0x23

int luminans = 0;

void setup ()

{

// Ange variabel

Partikelvariabel ("i2cdevice", "BH1715");

Partikelvariabel ("luminans", luminans);

// Initiera I2C -kommunikation som MASTER

Wire.begin ();

// Initiera seriell kommunikation, ange överföringshastighet = 9600

Serial.begin (9600);

// Starta I2C -sändning

Wire.beginTransmission (Addr);

// Skicka ström på kommando

Wire.write (0x01);

// Stoppa I2C -överföring

Wire.endTransmission ();

// Starta I2C -sändning

Wire.beginTransmission (Addr);

// Skicka kommando för kontinuerlig mätning

Wire.write (0x10);

// Stoppa I2C -överföring

Wire.endTransmission ();

fördröjning (300);

}

void loop ()

{

osignerade int -data [2];

// Begär 2 byte data

Wire.requestFrom (Addr, 2);

// Läs 2 byte med data

// ALS msb, ALS lsb

om (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

fördröjning (300);

// Konvertera data

luminans = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1,20;

// Utdata till instrumentpanelen

Particle.publish ("Ambient Light Luminance:", String (luminance));

}

Steg 5: Ansökningar:

Ansökningar
Ansökningar

BH1715 är en digital sensor för omgivande ljus som kan integreras i mobiltelefon, LCD -TV, NOTE PC etc. Den kan också användas i bärbar spelmaskin, digitalkamera, digital videokamera, PDA, LCD -display och många fler enheter som kräver effektiva ljusavkännande applikationer.

Rekommenderad: