Raspberry Pi

23) Měřič osvětlení


Při mém toulání-se po čínských e-shopech jsem narazil na několik zajímavých obvodů, pomocí kterých jsem chtěl ještě trochu vylepšit mojí RasPi krabičku.

Jedním z těchto obvodů je měřič osvětlení BH1750. Katalogový list je tady.

Koupil jsem ho přes e-bay za necelých 7 dolarů. Byl už přidělaný na plošňáčku s vyvedenými komunikačními vývody, takže už jsem se nemusel starat o to, jak k tomu mikro SMD švábovi přidělám dráty.
Dá se sehnat i na GoodluckBuy.com, ale tam je ten samý obvod za dvojnásobnou cenu. 

Připojení je naprosto jednoduché:

GND, Vcc, SDA a SCL se připojí na odpovídající vývody na RasPI. Vývod ADD slouží ke změně I2C adresy čidla. Když se zapojí na GND, má čidlo adresu 0x23. Pokud se tento vývod připojí na Vcc, změní se adresa na 0x5C.

Že čidlo komunikuje, se dá vyzkoušet podobně, jako je to popsáno v článku o GPIO Expanderu -
- pomocí příkazu:

sudo i2cdetect 0

Pro novější variantu RasPi je třeba v příkazu změnit číslo I2C kanálu z 0 na 1 
(Tento příkaz vyžaduje, aby byl nainstalován a spuštěn nástroj i2c-tools. Instalace a spuštění je popsáno v článku o expanderu.)

 

K pohodlnému ovládání sběrnice používám rozšíření SMBUS pro Python.

Instalace toho SMBUSu se provede pomocí:

sudo apt-get install python-smbus

 

Pak už stačí jen napsat jednoduchý pythonovský program:

#!/usr/bin/python
# -*- encoding: utf-8 -*-


import time
import smbus

bus = smbus.SMBus(0) # starsi varianta RasPi (256MB)
#bus = smbus.SMBus(1) # novejsi varianta RasPi (512MB)

addr = 0x23     # i2c adresa čidla

while True:
  svetlo = bus.read_i2c_block_data(addr,0x11)
  print "aktuální osvětlení čidla je " + str((svetlo[1] + (256 * svetlo[0])) / 1.2) + "lx"
  time.sleep(0.5)

 

Když se tento program spustí a baterkou se pak různě svítí na ten čip, je výsledek v terminálu takovýto:

 

Určitě je to nepoužitelné na zjišťování stavu světelného znečištění, protože je to čidlo málo citlivé. 
Sice se dá citlivost o trochu zvětšit prodloužením doby měření, ale ani potom není dostatečná. 

Tohle čidlo se dá ale dobře použít třeba pro zjišťování, jestli máte dostatečně osvětlenou pracovní plochu.

 

 


úvodní strana webu AstroMiK.org

poslední úprava stránky 2.11.2012