74 lines
1.4 KiB
Markdown
74 lines
1.4 KiB
Markdown
|
# BH1750 Module
|
||
|
| Since | Origin / Contributor | Maintainer | Source |
|
||
|
| :----- | :-------------------- | :---------- | :------ |
|
||
|
| 2015-01-30 | [Martin Han](https://github.com/MarsTechHAN) | [Martin Han](https://github.com/MarsTechHAN) | [bh1750.lua](../../lua_modules/bh1750/bh1750.lua) |
|
||
|
|
||
|
This Lua module provides access to [BH1750](https://www.mouser.com/ds/2/348/bh1750fvi-e-186247.pdf) I²C ambient light sensor.
|
||
|
|
||
|
!!! note
|
||
|
This module requires `i2c` C module built into firmware.
|
||
|
|
||
|
### Require
|
||
|
```lua
|
||
|
bh1750 = require("bh1750")
|
||
|
```
|
||
|
|
||
|
### Release
|
||
|
```lua
|
||
|
bh1750 = nil
|
||
|
package.loaded["bh1750"] = nil
|
||
|
```
|
||
|
|
||
|
## bh1750.init()
|
||
|
Initializes the module and sets up I²C with hardcoded device address.
|
||
|
|
||
|
#### Syntax
|
||
|
`bh1750.init(sda, scl)`
|
||
|
|
||
|
#### Parameters
|
||
|
- `sda` SDA pin number.
|
||
|
- `scl` SCL pin number.
|
||
|
|
||
|
#### Returns
|
||
|
`nil`
|
||
|
|
||
|
## bh1750.read()
|
||
|
Reads lux value from the sensor.
|
||
|
|
||
|
#### Syntax
|
||
|
`bh1750.read()`
|
||
|
|
||
|
#### Parameters
|
||
|
None
|
||
|
|
||
|
#### Returns
|
||
|
Lux value.
|
||
|
|
||
|
## bh1750.getlux()
|
||
|
Function used to return last read lux value.
|
||
|
|
||
|
#### Syntax
|
||
|
`bh1750.getlux()`
|
||
|
|
||
|
#### Parameters
|
||
|
None
|
||
|
|
||
|
#### Returns
|
||
|
Last known lux value.
|
||
|
|
||
|
#### Example
|
||
|
```lua
|
||
|
SDA_PIN = 6 -- sda pin, GPIO12
|
||
|
SCL_PIN = 5 -- scl pin, GPIO14
|
||
|
|
||
|
bh1750 = require("bh1750")
|
||
|
bh1750.init(SDA_PIN, SCL_PIN)
|
||
|
bh1750.read()
|
||
|
l = bh1750.getlux()
|
||
|
print("lux: "..(l / 100).."."..(l % 100).." lx")
|
||
|
|
||
|
-- release module
|
||
|
bh1750 = nil
|
||
|
package.loaded["bh1750"] = nil
|
||
|
```
|