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.
- MicroPython
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 Mini | Soldered BME690 AI temperature, humidity & gas sensor breakout |
|---|---|
| Qwiic connector | Qwiic connector |
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:
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.