Skip to main content

Brzi početak

Povežite pločicu s I2C pinovima svojeg kontrolera, instalirajte Soldered BME690 MicroPython modul i pokrenite njegov primjer u forced načinu rada. Primjer svake sekunde pokreće mjerenje te u shellu ispisuje temperaturu, tlak, vlažnost i otpor plina svakog mjerenja koje dohvati.

Programirate kontroler spojen na ovu pločicu. Sama pločica se ne flasha.

1. Spojite pločicu​

Primjeri modula stvaraju senzor pomoću BME690() bez I2C objekta. Na MicroPython portovima esp32 i esp8266 (i na firmwareu jedne Soldered pločice) modul tada otvara I2C(0) sa SDA na pinu 21 i SCL na pinu 22, pa spojite upravo te pinove. Ako ste spojili druge pinove ili koristite port za koji modul ne bira pinove, stvorite vlastiti machine.I2C na pinovima koje ste spojili i proslijedite ga kao BME690(i2c=...). Header i oba Qwiic konektora imaju iste linije 3V3, GND, SDA i SCL.

NULA MiniSoldered BME690 AI temperature, humidity & gas sensor breakout
Qwiic connectorQwiic connector
Shema spajanja: NULA Mini spojen na pločicu Soldered BME690 AI temperature, humidity & gas sensor breakout Qwiic kabelom

Dijagram koristi NULA Mini kao jedan primjer kontrolera, spojen Qwiic kabelom na bilo koji od Qwiic konektora pločice: oba imaju iste četiri linije. Qwiic konektor kontrolera nije uvijek na pinovima 21 i 22: na NULA Mini je na IO6 (SDA) i IO7 (SCL). Provjerite koje pinove koristi konektor vašeg kontrolera i proslijedite I2C objekt na tim pinovima kako je opisano gore.

Pločicu napajajte s 3,3 V. Pin 3V3 napaja senzor izravno, bez regulatora: prihvaća 1,71 do 3,6 V, a 4,25 V je apsolutni maksimum senzora.

2. Instalirajte modul​

Koristite mim ili, nakon instalacije paketa mpremote, instalirajte biblioteku na pločicu sljedećom naredbom:

mpremote mip install github:SolderedElectronics/Soldered-BME690-MicroPython-Library

Ili, ako koristite Windows:

python -m mpremote mip install github:SolderedElectronics/Soldered-BME690-MicroPython-Library

🔗Soldered BME690 MicroPython biblioteka

Provjereni MicroPython modul na commitu 91a07b5

→

Savjet: preuzimanje s GitHuba. Bez mpremote otvorite .py datoteku modula na GitHubu i kliknite Download raw file, zatim je otvorite u Thonnyju i koristite File → Save as... → MicroPython device da biste je kopirali na pločicu.

3. Pokrenite prvi primjer​

Ovo je primjer modula bme690-forcedMode.py. Postavlja oversampling, IIR filtar i korak grijača od 300 °C u trajanju 100 ms, zatim svake sekunde pokreće jedno mjerenje i ispisuje ga. Ako jumper ADDR postavite na 0x77, umjesto toga stvorite senzor pomoću BME690(address=BME69X_I2C_ADDR_HIGH) i dodajte BME69X_I2C_ADDR_HIGH imenima koja primjer uvozi iz bme690. Ako ste u 1. koraku stvorili vlastiti I2C objekt, proslijedite i njega kao i2c=.

# FILE: bme690-forcedMode.py
# AUTHOR: Josip Simun Kuci @ Soldered
# BRIEF: Read temperature, pressure, humidity and gas resistance from the
# BME690 in forced mode, one measurement at a time
# WORKS WITH: BME690 breakout board: solde.red/333411
# LAST UPDATED: 2026-09-16

from bme690 import (
BME690,
BME69X_ERROR,
BME69X_FILTER_SIZE_3,
BME69X_FORCED_MODE,
)
import time

# Start the sensor on the default I2C address (0x76). Use
# BME690(address=BME69X_I2C_ADDR_HIGH) if the address jumper is soldered.
sensor = BME690()

# Oversampling for temperature, pressure and humidity.
sensor.set_tph()

# IIR filter for the temperature and pressure readings.
sensor.set_filter(BME69X_FILTER_SIZE_3)

# Heat the gas sensor plate to 300 degrees Celsius for 100 milliseconds.
sensor.set_heater_prof(300, 100)

if sensor.check_status() == BME69X_ERROR:
raise Exception("BME690 setup failed: " + sensor.status_string())

print(
"Timestamp(ms), Temperature(C), Pressure(Pa), Humidity(%), "
"Gas resistance(Ohm), Status"
)

while True:
# Trigger a single measurement.
sensor.set_op_mode(BME69X_FORCED_MODE)

# Wait for the measurement to finish, the heater duration included.
time.sleep_us(sensor.get_meas_dur())

if sensor.fetch_data():
data, _ = sensor.get_data()

print(
"{}, {:.2f}, {:.2f}, {:.2f}, {:.2f}, 0x{:02x}".format(
time.ticks_ms(),
data.temperature,
data.pressure,
data.humidity,
data.gas_resistance,
data.status,
)
)

time.sleep(1)

🔗Otvorite cijeli primjer

Examples/bme690-forcedMode.py na commitu 91a07b5

→

4. Provjerite rezultat​

Shell najprije ispisuje zaglavlje stupaca:

ShellMicroPython
Timestamp(ms), Temperature(C), Pressure(Pa), Humidity(%), Gas resistance(Ohm), Status

Nakon toga, svaka petlja u kojoj fetch_data() pronađe novo mjerenje ispisuje jedan redak istim redoslijedom: milisekundni brojač kontrolera, zatim temperatura u °C, tlak u Pa, vlažnost u % r.H. i otpor plina u Ω, svaka vrijednost na dvije decimale, te statusni bajt u heksadecimalnom zapisu. Status 0xb0 znači nove podatke, valjano mjerenje plina i stabilan grijač.

Ako postavljanje grijača, zadnji poziv prije provjere, prijavi pogrešku, skripta se zaustavlja s porukom BME690 setup failed: i razlogom. Ako senzor uopće ne odgovara, konstruktor podiže iznimku BME690 not responding on address 0x76.

Read in forced mode objašnjava svaku funkciju koju primjer koristi.

5. Ako ne radi​

Nastavite s poglavljem Otklanjanje poteškoća i nakon svake promjene ponovno pokrenite ovaj najmanji primjer.