python-bme680/examples/temperature-offset.py

51 lines
1.1 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python
2019-06-09 14:11:35 +02:00
import bme680
2019-06-09 14:11:35 +02:00
print("""temperature-offset.py - Displays temperature, pressure, and humidity with different offsets.
Press Ctrl+C to exit!
""")
try:
sensor = bme680.BME680(bme680.I2C_ADDR_PRIMARY)
except IOError:
sensor = bme680.BME680(bme680.I2C_ADDR_SECONDARY)
# These oversampling settings can be tweaked to
# change the balance between accuracy and noise in
# the data.
sensor.set_humidity_oversample(bme680.OS_2X)
sensor.set_pressure_oversample(bme680.OS_4X)
sensor.set_temperature_oversample(bme680.OS_8X)
sensor.set_filter(bme680.FILTER_SIZE_3)
2018-09-02 12:26:04 +02:00
2018-06-01 17:10:34 +02:00
def display_data(offset=0):
sensor.set_temp_offset(offset)
sensor.get_sensor_data()
2018-09-02 12:26:04 +02:00
output = '{0:.2f} C, {1:.2f} hPa, {2:.3f} %RH'.format(
sensor.data.temperature,
sensor.data.pressure / 100.0,
2018-09-02 12:26:04 +02:00
sensor.data.humidity)
2018-06-01 17:10:34 +02:00
print(output)
2018-09-02 12:26:04 +02:00
print('')
2018-06-01 17:10:34 +02:00
2018-09-02 12:26:04 +02:00
print('Initial readings')
2018-06-01 17:10:34 +02:00
display_data()
2018-09-02 12:26:04 +02:00
print('SET offset 4 degrees celsius')
2018-06-01 17:10:34 +02:00
display_data(4)
2018-09-02 12:26:04 +02:00
print('SET offset -1.87 degrees celsius')
2018-06-01 17:10:34 +02:00
display_data(-1.87)
2018-09-02 12:26:04 +02:00
print('SET offset -100 degrees celsius')
2018-06-01 17:10:34 +02:00
display_data(-100)
2018-09-02 12:26:04 +02:00
print('SET offset 0 degrees celsius')
2018-06-01 17:10:34 +02:00
display_data(0)