M5Stack Core2 -ilmanlaadun testausprojekti

Tehdään tänään ilmanlaadun testausprojekti M5Stack Core2:n ja M5Stack ENV Pro Unitin (BME688) kanssa
M5Stack Core2 ESP32 IoT -kehityspaketti

M5Stack Core2 ESP32 IoT -kehityspaketti

Näytä tuote

M5Stack Lämpötila-, Kosteus-, Paine- ja Kaasuanalysaattori (BME688)

M5Stack Lämpötila-, Kosteus-, Paine- ja Kaasuanalysaattori (BME688)

Näytä tuote

 

M5Stack Core2

M5Core2 on päivitetty toinen sukupolvi M5Stack IoT -kehityspakkasarjan ydinyksiköstä. Siinä on ESP32 D0WDQ6-V3 MCU, jossa on kaksiytiminen prosessori, Wi-Fi, 16 Mt Flash-muistia, 8 Mt PSRAM-muistia ja 2,0 tuuman kapasitiivinen kosketusnäyttö. Siinä on USB Type-C -liitäntä, 390 mAh akku, jota hallinnoi AXP192-piiri, sekä lisäkomponentteja, kuten sisäänrakennettu RTC-moduuli, värinämoottori, TF-korttipaikka, I2S-digitaaliääniliitäntä ja ohjelmoitavat kapasitiiviset painikkeet. Voimme hyödyntää core2-näyttöä hyvin näyttöön.

ENV Pro Unit

ENV Pro Unit on ympäristönsensori, joka käyttää BME688-antimiratkaisua ja tukee erilaisten ympäristöparametrien mittausta, kuten haihtuvia orgaanisia yhdisteitä (VOC), sisäilman laatua (IAQ), lämpötilaa, kosteutta ja ilmanpainetta. Siinä on kompakti koko, laaja käyttöalue, yksinkertainen kommunikointirajapinta (I2C), erinomainen suorituskyky ja alhainen virrankulutus, mikä tekee siitä sopivan sääasemiin, sisäympäristön seurantaan ja ilmanlaadun mittaukseen.

Projekti

Yhdistä

Tämä osa on hyvin yksinkertainen. Core 2 ja ENV Pro Unit käyttävät molemmat Grove-liitäntää, ja ne molemmat käyttävät Grove PORT A:ta. Se on I2C-liitäntäportti. Tarvitsemme vain Grove-kaapelin.

      

Koodi

// The code part is the hardest part of this project. Let's do it.
// First of all, let's find out which libraries we need:
#include 
#include 
#include 
#include  
// Because this sensor is a BME680 sensor, we can use Adafruit_BME680 and Adafruit_Sensor libraries for this part, and use a M5Core2 library, a Wire library.

// Next step, we need define the I2C pins:
#define SDA_PIN 32
#define SCL_PIN 33

// Next, creating the BME688 Object:
Adafruit_BME680 bme;

// Void Setup part:
void setup() {
  M5.begin();
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setTextColor(WHITE);
  M5.Lcd.setTextSize(2);
  M5.Lcd.setCursor(10, 10);
  M5.Lcd.println("ENV Pro Unit Data");

// Initialize I2C:
Wire.begin(SDA_PIN, SCL_PIN);

 // Initializing the BME688 Sensor (BME688 default address is 0x77):
  if (!bme.begin(0x77, &Wire)) { 
    M5.Lcd.println("Could not find BME688 sensor!");
    while (1);
  }

 // Setting BME688 parameters:
  bme.setTemperatureOversampling(BME680_OS_8X);
  bme.setHumidityOversampling(BME680_OS_2X);
  bme.setPressureOversampling(BME680_OS_4X);
  bme.setIIRFilterSize(BME680_FILTER_SIZE_3);
  bme.setGasHeater(320, 150); 

// Void Loop part (Check if the BME688 sensor is available first):
void loop() {
  if (! bme.performReading()) {
    M5.Lcd.println("Failed to perform reading!");
    return;
  }

 // Display sensor data:
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setCursor(10, 30);
  M5.Lcd.printf("Temp: %.2f C", bme.temperature);
  M5.Lcd.setCursor(10, 60);
  M5.Lcd.printf("Humidity: %.2f %%", bme.humidity);
  M5.Lcd.setCursor(10, 90);
  M5.Lcd.printf("Pressure: %.2f hPa", bme.pressure / 100.0);
  M5.Lcd.setCursor(10, 120);
  M5.Lcd.printf("Gas: %d ohms", bme.gas_resistance);

// Update data every 11 seconds (Gas sensor standard scanning speed is 10.8s):
  delay(11000); 
}


✔ Copied!

 

Tulos

Se toimi hyvin, ja pystyin päivittämään tiedot Home Assistantiimme.
Kaasuarvo on milliohmiarvo. Testissämme arvo oli yli 20 000, joten ilmanlaatu on hyvä, päinvastaisessa tapauksessa se on huonompi.
    

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Sivupalkki

Uusin julkaisu

Tässä osiossa ei ole tällä hetkellä sisältöä. Lisää sisältöä tähän osioon käyttämällä sivupalkkia.

Rekisteröidy uutiskirjeeseemme

Hanki viimeisimmät tiedot tuotteistamme ja erikoistarjouksistamme.