75 lines
1.9 KiB
Markdown
75 lines
1.9 KiB
Markdown
|
# BMP085 Module
|
||
|
| Since | Origin / Contributor | Maintainer | Source |
|
||
|
| :----- | :-------------------- | :---------- | :------ |
|
||
|
| 2015-08-03 | [Konrad Beckmann](https://github.com/kbeckmann) | [Konrad Beckmann](https://github.com/kbeckmann) | [bmp085.c](../../app/modules/bmp085.c)|
|
||
|
|
||
|
|
||
|
This module provides access to the [BMP085](https://www.sparkfun.com/tutorials/253) temperature and pressure sensor. The module also works with BMP180.
|
||
|
|
||
|
## bmp085.setup()
|
||
|
Initializes the module.
|
||
|
|
||
|
#### Syntax
|
||
|
`bmp085.setup()`
|
||
|
|
||
|
#### Parameters
|
||
|
None
|
||
|
|
||
|
#### Returns
|
||
|
`nil`
|
||
|
|
||
|
## bmp085.temperature()
|
||
|
Samples the sensor and returns the temperature in celsius as an integer multiplied with 10.
|
||
|
|
||
|
#### Syntax
|
||
|
`bmp085.temperature()`
|
||
|
|
||
|
#### Returns
|
||
|
temperature multiplied with 10 (integer)
|
||
|
|
||
|
#### Example
|
||
|
```lua
|
||
|
local sda, scl = 1, 2
|
||
|
i2c.setup(0, sda, scl, i2c.SLOW)
|
||
|
bmp085.setup()
|
||
|
local t = bmp085.temperature()
|
||
|
print(string.format("Temperature: %s.%s degrees C", t / 10, t % 10))
|
||
|
```
|
||
|
|
||
|
## bmp085.pressure()
|
||
|
Samples the sensor and returns the pressure in pascal as an integer.
|
||
|
|
||
|
The optional `oversampling_setting` parameter determines for how long time the sensor samples data.
|
||
|
The default is `3` which is the longest sampling setting. Possible values are 0, 1, 2, 3.
|
||
|
See the data sheet for more information.
|
||
|
|
||
|
#### Syntax
|
||
|
`bmp085.pressure(oversampling_setting)`
|
||
|
|
||
|
#### Parameters
|
||
|
`oversampling_setting` integer that can be 0, 1, 2 or 3
|
||
|
|
||
|
#### Returns
|
||
|
pressure in pascals (integer)
|
||
|
|
||
|
#### Example
|
||
|
```lua
|
||
|
local sda, scl = 1, 2
|
||
|
i2c.setup(0, sda, scl, i2c.SLOW) -- call i2c.setup() only once
|
||
|
bmp085.setup()
|
||
|
local p = bmp085.pressure()
|
||
|
print(string.format("Pressure: %s.%s mbar", p / 100, p % 100))
|
||
|
```
|
||
|
|
||
|
## bmp085.pressure_raw()
|
||
|
Samples the sensor and returns the raw pressure in internal units. Might be useful if you need higher precision.
|
||
|
|
||
|
#### Syntax
|
||
|
`bmp085.pressure_raw(oversampling_setting)`
|
||
|
|
||
|
#### Parameters
|
||
|
`oversampling_setting` integer that can be 0, 1, 2 or 3
|
||
|
|
||
|
#### Returns
|
||
|
raw pressure sampling value (integer)
|