Innehållsförteckning:

Ljusintensitetsberäkning med BH1715 och Arduino Nano: 5 steg
Ljusintensitetsberäkning med BH1715 och Arduino Nano: 5 steg

Video: Ljusintensitetsberäkning med BH1715 och Arduino Nano: 5 steg

Video: Ljusintensitetsberäkning med BH1715 och Arduino Nano: 5 steg
Video: Fysik 2 Ljusets brytning och dispersion 2024, Juli
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 Arduino Nano.

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

1. BH1715 - Sensor för omgivande ljus

2. Arduino nano

3. I2C -kabel

4. I2C -skärm för Arduino Nano

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. Arduino Nano

3. I2C -kabel

4. I2C Shield för Arduino nano

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

Ljusintensitetsmätning Arduino -kod
Ljusintensitetsmätning Arduino -kod
Ljusintensitetsmätning Arduino -kod
Ljusintensitetsmätning Arduino -kod

Låt oss börja med Arduino -koden nu.

När vi använder sensormodulen med Arduino inkluderar vi Wire.h -biblioteket. "Wire" -biblioteket innehåller de funktioner som underlättar i2c -kommunikationen mellan sensorn och Arduino -kortet.

Hela Arduino -koden anges nedan för användarens bekvämlighet:

#omfatta

// BH1715 I2C -adressen är 0x23 (35) #define Addr 0x23 void setup () {// Initiera I2C -kommunikation som MASTER Wire.begin (); // Initiera seriekommunikation, ange överföringshastighet = 9600 Serial.begin (9600); // Starta I2C Transmission Wire.beginTransmission (Addr); // Skicka ström på kommandot Wire.write (0x01); // Stoppa I2C Transmission Wire.endTransmission (); // Starta I2C Transmission Wire.beginTransmission (Addr); // Skicka kontinuerligt mätkommando Wire.write (0x10); // Stoppa I2C Transmission Wire.endTransmission (); fördröjning (300); } void loop () {unsigned int data [2]; // Begär 2 byte data Wire.requestFrom (Addr, 2); // Läs 2 byte med data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } fördröjning (300); // konvertera dataflödesluminansen = ((data [0] * 256) + data [1]) /1,20; // Utdata till seriell bildskärm Serial.print ("Ambient Light Luminance:"); Serial.print (luminans); Serial.println ("lux"); }

Följande del av koden initierar i2c -kommunikationen och den seriella kommunikationen med hjälp av funktionen Wire.begin () och Serial.begin ().

// Initiera I2C -kommunikation som MASTER

Wire.begin (); // Initiera seriell kommunikation, ange överföringshastighet = 9600 Serial.begin (9600); // Starta I2C Transmission Wire.beginTransmission (Addr); // Skicka ström på kommandot Wire.write (0x01); // Stoppa I2C Transmission Wire.endTransmission (); // Starta I2C Transmission Wire.beginTransmission (Addr); // Skicka kontinuerligt mätkommando Wire.write (0x10); // Stoppa I2C Transmission Wire.endTransmission (); fördröjning (300);

Ljusintensiteten mäts i följande avsnitt av koden.

osignerade int -data [2];

// Begär 2 byte data Wire.requestFrom (Addr, 2); // Läs 2 byte med data // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); } fördröjning (300); // konvertera dataflödesluminansen = ((data [0] * 256) + data [1]) /1,20; // Utdata till seriell bildskärm Serial.print ("Ambient Light Luminance:"); Serial.print (luminans); Serial.println ("lux");

Allt du behöver göra är att bränna koden i arduino och kontrollera dina avläsningar på seriell port. Utmatningen visas i bilden ovan också för din referens.

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: