Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Kit DIY Arduino: Sensor PM10, Temperatura e Umidade

Componentes e Materiais

Arduino Nano R3 1
Sensor SDS018 (PM10/PM2.5) 1
Sensor DHT22 Temperatura/Umidade (Adafruit) 1
Display OLED I2C SSD1306 128x32 1
LED Verde 3mm (Broadcom) 1
LED Amarelo 3mm (Broadcom) 1
LED Vermelho 3mm (Broadcom) 1
Capacitor 100 nF (opcional, para DHT22) 1
Resistor 4.7 kΩ (opcional, pull-up DHT22) 1
Power Bank (fonte USB) 1
Resistores 390 Ω (para LEDs) 3
Parafusos M3x16 (caixa), M3x6 (SDS018) 4 + 1
Soquete LED 3mm, jumpers fêmea, termorretrátil, header 2 pinos Conforme necessário

Ferramentas Necessárias

Aplicativos e Serviços Online

Sobre o Projeto

Resumo

Estudos experimentais sugerem que a matéria particulada pode atuar como "veículo" para a propagação da infecção viral da COVID-19. O vírus poderia ser transportado a distâncias maiores por partículas finas suspensas no ar e permanecer viável por horas, dias ou semanas. Partículas de poluição do ar poderiam ajudar o coronavírus a viajar mais longe, aumentando infecções.

No norte da Itália, o lockdown não reduziu consideravelmente a matéria particulada, pois esta também é gerada em grande quantidade por criações intensivas de gado, além de fábricas e carros. Mesmo com fábricas fechadas e carros parados, os níveis de PM na Lombardia permaneceram altos devido às fazendas intensivas que continuaram produzindo dejetos e poluentes.

Cientistas sugerem que níveis mais altos de poluição por partículas explicam taxas mais altas de infecção em partes do norte da Itália.

Introdução

Assisti a um programa investigativo italiano ("Report", RAI 3) sobre poluição por pecuária intensiva. Animais confinados em grandes números geram enorme quantidade de dejetos (urina, esterco), armazenados em lagoas abertas que vazam, contaminam solo/água e emitem gases nocivos (amônia, endotoxinas, sulfeto de hidrogênio, metano) e grandes quantidades de material particulado (PM10 e PM2.5). PM10 = matéria particulada diâmetro ≤ 10 µm; PM2.5 = ≤ 2.5 µm. Partículas microscópicas inaláveis causam sérios problemas de saúde.

Quando as lagoas enchem, agricultores pulverizam esterco não tratado como fertilizante, liberando mais substâncias nocivas no ar. Odores insuportáveis, problemas de saúde, qualidade de vida reduzida. Estudos mostram maior risco de problemas respiratórios (asma, bronquite crônica) para quem vive perto.

Na Itália, a maioria das fazendas intensivas fica no norte. Lombardia tem altíssima concentração; 85% da amônia atmosférica vem de esterco – fazendas poluem como carros.

Estudo de universidades italianas (março 2020): "Evaluation of the potential relationship between Particulate Matter (PM) pollution and COVID-19 infection spread in Italy" (PDF) mostra correlação entre níveis de PM10 e casos de COVID-19. Relação significativa entre excedentes diários de PM10 e propagação da infecção (10-29 fev 2020), com alta concentração de casos no Vale do Pó (norte), especialmente Lombardia, enquanto sul teve difusão e letalidade significativamente menores.

"A hipótese de relação direta entre casos COVID-19 e níveis PM10 é reforçada pela evidência de que a concentração de surtos notificados no Vale do Pó foi maior que em outras partes da Itália".

Fenômeno continuou durante lockdown. Sul: transmissão por contato pessoa-pessoa (modelos epidêmicos padrão). Norte: propagação por agente veiculador (partículas suspensas). Curvas de expansão da infecção mostram anomalia do norte.

Conclusão: altos níveis de PM10 em regiões específicas do norte italiano tiveram efeito veiculador e impulsionador na propagação virulenta da COVID-19, promovendo difusão entre população exposta, fenômeno não observado em outras regiões no mesmo período.

Outros estudos: PM atua como veículo para vírus. Vírus aderem a partículas que viajam longas distâncias em correntes de ar e permanecem na atmosfera por horas/dias/semanas. PM também serve como substrato mantendo vírus ativos. Fatores ambientais influenciam ativação/persistência:

Pesquisa: sobrevivência viral em superfícies cai com umidade ~50%; vírus ativos com umidade <40% ou >60%. Yale: baixa umidade permite partículas infectadas espalharem melhor e sobreviverem mais.

Minha Solução

Baseado nisso, criei um dispositivo replicável, baixo custo e fácil de usar para medir PM10, temperatura e umidade relativa (fatores ambientais envolvidos na propagação viral), alertando quando valores são perigosos para que as pessoas possam ficar em casa, voltar para casa ou usar máscara mesmo com distanciamento >1m.

O dispositivo: sensor PM10, sensor temp/umidade, display, 3 LEDs, controlados por Arduino Nano. Dados no display; LEDs indicam situação do ar.

Quatro Situações Identificadas

  1. Normal – PM10 0-25 µg/m³ e umidade 40-60%
  2. Baixo – PM10 0-25 µg/m³ e umidade <40% ou >60%
  3. Baixo – PM10 26-50 µg/m³ e umidade 40-60%
  4. Atenção – PM10 26-50 µg/m³ e umidade <40% ou >60%
  5. Atenção – PM10 >51 µg/m³ e umidade 40-60%
  6. Alarme – PM10 >51 µg/m³ e umidade <40% ou >60%

LEDs associados:

Sensor SDS018 – PM10

Mede concentração de partículas 0.3-10µm por espalhamento a laser. Saída digital UART, ventoinha embutida. Preciso, confiável, resposta <10s, resolução 0.3µg/m³, certificações CE/FCC/RoHS.

Pinout SDS018: 1-NC, 2-1µm (PWM), 3-5V, 4-2.5µm (PWM), 5-GND, 6-RX (UART TTL), 7-TX (UART TTL).

Conexão ao Arduino Nano: SDS018 pino 3 (5V) → Nano 5V; pino 5 (GND) → Nano GND; pino 7 (TX) → Nano RX.

Sensor DHT22

Sensor digital temperatura/umidade. 3-5V, 2.5mA máx, umidade 0-100% (precisão 2-5%), temp -40 a 80°C (±0.5°C), taxa 0.5Hz (2s).

Pinout: VDD, DATA, NC, GND.

Conexão: VDD → Nano 5V; GND → Nano GND; capacitor 100nF entre VDD-GND; resistor 4.7k pull-up entre DATA-VCC; DATA → Nano D2.

Biblioteca Arduino: DHT sensor library by Adafruit v1.3.10

Display OLED I2C SSD1306 128x32

VCC 3.3-5V, resolução 128x32, fundo preto caracteres brancos, driver SSD1306, interface I2C.

Pinout: SDA, SCL, VCC, GND.

Conexão: VCC → Nano 5V; GND → Nano GND; SCL → Nano A5; SDA → Nano A4.

Biblioteca: Adafruit SSD1306 v2.2.1

Conexões dos LEDs

Três LEDs 3mm: vermelho, verde, amarelo. Anodos: vermelho → D3, verde → D4, amarelo → D5. Catodos com resistor 390Ω em série ao GND.

Modificação de Hardware do Arduino Nano

Para ler a saída serial do SDS018, removi o resistor SMD indicado (seta vermelha na foto), soldei-o verticalmente com dois fios e header de pinos. Jumper no header apenas durante programação; removido para leitura do sensor e envio ao Serial Monitor simultaneamente. Ou remova o resistor permanentemente após programar (não poderá reprogramar).

Alimentação

Arduino Nano via USB (power bank) ou pino Vin (7-12V). Usei power bank via USB.

Caixa e Montagem

Caixa em PLA laranja impressa em 3D (duas partes: inferior com Arduino e SDS018; superior com DHT22, display, LEDs). Abertura para cabo USB mini-B na parte inferior; 3 furos para LEDs na superior (podem usar hardware de montagem LED alargando para 5mm). Cola quente para fixar componentes.

Arquivos 3D: Parte superior, Parte inferior.

Passos de montagem (13 figuras): solda LEDs+resistores → termorretrátil → fixa DHT22 → fixa display → solda fios no Nano → fixa Nano → agrupa fios +/− com termorretrátil → cola glitter → jumpers fêmea para SDS018 → termorretrátil nos jumpers → conecta SDS018 → fixa SDS018 na parte inferior (M3x6) → fecha caixa (4x M3x16).

Firmware

Sketch Arduino. Fluxograma simplificado na imagem.

Inicialização: setup periféricos, teste LEDs.

Loop principal:

Código (Firmware)

#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

int startdhr22 = 0;
int switchDisplay = 0;
const int ledRed = 3;
const int ledGreen = 4;
const int ledYellow = 5;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(ledRed, OUTPUT);
  pinMode(ledGreen, OUTPUT);
  pinMode(ledYellow, OUTPUT);
  dht.begin();
  Serial.begin(9600);
  Serial.println("start");
  
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(SSD1306_WHITE);
  
  // Teste LEDs
  digitalWrite(ledGreen, HIGH); delay(500);
  digitalWrite(ledYellow, HIGH); delay(500);
  digitalWrite(ledRed, HIGH); delay(500);
  digitalWrite(ledGreen, LOW); digitalWrite(ledYellow, LOW); digitalWrite(ledRed, LOW);
  delay(500);
}

void loop() {
  // DHT22
  if(0 == startdhr22) { delay(2000); startdhr22 = 1; }
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(h) || isnan(t)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.println(F("°C "));
  
  // SDS018
  uint8_t dataIN[10] = {0};
  float pm25, pm10;
  while(Serial.available() > 0) {
    for(int i=0; i<10; ++i) {
      dataIN[i] = Serial.read();
    }
    if((0xAA == dataIN[0]) && (0xC0 == dataIN[1]) && (0xAB == dataIN[9])) {
      uint8_t cksum = 0;
      for(int i=2; i<=7; ++i) cksum += dataIN[i];
      if(cksum == dataIN[8]) {
        digitalWrite(LED_BUILTIN, HIGH);
        uint8_t pm25Lo = dataIN[2], pm25Hi = dataIN[3];
        uint8_t pm10Lo = dataIN[4], pm10Hi = dataIN[5];
        pm25 = ((pm25Hi * 256.0) + pm25Lo)/10.0;
        pm10 = ((pm10Hi * 256.0) + pm10Lo)/10.0;
        Serial.print("PM2.5: "); Serial.print(pm25); Serial.println(" ug/m3");
        Serial.print("PM10: "); Serial.print(pm10); Serial.println(" ug/m3");
      }
      Serial.println("-----------------");
    }
    Serial.flush();
  }
  
  // LEDs - Lógica de Alarme
  if((pm10 <= 25) && ((h >= 40) && (h <= 60))) { // Normal
    digitalWrite(ledGreen, LOW); digitalWrite(ledYellow, LOW); digitalWrite(ledRed, LOW);
  } else if((pm10 <= 25) && ((h < 40) || (h > 60))) { // Baixo
    digitalWrite(ledGreen, HIGH); digitalWrite(ledYellow, LOW); digitalWrite(ledRed, LOW);
  } else if(((pm10 > 25) && (pm10 <= 50)) && ((h >= 40) && (h <= 60))) { // Baixo
    digitalWrite(ledGreen, HIGH); digitalWrite(ledYellow, LOW); digitalWrite(ledRed, LOW);
  } else if(((pm10 > 25) && (pm10 <= 50)) && ((h < 40) || (h > 60))) { // Atenção
    digitalWrite(ledGreen, HIGH); digitalWrite(ledYellow, HIGH); digitalWrite(ledRed, LOW);
  } else if((pm10 > 50) && ((h >= 40) && (h <= 60))) { // Atenção
    digitalWrite(ledGreen, HIGH); digitalWrite(ledYellow, HIGH); digitalWrite(ledRed, LOW);
  } else { // Alarme
    digitalWrite(ledGreen, HIGH); digitalWrite(ledYellow, HIGH); digitalWrite(ledRed, HIGH);
  }
  
  // Display
  if(0 == switchDisplay) {
    display.clearDisplay();
    display.setTextColor(SSD1306_WHITE);
    display.setCursor(0,0);
    if(pm10 > 50) display.print("Alarm!!!");
    else { display.print("PM10:"); display.println(pm10); }
    display.print(" HR%:"); display.println(h);
    display.display();
    switchDisplay = 1;
  } else {
    display.clearDisplay();
    display.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
    display.setCursor(0,0);
    display.print("PM25:"); display.println(pm25);
    display.print("T[C]:"); display.println(t);
    display.display();
    switchDisplay = 0;
  }
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1500);
}

Peças Personalizadas e Gabinetes

Esquemático

Esquema elétrico completo do dispositivo.

Processo de manufatura

  1. Abordagem Circular da SABIC: Embalagens Plásticas, Segurança e Sustentabilidade em Meio à COVID-19
  2. Como a COVID-19 Acelerou a Automação na Indústria de Plásticos
  3. COVID-19 e o Fim do Paradigma Econômico Pós-Segunda Guerra Mundial
  4. O Efeito Pandemia: COVID-19 Acelerando Inovação em Blockchain e Criptomoedas
  5. COVID-19 Acelera o Fim dos RFPs Anuais de Expedidores
  6. Wayfair e COVID-19: Navegando nos Desafios de Vendedores Isentos de Impostos na Economia Pós-Pandemia
  7. Preenchendo a Lacuna de Habilidades: Estratégias de Requalificação e Retreinamento Pós-COVID para Fabricantes
  8. Orientação e Recursos COVID-19 para Líderes da Manufatura
  9. Como a COVID-19 está remodelando o futuro do trabalho e da automação — Insights de novo estudo
  10. Detecção Rápida e Precisa de COVID-19 Usando Tecnologia de Grafeno