Scheda Sensore BME680 | Temperatura Umidità Pressione Qualità dell'Aria
Scheda Sensore BME680 | Temperatura Umidità Pressione Qualità dell'Aria
Scheda sensore BME680 - Monitoraggio di temperatura, umidità, pressione e qualità dell'aria per progetti IoT
La scheda sensore BME680 è un modulo compatto per il rilevamento ambientale basato sul Bosch BME680, che combina temperatura, umidità relativa, pressione barometrica e rilevamento gas/VOC in un piccolo breakout. È adatta per esperimenti sulla qualità dell'aria interna, prototipi di stazioni meteorologiche, monitoraggio HVAC, dashboard smart home, laboratori IoT scolastici e registratori portatili di dati ambientali.
Rispetto ai moduli base di temperatura e umidità, il BME680 aggiunge un sensore di gas che può essere usato per stimare le tendenze della qualità dell'aria interna se abbinato a librerie software adeguate. La scheda funziona naturalmente con piattaforme microcontrollore come ELAB Nano V3, host MicroPython compatti come il Raspberry Pi Pico W e prototipi su breadboard costruiti attorno a un MB 102 Breadboard Kit. Per progetti focalizzati specificamente sul rilevamento gas, può anche integrare sensori come il Waveshare MQ-135 Gas Sensor.
L'attuale elenco OpenELAB identifica questa scheda come una scheda sensore CJMCU-680 BME680 con header pin incluso. Per limiti esatti a livello di sensore, comportamento di calibrazione e modalità di misurazione, fare riferimento al datasheet ufficiale Bosch BME680. Nei progetti pratici, utilizzare la scheda con un host I2C o SPI compatibile, mantenere l'apertura del sensore esposta al flusso d'aria e consentire il tempo di riscaldamento durante la valutazione delle letture di gas e qualità dell'aria.
Specifiche tecniche
| Parametro | Valore |
|---|---|
| SKU | TB-BME680 |
| Modello | Scheda sensore CJMCU-680 BME680 |
| Sensore IC | Bosch BME680 |
| Parametri misurati | Temperatura, umidità relativa, pressione barometrica, tendenza gas/VOC |
| Interfacce digitali | I2C e SPI supportati dal sensore IC BME680 |
| Intervallo di alimentazione del sensore | 1.71V-3.6V a livello del sensore IC; confermare i pin di alimentazione della scheda breakout prima del cablaggio |
| Intervallo di temperatura | -40C a +85C |
| Intervallo di umidità | 0% UR a 100% UR |
| Intervallo di pressione | 300hPa a 1100hPa |
| Sensore di gas | Sensore di gas a ossido metallico per stima delle tendenze VOC/qualità dell'aria |
| Indirizzi I2C tipici | 0x76 o 0x77, a seconda della configurazione della scheda |
| Peso attuale in elenco | Circa 5g |
| Accessorio incluso | Header pin |
| Supporto Software | Librerie Arduino, CircuitPython, MicroPython, Python per Raspberry Pi |
| Applicazioni Tipiche | Nodi IoT per la qualità dell'aria, stazioni meteorologiche, monitoraggio smart home, stima dell'altitudine |
Layout della scheda & Guida alle etichette
- VIN / VCC - Ingresso di alimentazione per la scheda breakout. Confermare l'etichettatura esatta della scheda e la tensione supportata prima di collegare.
- GND - Riferimento di massa condiviso con il microcontrollore host o computer a scheda singola.
- SCL / SCK - Linea clock I2C, o linea clock SPI quando la scheda è usata in modalità SPI.
- SDA / SDI - Linea dati I2C, o ingresso dati SPI a seconda della modalità di comunicazione selezionata.
- SDO - Uscita dati SPI, spesso usata anche per selezionare l'indirizzo I2C sulle schede breakout BME680.
- CS - Pin chip-select SPI. Lascia o collega secondo il design della scheda breakout quando usi I2C.
- Package BME680 - IC principale di rilevamento; mantieni questa area esposta all'aria ambiente per un migliore comportamento di umidità e risposta ai gas.
- Header Pin - L'elenco include un header pin per integrazione su breadboard o saldatura.
- Nota sul Flusso d'Aria - Evita di racchiudere il sensore vicino a fonti di calore, regolatori o dispositivi ad alta corrente.
- Nota sul Livello Logico - Usa pull-up e livelli di segnale che corrispondano sia al breakout che al controller host.
Scenari di Applicazione
1. Lettura Ambientale Arduino via I2C
Questo esempio Arduino usa la libreria Adafruit BME680 per stampare temperatura, umidità, pressione e resistenza del gas sul monitor seriale.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>
Adafruit_BME680 bme;
void setup() {
Serial.begin(115200);
while (!Serial) {}
if (!bme.begin(0x76)) {
Serial.println("BME680 non trovato. Controlla i collegamenti e l'indirizzo I2C.");
while (1) delay(10);
}
bme.setTemperatureOversampling(BME680_OS_8X);
bme.setHumidityOversampling(BME680_OS_2X);
bme.setPressureOversampling(BME680_OS_4X);
bme.setGasHeater(320, 150);
}
void loop() {
if (!bme.performReading()) {
Serial.println("Lettura fallita");
return;
}
Serial.print("Temp C: ");
Serial.println(bme.temperature);
Serial.print("Umidità %: ");
Serial.println(bme.humidity);
Serial.print("Pressione hPa: ");
Serial.println(bme.pressure / 100.0);
Serial.print("Gas KOhm: ");
Serial.println(bme.gas_resistance / 1000.0);
delay(2000);
}
2. Registratore Python della Qualità dell'Aria per Raspberry Pi
Questo script Python registra le letture in un file CSV su Raspberry Pi o Linux SBC usando la libreria Adafruit CircuitPython BME680.
import time
import board
import adafruit_bme680
sensor = adafruit_bme680.Adafruit_BME680_I2C(board.I2C(), address=0x76)
with open("bme680_log.csv", "a", encoding="utf-8") as log:
while True:
line = (
f"{time.time():.0f},"
f"{sensor.temperature:.2f},"
f"{sensor.relative_humidity:.2f},"
f"{sensor.pressure:.2f},"
f"{sensor.gas}\n"
)
log.write(line)
log.flush()
print(line.strip())
time.sleep(60)
3. Scanner Indirizzi I2C MicroPython
Prima di scrivere un'applicazione completa per il sensore, questo snippet MicroPython aiuta a confermare se la scheda BME680 appare a 0x76 o 0x77.
from machine import Pin, I2C
i2c = I2C(0, scl=Pin(17), sda=Pin(16), freq=400000)
devices = i2c.scan()
print("Dispositivi I2C:")
for address in devices:
print(hex(address))
4. Avviso di Comfort Semplice con Arduino
Usa il BME680 come sensore locale per il monitoraggio della stanza e attiva un LED di allarme quando l'umidità supera una soglia scelta.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>
Adafruit_BME680 bme;
const int alertLed = 13;
void setup() {
pinMode(alertLed, OUTPUT);
Serial.begin(115200);
if (!bme.begin(0x76)) {
while (1) {}
}
}
void loop() {
if (bme.performReading()) {
digitalWrite(alertLed, bme.humidity > 70.0 ? HIGH : LOW);
Serial.println(bme.humidity);
}
delay(2000);
}
5. Stima dell'altitudine dalla pressione
Questo esempio Arduino calcola l'altitudine approssimativa dalla pressione, utile per esperimenti base di stazioni meteorologiche e variazioni di piano interne.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>
Adafruit_BME680 bme;
const float seaLevelPressure = 1013.25;
void setup() {
Serial.begin(115200);
if (!bme.begin(0x76)) {
while (1) {}
}
}
void loop() {
if (bme.performReading()) {
float altitude = bme.readAltitude(seaLevelPressure);
Serial.print("Altitudine approssimativa m: ");
Serial.println(altitude);
}
delay(3000);
}
6. Concetto di Nodo Ambientale MQTT
Per dashboard IoT, il BME680 può fornire dati di temperatura, umidità, pressione e gas a un broker MQTT da un host con capacità Python.
import json
import time
import board
import adafruit_bme680
import paho.mqtt.client as mqtt
sensor = adafruit_bme680.Adafruit_BME680_I2C(board.I2C(), address=0x76)
client = mqtt.Client()
client.connect("192.168.1.10", 1883, 60)
while True:
payload = {
"temperature": round(sensor.temperature, 2),
"humidity": round(sensor.relative_humidity, 2),
"pressure": round(sensor.pressure, 2),
"gas": sensor.gas,
}
client.publish("lab/bme680", json.dumps(payload))
time.sleep(30)
Lista di imballaggio
- 1 x Scheda Sensore BME680
- 1 x Intestazione Pin
FAQ
Q: Cosa misura il TB-BME680?
A: Misura temperatura, umidità relativa, pressione barometrica e tendenze di gas/VOC per progetti di monitoraggio ambientale.
Q: La lettura del gas è la stessa di un sensore CO2 calibrato?
A: No. Il sensore di gas BME680 è utile per la stima delle tendenze di VOC e qualità dell'aria, ma non è un sensore CO2 calibrato diretto.
Q: Quale interfaccia dovrei usare?
A: L'I2C è solitamente l'opzione più semplice per progetti con Arduino, Raspberry Pi e Pico, mentre SPI è utile quando serve un bus dedicato o un controllo di integrazione più elevato.
Q: Quale indirizzo I2C dovrei provare per primo?
A: Prova prima 0x76, poi 0x77 se il sensore non viene rilevato. L'indirizzo effettivo dipende dalla configurazione del breakout.
Q: Posso usarlo con un Arduino a 5V?
A: Controlla prima il design esatto dell'alimentazione e del livello logico della scheda breakout. Il sensore BME680 è un dispositivo a bassa tensione, quindi la compatibilità dei livelli è importante.
Q: Perché le letture dei gas cambiano lentamente dopo l'accensione?
A: Il rilevamento dei gas richiede il funzionamento del riscaldatore e un tempo di stabilizzazione, quindi le letture spesso necessitano di un riscaldamento e di un monitoraggio della linea di base prima di diventare significative.
Q: Questa scheda può stimare l'altitudine?
A: Sì. L'altitudine può essere stimata dalla pressione barometrica quando fornisci un riferimento di pressione al livello del mare appropriato.
Q: Cosa devo controllare se la scheda non viene rilevata?
A: Verifica VCC, GND, SDA, SCL, pull-up, indirizzo I2C, installazione della libreria e se la tensione GPIO dell'host è compatibile con il breakout.
1. Informazioni generali sulla spedizione
- Forniamo servizi di spedizione affidabili con un numero di tracciamento per ogni ordine.
- Gli indirizzi di spedizione devono essere inseriti in inglese e non devono contenere simboli speciali, affinché il sistema del corriere possa riconoscere correttamente la tua posizione.
- Assicurati che il tuo indirizzo di spedizione sia corretto prima di effettuare l'ordine. Spediamo rigorosamente all'indirizzo fornito al checkout.
- Gli ordini in stock vengono solitamente spediti entro 1 giorno lavorativo dalla conferma dell'ordine.
- I tempi di consegna stimati si riferiscono al periodo dopo la spedizione e non includono il tempo di elaborazione dell'ordine, i fine settimana, le festività, i controlli doganali o ritardi dovuti a forza maggiore.
- Se devi annullare o modificare il tuo ordine, contattaci prima che l'ordine venga contrassegnato come “Spedito”. Una volta spedito, l'ordine non può essere annullato o modificato.
🚀 Hai bisogno di una spedizione più veloce?
Se necessiti di spedizione urgente, contatta il nostro servizio clienti a info@openelab.io per un preventivo personalizzato in base alla tua destinazione.
2. Tariffe & Opzioni di spedizione
Le tariffe di spedizione sono calcolate in base al valore dell'ordine, alla destinazione e ai metodi di spedizione disponibili. Le opzioni finali disponibili saranno visualizzate al checkout.
2.1 Spedizioni nazionali in Germania
| Metodo di spedizione | Valore dell'ordine | Costo | Consegna stimata |
|---|---|---|---|
| Deutsche Post | €0.00 - €50.00 | €4.95 | 2-4 Giorni lavorativi |
| Deutsche Post | Oltre €50,00 | Gratuito | 2-4 Giorni lavorativi |
|
DHL Paket (Consegna più veloce) |
€0.00 - €50.00 | €6.95 | 1-3 Giorni lavorativi |
|
DHL Paket (Consegna più veloce) |
€50.00 - €100.00 | €2.00 | 1-3 Giorni lavorativi |
|
DHL Paket (Consegna più veloce) |
Oltre €100,00 | Gratuito | 1-3 Giorni lavorativi |
2.2 Paesi / Regioni UE selezionati
Le destinazioni di spedizione UE disponibili sono mostrate al checkout in base al tuo indirizzo di spedizione. Per ordini spediti in paesi o regioni UE selezionate fuori dalla Germania, utilizziamo FedEx Regional Economy.
| Metodo di spedizione | Valore dell'ordine | Costo | Consegna stimata |
|---|---|---|---|
| FedEx Regional Economy | €0.00 - €100.00 | €7.95 | 3-5 Giorni lavorativi |
| FedEx Regional Economy | Oltre €100,00 | Gratuito | 3-5 Giorni lavorativi |
Gli ordini UE possono essere evasi dal nostro magazzino di Monaco o, quando applicabile, dal nostro magazzino di Shenzhen a seconda della disponibilità dell'inventario. Per gli stati membri UE, OpenELAB copre i dazi d'importazione e le tasse applicabili con il servizio DDP dove richiesto.
2.3 Stati Uniti
| Regione | Metodo di spedizione | Valore dell'ordine | Costo | Consegna stimata |
|---|---|---|---|---|
|
Stati Uniti continentali (50 Stati) |
USPS Ground Advantage | €0.00 - €45.00 | €4.95 | 3-7 Giorni lavorativi |
| USPS Ground Advantage | Oltre €45,00 | Gratuito | 3-7 Giorni lavorativi | |
| USPS Priority Mail | €0.00 - €45.00 | €16.95 | 1-4 Giorni lavorativi | |
| USPS Priority Mail | Oltre €45,00 | €14.95 | 1-4 Giorni lavorativi | |
|
Stati Uniti non continentali (AK, HI, PR, ecc.) |
USPS Ground Advantage | €0.00 - €60.00 | €6.95 | 5-9 Giorni lavorativi |
| USPS Ground Advantage | Oltre €60,00 | Gratuito | 5-9 Giorni lavorativi |
Le regioni non continentali degli Stati Uniti includono Alaska, Samoa Americane, Guam, Hawaii, Isole Marshall, Isole Marianne Settentrionali, Palau, Porto Rico, Isole Vergini Americane e indirizzi delle Forze Armate USA.
2.4 Destinazioni internazionali fuori dall'UE
Per alcune destinazioni internazionali selezionate fuori dall'UE, inclusi Svizzera, Regno Unito e Norvegia, le tariffe di spedizione sono le seguenti:
| Importo dell'ordine | Costo di spedizione |
|---|---|
| €0.00 - €300.00 | €19.95 |
| Oltre €300,00 | Gratuito |
Per le destinazioni extra-UE, dazi d'importazione, tasse e spese doganali possono essere addebitati dal paese di destinazione e sono a carico del destinatario.
3. Magazzini & Spedizioni
I nostri prodotti possono essere conservati nei nostri magazzini di Monaco, Arlington e Shenzhen. Il magazzino di spedizione effettivo dipende dalla disponibilità del prodotto e dalla destinazione.
3.1 Magazzino di Monaco
Per i prodotti stoccati nel nostro magazzino di Monaco, utilizziamo Deutsche Post o DHL Paket per le consegne nazionali in Germania. Per alcune destinazioni UE selezionate fuori dalla Germania, utilizziamo FedEx Regional Economy.
3.2 Magazzino di Arlington
Per i prodotti stoccati nel nostro magazzino di Arlington, utilizziamo USPS o UPS per le consegne all'interno degli Stati Uniti.
3.3 Magazzino di Shenzhen
Per articoli in pre-ordine o prodotti evasi direttamente dal nostro magazzino di Shenzhen, organizziamo spedizioni internazionali affidabili in base alla destinazione e allo stato dell'inventario. Per gli stati membri dell'UE, OpenELAB copre i dazi d'importazione e le tasse applicabili con il servizio DDP dove richiesto.
4. Inventario, Pre-ordini e Spedizioni Separate
- Stato dell'Inventario: Controlla la pagina del prodotto per informazioni aggiornate sulla disponibilità. Se un articolo non è disponibile nei nostri magazzini locali, potrebbe essere indicato come “Pre-ordine”.
- Evasione Pre-ordine: Gli articoli in pre-ordine possono essere spediti direttamente da Shenzhen o prima stoccati in un magazzino locale prima della consegna finale.
- Spedizioni Separate: Se il tuo ordine contiene articoli disponibili e articoli in pre-ordine, potremmo spedirli separatamente. Non verrà addebitata alcuna spesa di spedizione aggiuntiva per spedizioni separate causate dal nostro sistema di evasione.
5. Dogane, Tasse e Problemi di Consegna
5.1 Dogane e Tasse
Per gli Stati Membri dell'UE:
Sia che la spedizione avvenga dalla Germania o dalla Cina, OpenELAB copre i dazi d'importazione e le tasse applicabili con il servizio DDP dove richiesto. I clienti negli stati membri dell'UE non dovrebbero essere addebitati dazi d'importazione o IVA aggiuntivi alla consegna.
Per destinazioni al di fuori dell'Unione Europea, come Svizzera, Norvegia e Regno Unito, le autorità locali potrebbero applicare dazi d'importazione, tasse e spese doganali alla consegna. Queste spese sono a carico del destinatario.
5.2 Pacchi Danneggiati, Ritardati o Smarriti
Si prega di ispezionare il pacco al momento della consegna, se possibile. Se noti danni visibili, segnalalo al corriere e contattaci il prima possibile. Questo non influisce sui tuoi diritti di consumatore previsti dalla legge.
Se il tuo pacco è in ritardo, smarrito, restituito al mittente o le informazioni di tracciamento non si aggiornano per un periodo insolito, ti preghiamo di contattarci a info@openelab.io. Ti assisteremo nel verificare lo stato della spedizione con il corriere.
5.3 Indirizzo Errato o Consegna Non Riuscita
Se un pacco non può essere consegnato a causa di un indirizzo errato o incompleto fornito dal cliente, rifiuto della consegna o mancato ritiro del pacco, potrebbero essere applicati costi aggiuntivi di spedizione o reso.
6. IVA
Per ordini all'interno dell'UE, l'IVA viene applicata al momento del pagamento secondo le regole di destinazione applicabili. Non dovrebbe essere applicata alcuna IVA aggiuntiva alla consegna per gli ordini degli stati membri dell'UE coperti dal nostro accordo di spedizione DDP.




