Innholdsfortegnelse:

Måling av lysintensitet ved bruk av BH1715 og Raspberry Pi: 5 trinn
Måling av lysintensitet ved bruk av BH1715 og Raspberry Pi: 5 trinn

Video: Måling av lysintensitet ved bruk av BH1715 og Raspberry Pi: 5 trinn

Video: Måling av lysintensitet ved bruk av BH1715 og Raspberry Pi: 5 trinn
Video: Мощный ударный гайковерт 400 Нм RYOBI R18IW3-0. Пройдет ли тест до 550 Нм?? 2024, Juli
Anonim
Image
Image

I går jobbet vi med LCD -skjermer, og mens vi arbeidet med dem innså vi viktigheten av lysintensitetsberegning. Lysintensitet er ikke bare viktig i det fysiske domenet til denne verden, men det har også sin veltalte rolle i det biologiske området. Nøyaktig estimering av lysintensitet spiller en sentral rolle i vårt økosystem, i veksten av planter, etc. Så for å tjene dette formålet studerte vi denne sensoren BH1715, som er en 16-bits seriell utgangstype omgivende lyssensor.

I denne opplæringen skal vi demonstrere hvordan BH1715 fungerer med Raspberry pi, ved å bruke Java som programmeringsspråk.

Maskinvaren du trenger for dette formålet er som følger:

1. BH1715 - Sensor for omgivelseslys

2. Raspberryy Pi

3. I2C -kabel

4. I2C Shield For Raspberry Pi

5. Ethernet -kabel

Trinn 1: BH1715 Oversikt:

Hva trenger du..!!
Hva trenger du..!!

Først og fremst vil vi gjøre deg kjent med de grunnleggende funksjonene i sensormodulen som er BH1715 og kommunikasjonsprotokollen som den fungerer på.

BH1715 er en digital sensor for omgivelseslys med et I²C -bussgrensesnitt. BH1715 brukes ofte til å skaffe data fra omgivelseslys for justering av bakgrunnsbelysning for LCD og tastatur for mobile enheter. Denne enheten tilbyr en 16-biters oppløsning og et justerbart måleområde, slik at det kan detekteres fra 0,23 til 100 000 lux.

Kommunikasjonsprotokollen som sensoren fungerer på er I2C. I2C står for den interintegrerte kretsen. Det er en kommunikasjonsprotokoll der kommunikasjonen foregår gjennom SDA (seriell data) og SCL (seriell klokke) linjer. Det tillater tilkobling av flere enheter samtidig. Det er en av de enkleste og mest effektive kommunikasjonsprotokoller.

Trinn 2: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!
Hva trenger du..!!
Hva trenger du..!!
Hva trenger du..!!
Hva trenger du..!!

Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:

1. BH1715 - Sensor for omgivelseslys

2. Bringebær Pi

3. I2C -kabel

4. I2C Shield For Raspberry Pi

5. Ethernet -kabel

Trinn 3: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:

BH1715 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.

Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!

Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.

Disse sammenhengene er vist på bildene ovenfor.

Trinn 4: Måling av lysintensitet ved hjelp av Java -kode:

Måling av lysintensitet ved hjelp av Java -kode
Måling av lysintensitet ved hjelp av Java -kode
Måling av lysintensitet ved hjelp av Java -kode
Måling av lysintensitet ved hjelp av Java -kode

Fordelen med å bruke bringebær pi er at det gir deg fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her at det er programmering i Java. Java -koden for BH1715 kan lastes ned fra vårt GitHub -fellesskap som er Dcube Store.

I tillegg til brukernes brukervennlighet, forklarer vi koden også her:

Som det første trinnet i kodingen må du laste ned pi4j -biblioteket i tilfelle java, fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:

pi4j.com/install.html

Du kan også kopiere den fungerende java -koden for denne sensoren herfra:

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// BH1715

// Denne koden er designet for å fungere med BH1715_I2CS I2C Mini Module tilgjengelig fra ControlEverything.com.

//

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

offentlig klasse BH1715

{

public static void main (String args ) kaster Unntak

{

// Lag I2C -buss

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

// Få I2C -enhet, BH1715 I2C -adresse er 0x23 (35)

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

// Send strøm på kommando

device.write ((byte) 0x01);

// Send kommando for kontinuerlig måling

device.write ((byte) 0x10);

Tråd. Sover (500);

// Les 2 byte med data

// luminans msb, luminans lsb

byte data = ny byte [2];

device.read (data, 0, 2);

// Konverter data

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

// Utdata til skjermen

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

}

}

Biblioteket som muliggjør i2c -kommunikasjon mellom sensoren og kortet er pi4j, dets forskjellige pakker I2CBus, I2CDevice og I2CFactory hjelper til med å etablere forbindelsen.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; importer com.pi4j.io.i2c. I2CFactory; importer java.io. IOException;

Denne delen av koden får sensoren til å operere for lysintensitetsmåling ved å skrive de respektive kommandoene ved hjelp av skrive () -funksjonen og deretter leses dataene ved hjelp av lese () -funksjonen.

device.write ((byte) 0x01); // strøm på kommando

device.write ((byte) 0x10); // kommando for kontinuerlig måling

byte data = ny byte [2]; // Les 2 byte med data

device.read (data, 0, 2);

Dataene som mottas fra sensoren konverteres til riktig format ved å bruke følgende:

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

Utskriften skrives ut med funksjonen System.out.println () i følgende format.

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

Sensorens utgang er vist på bildet ovenfor.

Trinn 5: Søknader:

Applikasjoner
Applikasjoner

BH1715 er en digital utgangssensor som kan integreres i mobiltelefon, LCD -TV, NOTE PC etc. Den kan også brukes i bærbar spillmaskin, digitalkamera, digitalt videokamera, PDA, LCD -skjerm og mange flere enheter som krever effektive lysfølende applikasjoner.

Anbefalt: