Toggle Navigation
Hatchery
Eggs
bme680
readme.md
Users
Badges
Login
Register
readme.md
raw
Content
# Micropython Driver for a BME680 breakout This a port of an Adafruit driver for use with micropython.org based and Pycom.io devices using the respecitve MicroPython variant. The driver uses the I2C interface. The sensor also supports SPI mode, which is not supported by this driver yet, but can easily be extended. Sample usage files: ``` # I2C Interface, genuine Micropython from bme680 import * from machine import I2C, Pin import time bme = BME680_I2C(I2C(-1, Pin(13), Pin(12))) for _ in range(3): print(bme.temperature, bme.humidity, bme.pressure, bme.gas) time.sleep(1) ``` ``` # SPI Interface, genuine Micropython from bme680 import * from machine import SPI, Pin import time cs = Pin(15, Pin.OUT, value=1) spi = SPI(-1, baudrate=400000, sck=Pin(12), mosi=Pin(13), miso=Pin(14)) bme = BME680_SPI(spi, cs) for _ in range(3): print(bme.temperature, bme.humidity, bme.pressure, bme.gas) time.sleep(1) ``` ``` # I2C Interface, Pycom devices # Using the default Pins P9 for sda and P10 for scl from bme680 import * from machine import I2C, Pin import time cs=Pin("P11", Pin.OUT, value=1) bme = BME680_I2C(I2C()) for _ in range(3): print(bme.temperature, bme.humidity, bme.pressure, bme.gas) time.sleep(1) ``` ``` # SPI Interface, Pycom devices from bme680 import * from machine import SPI, Pin import time cs = Pin("P11", Pin.OUT, value=1) spi = SPI(0, mode=SPI.MASTER, baudrate=400000, pins=("P10", "P9", "P8")) bme = BME680_SPI(spi, cs) for _ in range(3): print(bme.temperature, bme.humidity, bme.pressure, bme.gas) time.sleep(1) ``` ## Files: bme680.py: Drivers using floating point arithmetic bme680i.py: Driver using integer arithmentic for the internal calculations according to the BOSCH datasheet. Only for the final result floating point operations are used. bmetest.py: Sample test script readme.md: This file