Innehållsförteckning:
- Steg 1: BH1715 Översikt:
- Steg 2: Vad du behöver.. !
- Steg 3: Hårdvaruanslutning:
- Steg 4: Ljusintensitetsmätning Arduino -kod:
- Steg 5: Ansökningar:
Video: Ljusintensitetsberäkning med BH1715 och Arduino Nano: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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:
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.. !
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å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:
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:
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:
Mätning av luftfuktighet och temperatur med HIH6130 och Arduino Nano: 4 steg
Mätning av fukt och temperatur med HIH6130 och Arduino Nano: HIH6130 är en fukt- och temperatursensor med digital utgång. Dessa sensorer ger en noggrannhetsnivå på ± 4% RF. Med branschledande långsiktig stabilitet, sann temperaturkompenserad digital I2C, branschledande tillförlitlighet, energieffektivitet
Ljusintensitetsberäkning med BH1715 och partikelfoton: 5 steg
Ljusintensitetsberäkning med hjälp av BH1715 och Particle Photon: Igår arbetade vi med LCD -skärmar, och medan vi arbetade med dem insåg vi vikten av ljusintensitetsberäkning. Ljusintensiteten är inte bara viktig i den fysiska världen i denna värld utan den har sin välsagda roll i biologin
Arduino -robot med avstånd, riktning och rotationsgrad (öst, väst, norr, söder) som styrs med röst med hjälp av Bluetooth -modul och autonom robotrörelse .: 6 steg
Arduino -robot med avstånd, riktning och rotationsgrad (öst, väst, norr, söder) som styrs med röst med hjälp av Bluetooth -modul och autonom robotrörelse.: Denna instruktion förklarar hur man gör Arduino -robot som kan flyttas i önskad riktning (framåt, bakåt , Vänster, höger, öst, väst, norr, syd) krävs Distans i centimeter med röstkommando. Roboten kan också flyttas autonomt
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid