2016-01-14 22:15:09 +01:00
# BMP085 Module
2016-01-14 22:46:12 +01:00
This module provides access to the [BMP085 ](https://www.sparkfun.com/tutorials/253 ) temperature and pressure sensor. The module also works with BMP180.
2016-01-14 22:15:09 +01:00
## bmp085.init()
Initializes the module and sets the pin configuration.
#### Syntax
`bmp085.init(sda, scl)`
#### Parameters
- `sda` data pin
- `scl` clock pin
#### Returns
`nil`
## bmp085.temperature()
Samples the sensor and returns the temperature in celsius as an integer multiplied with 10.
#### Syntax
`bmp085.temperature()`
#### Returns
2016-01-14 22:46:12 +01:00
temperature multiplied with 10 (integer)
2016-01-14 22:15:09 +01:00
#### Example
```lua
bmp085.init(1, 2)
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
2016-01-14 22:46:12 +01:00
`oversampling_setting` integer that can be 0, 1, 2 or 3
2016-01-14 22:15:09 +01:00
#### Returns
2016-01-14 22:46:12 +01:00
pressure in pascals (integer)
2016-01-14 22:15:09 +01:00
#### Example
```lua
bmp085.init(1, 2)
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
2016-01-14 22:46:12 +01:00
`oversampling_setting` integer that can be 0, 1, 2 or 3
2016-01-14 22:15:09 +01:00
#### Returns
2016-01-14 22:46:12 +01:00
raw pressure sampling value (integer)