Snímač intenzity osvětlení

Senzor BH1750 pre meranie denného osvetlenia a grafického znázornenia doby trvania dňa. Výhodou tohto senzora sú výstupné dáta, ktoré sa nemusí prepočítavať alebo inak upravovať, pretože výstupná hodnota je priamo v jednotkách luxoch.

Niekoľko typických intenzít osvetlenia

jasný slnečný deň

100 000 lx

zamračené počasie v lete

20 000 lx

letný deň v tieni

10 000 lx

operačná sála

10 000 lx

osvetlenie v TV-štúdiu

1 000 lx

osvetlenie kancelárie

500 lx

osvetlenie chodby

100 lx

osvetlenie ulice

10 lx

mesačný svit

0,25 lx

jasná hviezdna obloha

0,001 lx

zamračená nočná obloha bez cudzieho osvetlenia

0,0001 lx

 Zapojenie je jednoduché GND zapojíme na GND Arduina ako aj napájanie 5V. Výstup SDA napojíme na analógový vstup A4, a SCL na analógový vstup A5. A4, A5 podporujú I2C komunikáciu.

Princíp I2C komunikácie: Zbernica I2C využíva pre komunikáciu iba dva vodiče, sériový hodinový (SCL) a sériový dátový (SDA) kanál. To znamená, že sa jedná o synchronizovaný prenos dát iba v jednom smere (poloduplexný komunikácie). V danom momente existuje iba jedno vysielajúce zariadenia a ľubovoľný počet zariadení (väčšinou len jedno), ktorá dáta prijímajú.

Každé zariadenie, pripojené na túto zbernicu, je softvérovo adresovateľné raz unikátny adresou pre celý systém a v každú chvíľu existuje jednoduchý vzťah master / slave (riadiace / riadený) obvod.

Schéma:

Program, nutné stáhnout knihovnu zde:

/*
Meranie intenzity svetla
 
Pripojenie pinov:
 VCC-5v
 GND-GND
 SCL-SCL(analog pin 5)
 SDA-SDA(analog pin 4)
 ADD-NC or GND
*/
 
#include <Wire.h>
#include <BH1750.h>
 
 
BH1750 lightMeter;
 
 
void setup(){
  Serial.begin(9600);
  lightMeter.begin();
}
 
 
void loop() {
  uint16_t lux = lightMeter.readLightLevel();
  Serial.print("Aktualne intenzita svetla je: ");
  Serial.print(lux);
  Serial.println(" lux");
  delay(1000);
}

Výstup:

Aktualne intenzita svetla je: 99 lx
Aktualne intenzita svetla je: 120 lx
Aktualne intenzita svetla je: 140 lx
Aktualne intenzita svetla je: 0 lx
Aktualne intenzita svetla je: 0 lx
Aktualne intenzita svetla je: 140 lx

Zde je schéma a ukázka celého projektu:

Použitý senzor BH1750 můžete zde:
http://dratek.cz/arduino/902-arduino-mereni-intenzity-svetla-1420672425.html

Další podobné články

Ovládání teploty pomocí relé a senzoru DS18B20

Tento projekt umožňuje měřit teplotu pomocí senzoru DS18B20, zobrazit ji na I2C LCD displeji, a ovládat relé podle teplotních limitů. Relé bude aktivní, když je teplota mezi 0 a 22 stupni Celsia. Projekt může sloužit k ovládání topení, ventilace nebo jiného zařízení podle okolní teploty.