Pollutants.eu Monitor kvality ovzduší v České republice

Works with sensirion-sps Arduino lib (the versions below 1.2.0). Data will be in Serial monitor:

 

serialmonitorpm_sensirion.png

#include <sps30.h>
#include <Wire.h>

// Uncomment for serial plotter format
// #define PLOTTER_FORMAT

void setup() {
  int16_t ret;
  uint8_t auto_clean_days = 4;

  SerialUSB.begin(115200);   // Use SerialUSB for MKR boards
  while (!SerialUSB) {
    ; // Wait for USB Serial to be ready
  }
  delay(2000);

  // Initialize I2C on default pins (SDA/SCL on MKR ONE 1310)
  Wire.begin();

  // Initialize Sensirion I2C layer (usually calls Wire.begin internally)
  sensirion_i2c_init();

  while (sps30_probe() != 0) {
    SerialUSB.println("SPS sensor probing failed");
    delay(500);
  }

#ifndef PLOTTER_FORMAT
  SerialUSB.println("SPS sensor probing successful");
#endif

  ret = sps30_set_fan_auto_cleaning_interval_days(auto_clean_days);
  if (ret) {
    SerialUSB.print("error setting the auto-clean interval: ");
    SerialUSB.println(ret);
  }

  ret = sps30_start_measurement();
  if (ret < 0) {
    SerialUSB.println("error starting measurement");
  }

#ifndef PLOTTER_FORMAT
  SerialUSB.println("measurements started");
#endif

#ifdef SPS30_LIMITED_I2C_BUFFER_SIZE
  SerialUSB.println("Your Arduino hardware has a limitation that only allows reading the mass concentrations.");
  SerialUSB.println("See https://github.com/Sensirion/arduino-sps#esp8266-partial-legacy-support");
  delay(2000);
#endif

  delay(1000);
}

void loop() {
  struct sps30_measurement m;
  uint16_t data_ready;
  int16_t ret;

  do {
    ret = sps30_read_data_ready(&data_ready);
    if (ret < 0) {
      SerialUSB.print("error reading data-ready flag: ");
      SerialUSB.println(ret);
    } else if (!data_ready) {
      SerialUSB.println("data not ready, no new measurement available");
    } else
      break;
    delay(100);
  } while (1);

  ret = sps30_read_measurement(&m);
  if (ret < 0) {
    SerialUSB.println("error reading measurement");
  } else {

#ifndef PLOTTER_FORMAT
    SerialUSB.print("PM  1.0: ");
    SerialUSB.println(m.mc_1p0);
    SerialUSB.print("PM  2.5: ");
    SerialUSB.println(m.mc_2p5);
    SerialUSB.print("PM  4.0: ");
    SerialUSB.println(m.mc_4p0);
    SerialUSB.print("PM 10.0: ");
    SerialUSB.println(m.mc_10p0);

#ifndef SPS30_LIMITED_I2C_BUFFER_SIZE
    SerialUSB.print("NC  0.5: ");
    SerialUSB.println(m.nc_0p5);
    SerialUSB.print("NC  1.0: ");
    SerialUSB.println(m.nc_1p0);
    SerialUSB.print("NC  2.5: ");
    SerialUSB.println(m.nc_2p5);
    SerialUSB.print("NC  4.0: ");
    SerialUSB.println(m.nc_4p0);
    SerialUSB.print("NC 10.0: ");
    SerialUSB.println(m.nc_10p0);

    SerialUSB.print("Typical particle size: ");
    SerialUSB.println(m.typical_particle_size);
#endif

    SerialUSB.println();

#else
    SerialUSB.print(m.nc_0p5);
    SerialUSB.print(" ");
    SerialUSB.print(m.nc_1p0  - m.nc_0p5);
    SerialUSB.print(" ");
    SerialUSB.print(m.nc_2p5  - m.nc_1p0);
    SerialUSB.print(" ");
    SerialUSB.print(m.nc_4p0  - m.nc_2p5);
    SerialUSB.print(" ");
    SerialUSB.print(m.nc_10p0 - m.nc_4p0);
    SerialUSB.println();
#endif

  }

  delay(1000);
}

Guys, just finished all the layout, it will be prototyped soon!

What is under the hood?

  • It is on-wall PM2.5 sensor with sizes of 360x160mm (PCBA), ideal for work environment / sport rooms
  • PM2.5 sensor from Panasonic (SN-GCJA5), which show fantastic performance, while light and slim, tested over the years.
  • PM2.5 value display step as low as 0.1 ug/m3
  • Seed Studio XAIO SAMD21 dev board based, so Arduino or micropython enabled, you may play with it
  • automatic color control via addressing LEDs
  • Fused via resettable fuse
  • Standard USB-C cable for power on.
  • automatic brightness control
  • additional test points on 2.54 mm standars 7-pin connector for all your enjoyment

AirGradient Indoor používá vysoce kvalitní senzorové moduly od předních výrobců, jako jsou SenseAir, Sensirion a Plantower. Každý senzor prochází vícestupňovým testováním a kalibrací, aby zajistil vysokou přesnost měření.

Přehled senzorů a jejich vlastností:

  • CO₂ (oxid uhličitý):
    • Senzor SenseAir S8/S88, využívající NDIR technologii (infračervenou metodu), poskytuje vysoce přesnou kalibraci.
    • Obsahuje automatickou základní kalibraci (ABC) každých 7 dní (nastavitelná).
    • Vysoké úrovně CO₂ mohou naznačovat nedostatečnou ventilaci a způsobovat bolesti hlavy, únavu, sníženou koncentraci.
  • PM2.5 (jemné prachové částice):
    • Používá se Plantower PMS5003 s laserovou technologií rozptylu.
    • Byla prováděna nezávislá testování a kalibrace na továrně.
    • Vysoké koncentrace PM2.5 jsou spojeny s onemocněními srdce, plic, bronchitidou, astmatem a dalšími respiračními problémy.
  • TVOCs (těkavé organické sloučeniny) a NOX (oxid dusíku):
    • Sensirion SGP41 měří TVOC (těkavé organické sloučeniny) a NOX (plyny uvolněné například plynovými sporáky).
    • Hodnoty VOC jsou založeny na indexu Sensirion a ukazují změny koncentrace v ovzduší.
    • Je třeba mít na paměti, že neškodné látky, jako je etanol nebo opalovací krém, mohou také způsobit zvýšení TVOC.
  • Teplota a vlhkost:
    • Používá se Sensirion SHT3x/4x, jeden z nejpřesnějších senzorů na trhu.
    • Pomáhá analyzovat komfortní úroveň vzduchu a upozorňuje na riziko tvorby plísní.

Další funkce zařízení:

  • OLED displej pro zobrazení aktuálních hodnot kvality vzduchu.
  • Připojení přes Wi-Fi (2,4 GHz) pro přenos dat do cloudových platforem.
  • 11 programovatelných RGB LED diod, které mohou měnit barvu v závislosti na úrovni znečištění nebo mohou být vypnuté.

1. Oshwlab project

2. Hackaday project

3. GitHub project

 

feed-image RSS