You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1004 B
33 lines
1004 B
#!/usr/bin/env python
|
|
|
|
import time
|
|
try:
|
|
from smbus2 import SMBus
|
|
except ImportError:
|
|
from smbus import SMBus
|
|
from bme280 import BME280
|
|
|
|
print("""temperature-compare.py - Compares oversampling levels
|
|
(requires two BME280s with different addresses).
|
|
|
|
Press Ctrl+C to exit!
|
|
|
|
""")
|
|
|
|
# Initialise the BME280
|
|
bus = SMBus(1)
|
|
bme280A = BME280(i2c_dev=bus)
|
|
bme280B = BME280(i2c_dev=bus, i2c_addr=0x77)
|
|
|
|
# Set up in "forced" mode
|
|
# In this mode `get_temperature` and `get_pressure` will trigger
|
|
# a new reading and wait for the result.
|
|
# The chip will return to sleep mode when finished.
|
|
bme280A.setup(mode="normal", temperature_oversampling=1, pressure_oversampling=1)
|
|
bme280B.setup(mode="normal", temperature_oversampling=16, pressure_oversampling=16)
|
|
|
|
while True:
|
|
temperatureA = bme280A.get_temperature()
|
|
temperatureB = bme280B.get_temperature()
|
|
print('Forced: {:05.2f}*C Normal: {:05.2f}*C D: {:05.2f}'.format(temperatureA, temperatureB, abs(temperatureA - temperatureB)))
|
|
time.sleep(1)
|
|
|