Mätning av ljusintensitet med hjälp av BH1715 och Raspberry Pi: 5 steg
Mätning av ljusintensitet med hjälp av BH1715 och Raspberry Pi: 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 demonstrera hur BH1715 fungerar med Raspberry pi, med Java som programmeringsspråk.

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

1. BH1715 - Sensor för omgivande ljus

2. Raspberryy Pi

3. I2C -kabel

4. I2C -sköld för hallon Pi

5. Ethernet -kabel

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. Hallon Pi

3. I2C -kabel

4. I2C -sköld för hallon Pi

5. Ethernet -kabel

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: Mätning av ljusintensitet med hjälp av Java -kod:

Ljusintensitetsmätning med Java -kod
Ljusintensitetsmätning med Java -kod
Ljusintensitetsmätning med Java -kod
Ljusintensitetsmätning med Java -kod

Fördelen med att använda hallon pi är att det ger dig flexibiliteten hos programmeringsspråket där du vill programmera kortet för att ansluta sensorn till den. Genom att utnyttja denna fördel med detta kort demonstrerar vi här att det är programmering i Java. Java -koden för BH1715 kan laddas ner från vår GitHub -gemenskap som är Dcube Store.

Förutom användarnas lätthet förklarar vi koden här också:

Som det första kodningssteget måste du ladda ner pi4j -biblioteket för Java, eftersom det här biblioteket stöder de funktioner som används i koden. Så för att ladda ner biblioteket kan du besöka följande länk:

pi4j.com/install.html

Du kan också kopiera den fungerande java -koden för den här sensorn härifrån:

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

// BH1715

// Denna kod är utformad för att fungera med BH1715_I2CS I2C Mini -modulen som är tillgänglig från ControlEverything.com.

//

importera com.pi4j.io.i2c. I2CBus;

importera com.pi4j.io.i2c. I2CDenhet;

importera com.pi4j.io.i2c. I2CFactory;

importera java.io. IOException;

offentlig klass BH1715

{

public static void main (String args ) kastar undantag

{

// Skapa I2C -buss

I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1);

// Skaffa I2C -enhet, BH1715 I2C -adress är 0x23 (35)

I2CDevice -enhet = bus.getDevice (0x23);

// Skicka ström på kommando

device.write ((byte) 0x01);

// Skicka kommando för kontinuerlig mätning

device.write ((byte) 0x10);

Tråd. Sover (500);

// Läs 2 byte med data

// luminans msb, luminans lsb

byte data = ny byte [2];

device.read (data, 0, 2);

// Konvertera data

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

// Mata ut data till skärmen

System.out.printf ("Ambient Light Luminance: %.2f lux %n", luminans);

}

}

Biblioteket som underlättar i2c -kommunikation mellan sensorn och kortet är pi4j, dess olika paket I2CBus, I2CDevice och I2CFactory hjälper till att upprätta anslutningen.

importera com.pi4j.io.i2c. I2CBus; importera com.pi4j.io.i2c. I2CDevice; importera com.pi4j.io.i2c. I2CFactory; importera java.io. IOException;

Denna del av koden får sensorn att fungera för ljusintensitetsmätning genom att skriva respektive kommandon med funktionen write () och sedan läses data med read () -funktionen.

device.write ((byte) 0x01); // power on command

device.write ((byte) 0x10); // kommando för kontinuerlig mätning

byte data = ny byte [2]; // Läs 2 byte med data

device.read (data, 0, 2);

Data som tas emot från sensorn konverteras till lämpligt format med hjälp av följande:

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

Utmatningen skrivs ut med funktionen System.out.println () i följande format.

System.out.printf ("Ambient Light Luminance: %.2f lux %n", luminans);

Sensorns utgång visas på bilden ovan.

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: