Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Nilanjan Mandal
Created September 20, 2021 © GPL3+

Respiratory Droplet Detection and Monitoring System

Monitoring the respiratory droplets in a closed space.

IntermediateFull instructions provided20 hours20
Respiratory Droplet Detection and Monitoring System

Things used in this project

Hardware components

AWS IoT EduKit
Amazon Web Services AWS IoT EduKit
×1
Adafruit PMSA003I Air Quality Breakout - STEMMA QT / Qwiic
×1
Adafruit Grove to STEMMA QT / Qwiic / JST SH Cable - 100mm long
×1

Software apps and online services

Arduino IDE
Arduino IDE
AWS IoT
Amazon Web Services AWS IoT

Story

Read more

Schematics

dscn9500_WyYF6Nw51C.JPG

The Adafruit PMSA003I Air Quality Breakout is connected to port A of The M5stack core2

Code

Particle Size Distribution (PSD) monitor

Arduino
Interfacing Adafruit PMSA003I Air Quality Breakout to M5stack Core2 AWS using I2C communication protocol
#include <M5Core2.h>
#include "Adafruit_PM25AQI.h"
Adafruit_PM25AQI aqi = Adafruit_PM25AQI();

void setup() {

  M5.begin(true, true, true, true); //Init M5Core2.
  M5.Lcd.begin();
  M5.Lcd.fillScreen(WHITE);
  M5.Lcd.setCursor(10, 5);
  M5.Lcd.setTextColor(BLACK, WHITE);
  M5.Lcd.setTextSize(3);
  M5.Lcd.print("PSD per 0.1L air");
  // Wait for serial monitor to open
  Serial.begin(115200);
  while (!Serial) delay(10);

  Serial.println("Adafruit PMSA003I Air Quality Sensor");

  // Wait one second for sensor to boot up!
  delay(1000);

  
  if (! aqi.begin_I2C()) {      // connect to the sensor over I2C
  
    Serial.println("Could not find PM 2.5 sensor!");
    while (1) delay(10);
  }

  Serial.println("PM25 found!");
}

void loop() {
  
  PM25_AQI_Data data;
  
  if (! aqi.read(&data)) {
    Serial.println("Could not read from AQI");
    delay(500);  // try again in a bit!
    return;
  }
  Serial.println("AQI reading success");

  
  
  Serial.println();
  Serial.println(F("---------------------------------------"));
  Serial.println(F("Concentration Units (standard)"));
  Serial.println(F("---------------------------------------"));
  Serial.print(F("PM 1.0: ")); Serial.print(data.pm10_standard);
  Serial.print(F("\t\tPM 2.5: ")); Serial.print(data.pm25_standard);
  Serial.print(F("\t\tPM 10: ")); Serial.println(data.pm100_standard);
  Serial.println(F("Concentration Units (environmental)"));
  Serial.println(F("---------------------------------------"));
  Serial.print(F("PM 1.0: ")); Serial.print(data.pm10_env);
  Serial.print(F("\t\tPM 2.5: ")); Serial.print(data.pm25_env);
  Serial.print(F("\t\tPM 10: ")); Serial.println(data.pm100_env);
  Serial.println(F("---------------------------------------"));
  Serial.print(F("Particles > 0.3um / 0.1L air:")); Serial.println(data.particles_03um);
  Serial.print(F("Particles > 0.5um / 0.1L air:")); Serial.println(data.particles_05um);
  Serial.print(F("Particles > 1.0um / 0.1L air:")); Serial.println(data.particles_10um);
  Serial.print(F("Particles > 2.5um / 0.1L air:")); Serial.println(data.particles_25um);
  Serial.print(F("Particles > 5.0um / 0.1L air:")); Serial.println(data.particles_50um);
  Serial.print(F("Particles > 10 um / 0.1L air:")); Serial.println(data.particles_100um);
  Serial.println(F("---------------------------------------"));

  M5.Lcd.setCursor(0,50);
  M5.Lcd.setTextColor(BLACK, WHITE);
  M5.Lcd.setTextSize(2.5);
  M5.Lcd.print("size > 0.3um: ");
  M5.Lcd.print(data.particles_03um);
  M5.Lcd.print("\n");
  M5.Lcd.print("size > 0.5um: ");
  M5.Lcd.print(data.particles_05um);
  M5.Lcd.print("\n");
  M5.Lcd.print("size > 1.0um: ");
  M5.Lcd.print(data.particles_10um);
  M5.Lcd.print("\n");
  M5.Lcd.print("size > 2.5um: ");
  M5.Lcd.print(data.particles_25um);
  M5.Lcd.print("\n");
  M5.Lcd.print("size > 5.0um: ");
  M5.Lcd.print(data.particles_50um);
  M5.Lcd.print("\n");
  M5.Lcd.print("size > 10um : ");
  M5.Lcd.print(data.particles_100um);

  M5.Lcd.setTextColor(BLACK, WHITE);
  M5.Lcd.setTextSize(2);
  delay(1000);
}

Credits

Nilanjan Mandal
4 projects • 11 followers
Contact

Comments

Please log in or sign up to comment.

1
2
3
Hey stranger! Sign up to access unlimited projects featuring Adafruit and more – it's free.
Not now