KKM: BH1750

KKM: BH1750-Uncategorized

Početnik si s Dasduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala tvrtke soldered na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Dasduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

UVOD

BH1750 je digitalni ambijetalni senzor svjetlosti spreman za I2C komunikaciju. Vjerovatno ste primjetili kako naši pametni telefoni mijenjaju pozadinsko osvjetljenje ekrana ovisno o količini svjetla, a to rade upravo zahvaljujući ovom senzoru. Breakout koji vidite na slici ispod ima sve spremno za komunikaciju s Dasduinom te regulator napona. Više o svjetlosti pročitajte u ovom opsežnom tutorialu.

Napon: 3V-5V
Raspon mjerenja: 1-65535lx
Rezolucija: 0.5lx
Dimenzije: 14 x 19mm

Ovaj IC je vrlo stabilan te ima mala odstupanja s obzirom na izvor svjetlosti te promjenu temperature. Više pogledajte u datasheet-u. Za pregled mogućnosti pogledajte prosječni intenzitet svjetla:

noću: 0.001 – 0.02;
mjesečina: 0.02-0.3;
oblačno, unutra: 5-50;
oblačno, vani: 50-500;
sunčano, unutra: 100-1000;
direktna sunčeva svjetlost: oko 1M;

optimalno za čitanje knjige: 50-60;
standardno osvjetljenje televizora: 1400.

KAKO RADI?

Pogledajmo block dijagram IC-a:

Krenimo s lijeva. Postupak kreće s fotodiodom (PD) koja ima osjetljivost približno osjetljivosti ljudskog oka. Taj signal pojačavamo pomoću operacijskog pojačala (AMP) te pretvaramo iz analognog u 16bitni digitalni signal (ADC). Postupak završava IIC logikom koja koristi interni oscilator (služi kao CLK).

Vrijeme trajanja ovog postupka ovisi o točnosti očitanja koju želimo. Imamo tri mogučnosti koji daju točnosti od 0.5lx, 1lx ili 4lx, a vrijeme trajanja je redom 120ms, 120ms i 16ms. Zbog duljeg mjerenja mogu se eliminirati neki šumovi (uključujući i 50Hz/60Hz šum) stoga dobivamo ovako točne rezultate. Inale, lux [lx] je SI mjerna jedinica osvjetljenja. Jednaka je jedan lumen po metru kvadratnom, dok se prema candelu (simbol: cd) odnosi kao lumen po steradianu (cd = lm / sr). Treba svakako spomenuti kako se rezolucija mjerenja može povećati do 10k lx, što zapravo odgovara svjetlosti koje daje direktna sunčeva svjetlost.

KAKO POVEZATI?

ARDUINO KOD

Kao i uvijek zadnji odlomak KKM-a sadrži example kod modula. Koristiti ćemo BH1750 library. Pomoć oko instalacije i korištenja library-a možete pronaći ovdje, a ako prvi put koristite Arduino IDE svakako pogledajte ovaj tutorial. U nastavku primjer korištenja library-a, koji u Serial Monitoru ispisuje svjetlost u luxima svakih 1 sekundu.

///////////////////////////////////////////////////////////////////////////////
/*                                                                           */
/*                                                                           */
/* (c) e-radionica.com 2015 - http://e-radionica.com/hr/faq/#privatnost      */
/* techsupport@e-radionica.com                                               */
/*                                                                           */
/*                                                                           */
/* Digitalni senzor svjetlosti BH1750 - KKM tutorial                         */
///////////////////////////////////////////////////////////////////////////////
/*
 * Povezivanje:
 *  VCC - 5V
 *  GND - gnd
 *  SCL - SCL (A5)
 *  SDA - SDA (A4)
 *  ADDR - bez konekcije ili gnd
*/
#include "Wire.h"
#include "BH1750.h"
int lux;
BH1750 luxometar;
void setup(){
  Serial.begin(9600);
  luxometar.begin();
}
void loop() {
  lux = luxometar.readLightLevel();
  Serial.print("Svjetlost: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(1000);
}