Indholdsfortegnelse:

Beregning af lysintensitet ved hjælp af BH1715 og Arduino Nano: 5 trin
Beregning af lysintensitet ved hjælp af BH1715 og Arduino Nano: 5 trin

Video: Beregning af lysintensitet ved hjælp af BH1715 og Arduino Nano: 5 trin

Video: Beregning af lysintensitet ved hjælp af BH1715 og Arduino Nano: 5 trin
Video: Beregning af Vinkel A 2024, Juli
Anonim
Image
Image

I går arbejdede vi på LCD -skærme, og mens vi arbejdede med dem, indså vi vigtigheden af lysintensitetsberegning. Lysintensitet er ikke kun vigtig i det fysiske område i denne verden, men det har også sin veltalte rolle i det biologiske område. Nøjagtig estimering af lysintensitet spiller en afgørende rolle i vores økosystem, i væksten af planter osv. Så for at tjene dette formål undersøgte vi denne sensor BH1715, som er en 16-bit seriel udgangstype omgivende lyssensor.

I denne vejledning vil vi demonstrere, hvordan BH1715 fungerer med Arduino Nano.

Hardware, som du får brug for til dette formål, er som følger:

1. BH1715 - Sensor til omgivende lys

2. Arduino nano

3. I2C -kabel

4. I2C -skjold til Arduino Nano

Trin 1: BH1715 Oversigt:

Hvad du har brug for..!!
Hvad du har brug for..!!

Først og fremmest vil vi gerne gøre dig bekendt med de grundlæggende funktioner i sensormodulet, der er BH1715, og kommunikationsprotokollen, som det fungerer på.

BH1715 er en digital omgivelsessensor med en I²C busgrænseflade. BH1715 bruges almindeligvis til at indhente omgivelseslysdata til justering af LCD- og tastaturets baggrundsbelysning til mobile enheder. Denne enhed tilbyder en 16-bit opløsning og et justerbart måleområde, der tillader detektion fra.23 til 100.000 lux.

Kommunikationsprotokollen, som sensoren fungerer på, er I2C. I2C står for det interintegrerede kredsløb. Det er en kommunikationsprotokol, hvor kommunikationen finder sted gennem SDA (serielle data) og SCL (serielle ur) linjer. Det tillader tilslutning af flere enheder på samme tid. Det er en af de enkleste og mest effektive kommunikationsprotokoller.

Trin 2: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!
Hvad du har brug for..!!
Hvad du har brug for..!!
Hvad du har brug for..!!
Hvad du har brug for..!!

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. BH1715 - Sensor til omgivende lys

2. Arduino Nano

3. I2C -kabel

4. I2C Shield til Arduino nano

Trin 3: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardware -tilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og hindbær pi. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

BH1715 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker. Alt du behøver er fire ledninger!

Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 4: Lysintensitetsmåling Arduino -kode:

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

Lad os starte med Arduino -koden nu.

Mens vi bruger sensormodulet med Arduino, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og Arduino -kortet.

Hele Arduino -koden er angivet nedenfor for brugerens bekvemmelighed:

#omfatte

// BH1715 I2C -adressen er 0x23 (35) #define Addr 0x23 void setup () {// Initialiser I2C -kommunikation som MASTER Wire.begin (); // Initialiser seriel kommunikation, indstil baudhastighed = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Send strøm til kommandoen Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Send kommando for kontinuerlig måling Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); forsinkelse (300); } void loop () {unsigned int data [2]; // Anmod om 2 byte data Wire.requestFrom (Addr, 2); // Læs 2 byte data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } forsinkelse (300); // konverter data float luminans = ((data [0] * 256) + data [1]) /1,20; // Outputdata til seriel skærm Serial.print ("Ambient Light Luminance:"); Seriel.print (luminans); Serial.println ("lux"); }

Den følgende del af koden starter i2c -kommunikationen og den serielle kommunikation ved hjælp af funktionen Wire.begin () og Serial.begin ().

// Initialiser I2C -kommunikation som MASTER

Wire.begin (); // Initialiser seriel kommunikation, indstil baudhastighed = 9600 Serial.begin (9600); // Start I2C Transmission Wire.beginTransmission (Addr); // Send strøm til kommandoen Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Start I2C Transmission Wire.beginTransmission (Addr); // Send kommando for kontinuerlig måling Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); forsinkelse (300);

Lysintensitet måles i det følgende afsnit af koden.

usignerede int -data [2];

// Anmod om 2 byte data Wire.requestFrom (Addr, 2); // Læs 2 byte data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } forsinkelse (300); // konverter dataflyde luminans = ((data [0] * 256) + data [1]) /1,20; // Outputdata til seriel skærm Serial.print ("Ambient Light Luminance:"); Seriel.print (luminans); Serial.println ("lux");

Alt du skal gøre er at brænde koden i arduino og kontrollere dine aflæsninger på den serielle port. Outputtet vises også på billedet ovenfor til din reference.

Trin 5: Ansøgninger:

Ansøgninger
Ansøgninger

BH1715 er en digital udgangssensor til omgivende lys, som kan integreres i mobiltelefon, LCD -tv, NOTE PC osv. Det kan også bruges i bærbar spillemaskine, digitalkamera, digitalt videokamera, PDA, LCD -display og mange flere enheder, der kræver effektive lysfølende applikationer.

Anbefalede: