Innholdsfortegnelse:

Beregning av lysintensitet ved hjelp av BH1715 og Arduino Nano: 5 trinn
Beregning av lysintensitet ved hjelp av BH1715 og Arduino Nano: 5 trinn

Video: Beregning av lysintensitet ved hjelp av BH1715 og Arduino Nano: 5 trinn

Video: Beregning av lysintensitet ved hjelp av BH1715 og Arduino Nano: 5 trinn
Video: Episode 20 - Fargelampe med micro:bit! 2024, November
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 Arduino Nano.

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

1. BH1715 - Sensor for omgivelseslys

2. Arduino nano

3. I2C -kabel

4. I2C -skjold for Arduino Nano

Trinn 1: BH1715 Oversikt:

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

Først og fremst vil vi gjøre deg kjent med de grunnleggende egenskapene til 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. Arduino Nano

3. I2C -kabel

4. I2C Shield for Arduino nano

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 Arduino -kode:

Lysintensitetsmåling Arduino -kode
Lysintensitetsmåling Arduino -kode
Lysintensitetsmåling Arduino -kode
Lysintensitetsmåling Arduino -kode

La oss begynne med Arduino -koden nå.

Mens vi bruker sensormodulen med Arduino, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og Arduino -kortet.

Hele Arduino -koden er gitt nedenfor for brukerens bekvemmelighet:

#inkludere

// BH1715 I2C -adressen er 0x23 (35) #define Addr 0x23 void setup () {// Initialiser I2C -kommunikasjon som MASTER Wire.begin (); // Initialize Serial Communication, set baud rate = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Send strøm på kommando Wire.write (0x01); // Stopp I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Send kommando for kontinuerlig måling Wire.write (0x10); // Stopp I2C Transmission Wire.endTransmission (); forsinkelse (300); } void loop () {unsigned int data [2]; // Be om 2 byte data Wire.requestFrom (Addr, 2); // Les 2 byte med data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } forsinkelse (300); // konvertere data float luminans = ((data [0] * 256) + data [1]) /1,20; // Utdata til seriell skjerm Serial.print ("Ambient Light Luminance:"); Serial.print (luminans); Serial.println ("lux"); }

Følgende del av koden starter i2c -kommunikasjonen og den serielle kommunikasjonen ved hjelp av Wire.begin () og Serial.begin () -funksjonen.

// Initialiser I2C -kommunikasjon som MASTER

Wire.begin (); // Initialize Serial Communication, set baud rate = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Send strøm på kommando Wire.write (0x01); // Stopp I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Send kommando for kontinuerlig måling Wire.write (0x10); // Stopp I2C Transmission Wire.endTransmission (); forsinkelse (300);

Lysintensitet måles i den følgende delen av koden.

usignerte int -data [2];

// Be om 2 byte data Wire.requestFrom (Addr, 2); // Les 2 byte med data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } forsinkelse (300); // konvertere data float luminans = ((data [0] * 256) + data [1]) /1,20; // Utdata til seriell skjerm Serial.print ("Ambient Light Luminance:"); Serial.print (luminans); Serial.println ("lux");

Alt du trenger å gjøre er å brenne koden i arduino og sjekke avlesningene dine på seriell port. Utgangen er vist på bildet ovenfor også for din referanse.

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: