"""
Weather Crouton (BME280) Demo Code
Breadstick Innovations
April 7, 2024
https://learn.breadstick.ca/breadstick/breadsticks/support-boards/i2c-devices/weather-crouton
"""
import board
import time
from adafruit_bme280 import basic as adafruit_bme280
crouton_i2c = board.I2C() # Default Breadstick I2C pins D11(SCL) & D12(SDA)
bme280 = adafruit_bme280.Adafruit_BME280_I2C(crouton_i2c) #
# Sea Level Pressure is defined as 1013.25 hPa
# This number is used for calculating bme280.altitude in meters
bme280.sea_level_pressure = 1013.25
# Uncomment this line if you want to calibrate the altitude to your location
# Warning - natural changes in air pressure will affect altimeter measurements
bme280.sea_level_pressure = bme280.pressure
while True:
temp = bme280.temperature
hum = bme280.relative_humidity
pres = bme280.pressure
alt = bme280.altitude
plotter_data = (alt,) # Mu's Plotter only displays tuples, this is a single object tuple
print(plotter_data)
print(f"Temperature: {temp} °C")
print(f"Humidity: {hum} %")
print(f"Pressure: {pres} hPa")
print(f"Altitude: {alt} m")
print("")
time.sleep(0.1)