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

Níveis COVID-19 e PM10!

Componentes e suprimentos

Arduino Nano R3
× 1
SDS018
http://inovafitness.com/en/a/chanpinzhongxin/97.html
× 1
Sensor de temperatura e umidade Adafruit DHT22 + extras
Observação:o resistor pull-up e o capacitor estão no módulo.
× 1
Tela OLED - I2C - SSD1306
× 1
Broadcom LED Verde
× 1
Broadcom LED amarelo
× 1
Broadcom LED vermelho
× 1
Capacitor 100 nF
Opcional:capacitor para DHT22.
× 1
Resistor de furo passante, 4,7 kohm
Opcional:resistor para DHT22.
× 1
Power Bank
Veja a descrição.
× 1
Resistor de furo passante, 390 ohm
Resistores para LEDs.
× 3
Parafuso de máquina, M3x16
Parafusos da caixa.
× 4
Parafuso de máquina, M3x6
Parafuso SDS018.
× 1
TOMADA DA LÂMPADA, LEDs LUMEX 3 MM
Opcional:Hardware de montagem de LED.
× 3
Jumper feminino para fio
× 3
Tubulação termorretrátil
× 1
Cabeçalho do pino (2 pinos)
× 1
Jumper genérico (0,1 ")
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Arame de solda, sem chumbo
Impressora 3D (genérica)
Pistola de cola quente (genérica)
Drill / Driver, Cordless

Aplicativos e serviços online

Arduino IDE

Sobre este projeto





Resumo


Estudos experimentais afirmariam a possibilidade de que o material particulado atue como um “portador” para a disseminação da infecção viral de COVID-19.

Isso significa que o vírus pode ser transportado por longas distâncias por partículas finas suspensas no ar e pode permanecer viável por horas, dias ou até semanas em partículas minúsculas. Portanto, as partículas de poluição do ar podem ajudar o coronavírus a viajar ainda mais no ar, aumentando o número de pessoas infectadas.

Em No norte da Itália, o bloqueio não produziu uma redução considerável do material particulado, pois o material particulado é obtido em grande quantidade também por fazendas intensivas de gado, além de fábricas e automóveis. Assim, mesmo que durante o bloqueio as fábricas fossem fechadas e os carros não circulassem, os níveis de concentração de particulados na Lombardia (Itália) permaneceram altos em qualquer caso, devido às fazendas de gado intensivas localizadas em seu território que continuaram a produzir estrume e, portanto, poluentes em o ar e, entre outros, partículas em suspensão.

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





Introdução


Há algumas semanas, assisti a um programa de TV italiano chamado “Report”. É um programa de investigação transmitido no canal três (RAI 3) pela televisão italiana.

Uma peça interessante me chamou a atenção… Tratava-se de poluição e, em particular, de um tipo de poluição causada pela pecuária intensiva. (Clique aqui para ver a parte correspondente:do minuto 27:25 ao minuto 56:00).

O gado intensivo refere-se a um sistema de cultivo no qual um grande número de animais (como vacas, porcos, perus ou galinhas) são mantidos juntos em espaços relativamente pequenos. O objetivo é produzir grandes quantidades de carne, ovos ou leite com o menor custo possível. Eles também são conhecidos como “fazendas-fábricas”.

Animais criados em fazendas superlotadas e em estilo industrial geram grande quantidade de dejetos animais, como urina e esterco. O estrume é geralmente armazenado em grandes lagos ao ar livre, muitas vezes do tamanho de vários campos de futebol, que são propensos a vazamentos e derramamentos, poluindo o solo e contaminando o abastecimento de água. Resíduos animais também emitem gases nocivos para a atmosfera (como amônia, endotoxinas, sulfeto de hidrogênio e metano) e liberam grandes quantidades de material particulado (PM10 e PM2,5; PM10 é a sigla para "material particulado com diâmetro ≤ 10 µm", PM2.5 é a sigla para “material particulado com diâmetro ≤ 2,5 µm”), criando problemas ambientais. O material particulado contém sólidos microscópicos ou gotículas de líquido que são tão pequenas que podem ser inaladas e causar sérios problemas de saúde.

Quando as fossas atingem sua capacidade máxima, os fazendeiros borrifam o estrume não tratado nos campos próximos como fertilizante, e isso traz ainda mais dessas substâncias nocivas para o ar.

Os resíduos não tratados poluem o ar com odores (o fedor pode ser insuportável) e criam problemas de saúde, diminuindo notavelmente a qualidade de vida dos trabalhadores, das pessoas próximas e comunidades vizinhas e do valor das propriedades. Estudos demonstraram que as pessoas que vivem perto de fazendas de criação intensiva de gado têm um risco muito maior de desenvolver problemas respiratórios, como asma e bronquite crônica.

Na Itália, as fazendas de gado mais intensivas estão localizadas no norte do país. Lombardia é uma das regiões com maior concentração de fazendas intensivas de gado; consequentemente, a quantidade de dejetos e dejetos produzidos nas instalações pecuárias é muito elevada e gera grandes quantidades de gases e partículas.

Note-se que, na Lombardia, 85% do amoníaco disperso na atmosfera é produzido por estrume:parece que as explorações agrícolas poluem da mesma forma que os automóveis.

Um estudo realizado por pesquisadores de várias universidades italianas e publicado em março passado com o título “ Avaliação da relação potencial entre poluição por material particulado (PM) e disseminação de infecção por COVID-19 na Itália ”(No link a seguir é possível baixar o Position Paper:https://www.simaonlus.it/?page_id=694, link direto para o pdf em inglês http://www.simaonlus.it/wpsima/wp- content / uploads / 2020/03 / COVID_19_position-paper_ENG.pdf - Recomendo a leitura!) fala sobre uma possível correlação entre os níveis de concentração de partículas e o número de pessoas infectadas por COVID-19 (como você pode ver no diagrama a seguir) .

Os pesquisadores coletaram e analisaram os seguintes dados:
  • Níveis de concentração diários de PM10 (dados fornecidos pela Agência Regional de Proteção Ambiental - ARPA - e coletados em toda a Itália);
  • As ultrapassagens diárias do valor limite PM10;
  • O número de pessoas infectadas com COVID-19 para cada província selecionada, comunicado pela Proteção Civil e atualizado com frequência diária.

e notaram uma relação significativa entre os excedentes diários de PM10 e a propagação da infecção COVID-19 durante o lapso de tempo do estudo (10-29 de fevereiro de 2020), com uma alta concentração de casos de Coronavírus no Norte Itália, em particular no Vale do Pó e especialmente na Lombardia, enquanto no Sul da Itália a difusão e letalidade do vírus foram significativamente mais baixas se comparadas com as observadas nas regiões do Norte.

Neste documento de posição é possível ler “A hipótese de uma relação direta entre os casos COVID-19 e os níveis de PM10 é reforçada pela evidência de que a concentração de surtos COVID-19 notificados no Vale do Pó [em Norte Itália] foi mais alto do que em outras partes da Itália ”(Como você pode ver na figura a seguir, que mostra as ultrapassagens dos limites de poluição PM10 registrados na Itália no período de 10 de fevereiro a 29 de fevereiro e onde é possível notar que o Vale do Pó é a área mais poluída da Itália).

É notável que a maioria dos casos de Coronavirus na Itália se localizem na Lombardia, onde a concentração de fazendas de gado intensivo é muito alta e a conseqüente produção de material particulado é enorme.

Deve-se notar que este fenômeno continuou mesmo durante o bloqueio, quando as fábricas foram completamente fechadas e os carros não circularam.

De acordo com este estudo, nas regiões do sul da Itália (menos poluídas), o padrão prevalente de transmissão viral ocorreria por contato entre pessoas (de acordo com os modelos de epidemia baseados no modo de transmissão típico 'contato pessoa a pessoa'), já nas regiões do norte da Itália (mais poluídas), a infecção se espalharia de forma diferente, ou seja, por um agente carreador (representado pelo material particulado em suspensão na atmosfera).

As seguintes curvas de expansão da infecção destacam a anomalia do norte da Itália na disseminação da infecção por COVID-19, em comparação com o centro e o sul da Itália.

Com base nos dados coletados e nas relações observadas, os pesquisadores concluem dizendo que é razoável supor que, durante o período de 10 a 29 de fevereiro de 2020, os altos níveis de concentração de PM10 registrados em regiões específicas do norte da Itália tiveram um efeito portador e de aumento para o disseminação virulenta da epidemia de COVID-19, promovendo a difusão do COVID-19 entre a população exposta, fenômeno não observado em outras regiões italianas que foram afetadas pela contaminação no mesmo período.

Outros estudos mostraram que o PM atuaria como um portador de vírus. Os vírus, na verdade, podem se prender a partículas, cujas pequenas partículas podem viajar longas distâncias nas correntes de ar e permanecer na atmosfera por horas, dias ou até semanas.

O material particulado também representaria um substrato permitindo que os vírus permanecessem ativos na atmosfera por algum tempo (horas ou dias). Fatores ambientais desempenham um papel importante na ativação e persistência de vírus na atmosfera:
  • Alta temperatura e radiação solar aceleram a inatividade;
  • A alta umidade relativa pode promover a taxa de difusão.

Uma pesquisa mostrou que a sobrevivência do vírus em superfícies diminui quando a umidade relativa é mantida em torno de 50%, enquanto os vírus permanecem ativos quando os valores de umidade relativa estão abaixo de 40% e acima de 60%.

Outra pesquisa da Universidade de Yale mostrou como as condições de baixa umidade permitem que as partículas infectadas se espalhem melhor e sobrevivam por mais tempo (clique aqui para ver o artigo).





Minha solução


Com base nessas considerações, pensei em criar um dispositivo replicável, de baixo custo e fácil de usar, capaz de medir os níveis de concentração de PM10, temperatura e umidade relativa (fatores ambientais envolvidos na disseminação da infecção viral), a fim de alertar as pessoas quando estes valores são muito altos e potencialmente perigosos para sua saúde, então eles podem escolher ficar em casa e não sair ou, se estiverem fora, ir para casa ou usar uma máscara, mesmo que as distâncias entre as pessoas sejam muito maiores do que uma metro.

O dispositivo consiste em um sensor PM10, um sensor de temperatura e umidade relativa, um display e três LEDs, todos controlados por um Arduino Nano. Os dados do sensor são mostrados no display e os LEDs indicam qual é a situação do ar.

Eu identifiquei quatro situações diferentes:

1. Normal - Concentrações de material particulado de 0 a 25 µg / m3 e umidade entre 40% e 60%;

2. Baixo - Concentrações de material particulado de 0 a 25 µg / m3 e umidade <40% ou> 60%;

3. Baixo - Concentrações de material particulado de 26 a 50 µg / m3 e umidade entre 40% e 60%;

4. Aviso - Concentrações de material particulado de 26 a 50 µg / m3 e umidade <40% ou> 60%;

5. Aviso - Concentrações de material particulado> 51 µg / m3 e umidade entre 40% e 60%;

6. Alarme - Concentrações de material particulado> 51 µg / m3 e umidade <40% ou> 60%.

LEDs associados:
  • Normal:LEDs apagados;
  • Baixo:LED verde aceso;
  • Aviso:LEDs verdes e amarelos acesos;
  • Alarme:LEDs verdes, amarelos e vermelhos acesos.

















SDS018 - Sensor PM10


O SDS018 pode obter a concentração de partículas entre 0,3 a 10μm no ar, usando o princípio de espalhamento a laser. É estável e confiável com sua saída digital e ventilador embutido.
  • Exato e confiável:detecção de laser, estável, boa consistência;
  • Resposta rápida:o tempo de resposta é inferior a 10 segundos quando a cena muda;
  • Fácil integração:saída UART (ou saída IO pode ser personalizada), ventilador integrado;
  • Alta resolução:resolução de 0,3μg / m3;
  • Certificação:os produtos passaram a certificação CE / FCC / RoHS.

SDS018 pinagem do sensor:
  • 1 - NC:Não conectar;
  • 2 - 1um:saída PWM;
  • 3 - 5V:fonte de alimentação;
  • 4 - 2,5um:saída PWM;
  • 5 - GND:Terra, conecte ao pólo negativo;
  • 6 - R:RX de UART (TTL);
  • 7 - T:TX de UART (TTL).

Conexão do sensor SDS018 ao Arduino Nano
  • O pino 5V (3) do sensor SDS018 está conectado ao pino 5V do Arduino Nano;
  • O pino GND (5) do sensor SDS018 está conectado ao pino GND do Arduino Nano;
  • O pino T (7) do sensor SDS018 é conectado ao pino RX do Arduino Nano;









Sensor DHT22


O DHT22 é um sensor digital de temperatura e umidade relativa. As principais características são:
  • 3 a 5 V de alimentação e E / S;
  • 2,5mA máximo de uso atual durante a conversão (ao solicitar dados);
  • leituras de umidade de 0-100% com precisão de 2-5%;
  • leituras de temperatura de -40 a 80 ° C ± 0,5 ° C de precisão;
  • Taxa de amostragem de 0,5 Hz (uma vez a cada 2 segundos).

Pinagem do sensor DHT22:
  • VDD:fonte de alimentação;
  • DADOS:saída de dados do sinal;
  • NC:Não conectado;
  • GND:Terra, conecte ao pólo negativo.

Conexão do sensor DHT22 ao Arduino Nano
  • O pino VDD do sensor DHT22 está conectado ao pino 5V do Arduino Nano;
  • O pino GND do sensor DHT22 está conectado ao pino GND do Arduino Nano;
  • Entre os pinos VDD e GND do sensor DHT22, eu inseri um capacitor 100nF;
  • Entre os pinos DATA e VCC do sensor DHT22, inseri um resistor pull-up de 4,7k;
  • O pino DATA do sensor DHT22 está conectado ao pino D2 do Arduino Nano.

Arduino IDE

Eu instalei a biblioteca de sensores DHT da Adafruit - Versão 1.3.10









Visor OLED de matriz de pontos

  • VCC:3,3-5V;
  • Resolução:128x32 pixels;
  • Fundo preto com caracteres brancos;
  • Driver:SSD1306;
  • Interface:I2C.

Pinagem de exibição OLED I2C:
  • SDA:dados seriais I2C;
  • SCL:relógio serial I2C;
  • VCC:fonte de alimentação;
  • GND:Terra, conectado ao pólo negativo.

Conexão do display OLED I2C ao Arduino Nano
  • O pino VCC do display está conectado ao pino 5V do Arduino Nano;
  • O pino GND da tela está conectado ao pino GND do Arduino Nano;
  • O pino SCL da tela está conectado ao pino A5 do Arduino Nano;
  • O pino SDA da tela é conectado ao pino A4 do Arduino Nano.

Arduino IDE

Instalei a biblioteca Adafruit SSD1306 da Adafruit - Versão 2.2.1





Conexões de LEDs


Usei três LEDs de 3 mm:vermelho, verde e amarelo.
  • O ânodo do LED vermelho está conectado ao pino D3 do Arduino Nano;
  • O ânodo do LED verde está conectado ao pino D4 do Arduino Nano;
  • O ânodo do LED amarelo é conectado ao pino D5 do Arduino Nano;
  • Soldei um resistor de 390 Ohm em série ao cátodo de cada LED e conectei o outro pino do resistor ao GND do Arduino Nano.





Arduino nano - modificação de hardware


Para ler a saída serial do SDS018 eu modifiquei o Arduino Nano.

Removi o resistor SMD indicado na figura a seguir com a seta vermelha.

Soldei o resistor SMD verticalmente e depois soldei dois fios ao resistor. Eu soldei um cabeçalho de pino na extremidade dos fios.

Inseri o jumper no cabeçalho do pino apenas quando programei o Arduino Nano. Desta forma, quando o jumper é removido, o Arduino Nano pode ler os dados do sensor SDS018 e simultaneamente enviar os dados para o monitor serial IDE do Arduino.

Ou mais simplesmente, após programar a placa Arduino Nano você pode remover o resistor permanentemente, mas desta forma não será mais possível reprogramar a placa Arduino Nano.









Fonte de alimentação


O Arduino Nano pode ser alimentado de duas maneiras diferentes:
  • USB;
  • Vin pin (e GND pin):7-12 V.

Alimentei a placa via USB por meio de um banco de energia.





Caixa e montagem


Projetei e imprimi em 3D uma caixa PLA laranja para consertar os sensores, display, LEDs e Arduino Nano. O case é composto por duas partes:a parte inferior, onde são fixados o Arduino Nano e o SDS018; e a parte superior onde são fixados o DHT22, o display e os LEDs. Na parte inferior há uma abertura para o cabo USB Mini-B. Na parte superior existem três orifícios de onde saem os três LEDs. Se desejar, você pode usar o Hardware de montagem de LED para fixar os LEDs (apenas ampliando os orifícios em até 5 mm).

Aqui em anexo você encontrará os dois arquivos que você precisa para imprimir em 3D as duas partes da caixa.

Usei cola quente para consertar o Arduino Nano, a tela e o DHT22 no gabinete.

Figure 1 - I have soldered LEDs with their resistors and I have mounted them on the upper part of the case;

Figure 2 - I have inserted a heat-shrink tubing on each resistor and on each wire;

Figures 3/4 - I have fixed the DHT22 sensor module with hot glue;

Figure 5 - I have fixed the display module with hot glue;

Figure 6 - I have soldered all the wires to the Arduino Nano board;

Figure 7 - I have fixed the Arduino Nano board with hot glue;

Figure 8 - I have soldered all the positive wires (red) together and I have inserted the heat-shrink tubing; I have soldered all the negative wires (black) together and I have inserted the heat-shrink tubing;

Figure 9 - I have fixed the red and black wires with the glitter hot glue (I had finished the transparent one :) )

Figure 10 - I have soldered the three female jumpers on each wire in order to connect the SDS018 Sensor module;

Figure 11 - I have inserted a heat-shrink tubing on each female jumper and I have inserted them into the SDS018 sensor module;

Figure 12 - I have mounted the SDS018 sensor module in the lower part of the case with a machine screw M3x6;

Figure 13 - I have closed the case with four machine screws M3x16.





Firmware


The firmware is an Arduino sketch . In the following figure you can see the simplified flow chart.

At start-up is executed the peripheral setup and the LEDs are checked.

Main loop:
  • Only at the first loop (startup) there are 2 seconds delay;
  • The DHT22 sensor is read;
  • Temperature and relative humidity are sent to Arduino IDE serial monitor (see the figure below);
  • The SDS018 sensor is read;
  • PM2.5 and PM10 are sent to Arduino IDE serial monitor (see the figure below);
  • If particulate matter concentrations are from 0 to 25 µg/m3 and humidity is between 40% and 60% - Normal alarm state -, then all LEDs get OFF;
  • If particulate matter concentrations are from 0 to 25 µg/m3 and humidity is <40% or> 60% or particulate matter concentrations are from 26 to 50 µg/m3 and humidity is between 40% and 60% (to simplify the code I have separated the conditions) - Low alarm state -, then only green LED gets ON;
  • If particulate matter concentrations are from 26 to 50 µg/m3 and humidity is <40% or> 60% or particulate matter concentrations are> 51 µg/m3 and humidity is between 40% and 60% (to simplify the code I have separated the conditions) - Warning alarm state -, then green and yellow LEDs get ON;
  • If particulate matter concentrations are> 51 µg/m3 and humidity is <40% or> 60% - Alarm state -, then all LEDs get ON;
  • If switchDisplay flag variable is equal to zero, then PM10 and humidity are visualized on display, otherwise are visualized PM2.5 and temperature in degrees Celsius; if there is an alarm state, instead of displaying PM10, it is visualized the word "Alarm!!!".

At the end of the loop I have inserted a 2 second-delay.









That's all!


If you have any questions or suggestions don't hesitate to leave a comment below. Obrigada!



Código

  • COVID-19 and PM10 levels! - Code
COVID-19 and PM10 levels! - CodeArduino
The firmware is an Arduino sketch.
#include #define SCREEN_WIDTH 128 // OLED display width, in pixels#define SCREEN_HEIGHT 32 // OLED display height, in pixels// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);#include "DHT.h"#define DHTPIN 2 // Digital pin connected to the DHT sensor #define DHTTYPE DHT22 // DHT22 (AM2302)DHT dht(DHTPIN, DHTTYPE);int startdhr22 =0; // Startup flag variable:waiting for the first measurement of DHT22int switchDisplay =0; // Flag variable for switch data on the displayconst int ledRed =3; // Number of Red LED pinconst int ledGreen =4; // Number of Green LED pinconst int ledYellow =5; // Number of Yellow LED pinvoid setup() { pinMode(LED_BUILTIN, OUTPUT); // On-board LED - initialize digital pin LED_BUILTIN as an output pinMode(ledRed, OUTPUT); // Initialize digital pin as an output pinMode(ledGreen, OUTPUT); // Initialize digital pin as an output pinMode(ledYellow, OUTPUT); // Initialize digital pin as an output dht.begin(); Serial.begin (9600); Serial.println("start"); // SSD1306_SWITCHCAPVCC =generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32 Serial.println(F("SSD1306 allocation failed")); for(;;); // Do not proceed, loop forever } display.clearDisplay(); // Clear the buffer display.setTextSize(2); // Draw 2X-scale text display.setTextColor(SSD1306_WHITE); // Startup:LEDs Test digitalWrite(ledGreen, HIGH); // Turn the LED ON delay(500); // Wait for 0,5 secondS digitalWrite(ledYellow, HIGH); // Turn the LED ON delay(500); // Wait for 0,5 secondS digitalWrite(ledRed, HIGH); // Turn the LED ON delay(500); // Wait for 0,5 secondS digitalWrite(ledGreen, LOW); // Turn the LED OFF digitalWrite(ledYellow, LOW); // Turn the LED OFF digitalWrite(ledRed, LOW); // Turn the LED OFF delay(500); // Wait for 0,5 secondS}void loop() { // ########################################################################### // DHT22 // 0.5 Hz sampling rate (once every 2 seconds). // ########################################################################### if(0 ==startdhr22) { delay(2000); // Startup:waiting for the first measurement of DHT22 startdhr22 =1; } float h =dht.readHumidity(); float t =dht.readTemperature(); // Read temperature as Celsius (default) // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t)) { Serial.println(F("Failed to read from DHT sensor!")); Retorna; } Serial.print(F("Humidity:")); Serial.print(h); Serial.print(F("% Temperature:")); Serial.print(t); Serial.println(F("°C ")); // ########################################################################### // SDS018 // ########################################################################### uint8_t dataIN[10] ={0}; // Data array from SDS018 float pm25; float pm10; while(Serial.available()> 0) { for(int i=0; i<10; ++i) { // loop for acquire 10 bytes dataIN[i] =Serial.read(); // Save data in to dataIN array // Serial.println(dataIN[i], HEX); // Test:Prints data to the serial port (print as an ASCII-encoded hexadecimal) } if((0xAA ==dataIN[0]) &&(0xC0 ==dataIN[1]) &&(0xAB ==dataIN[9])) { // check if array contains dataIN[0]=0xAA and dataIN[1]=0xC0 and dataIN[1]=0xAB uint8_t cksum =0; for(int i=2; i<=7; ++i) { cksum +=dataIN[i]; // Calculation of check-sum } //Serial.print("check-sum:"); // Test:Serial monitor //Serial.println(cksum, HEX); if(cksum ==dataIN[8]) { digitalWrite(LED_BUILTIN, HIGH); // Turn the LED on (HIGH is the voltage level) uint8_t pm25Lo =dataIN[2]; // PM2.5 low byte uint8_t pm25Hi =dataIN[3]; // PM2.5 high byte uint8_t pm10Lo =dataIN[4]; // PM10 low byte uint8_t pm10Hi =dataIN[5]; // PM10 high byte pm25 =((pm25Hi * 256.0) + pm25Lo)/10.0; // Calculation of PM2.5 value pm10 =((pm10Hi * 256.0) + pm10Lo)/10.0; // Calculation of PM10 value Serial.print("PM2.5:"); // Serial monitor Serial.print(pm25); Serial.println(" ug/m3"); Serial.print("PM10:"); Serial.print(pm10); Serial.println(" ug/m3"); } Serial.println("-----------------"); } Serial.flush(); } // ########################################################################### // LEDs // ########################################################################### if((pm10 <=25) &&((h>=40) &&(h <=60))) // Normal – Particulate matter concentrations from 0 to 25 µg/m3 and humidity between 40% and 60%; { digitalWrite(ledGreen, LOW); // Turn the LED OFF digitalWrite(ledYellow, LOW); // Turn the LED OFF digitalWrite(ledRed, LOW); // Turn the LED OFF } else if((pm10 <=25) &&((h <40) || (h> 60))) // Low - Particulate matter concentrations from 0 to 25 µg/m3 and humidity <40% o> 60%; { digitalWrite(ledGreen, HIGH); // Turn the LED ON digitalWrite(ledYellow, LOW); // Turn the LED OFF digitalWrite(ledRed, LOW); // Turn the LED OFF } else if(((pm10> 25) &&(pm10 <=50)) &&((h>=40) &&(h <=60))) // Low - Particulate matter concentrations from 26 to 50 µg/m3 and humidity between 40% and 60%; { digitalWrite(ledGreen, HIGH); // Turn the LED ON digitalWrite(ledYellow, LOW); // Turn the LED OFF digitalWrite(ledRed, LOW); // Turn the LED OFF } else if(((pm10> 25) &&(pm10 <=50)) &&((h <40) || (h> 60))) // Warning - Particulate matter concentrations from 26 to 50 µg/m3 and humidity <40% o> 60%; { digitalWrite(ledGreen, HIGH); // Turn the LED ON digitalWrite(ledYellow, HIGH); // Turn the LED ON digitalWrite(ledRed, LOW); // Turn the LED OFF } else if((pm10> 50) &&((h>=40) &&(h <=60))) // Warning - Particulate matter concentrations> 51 µg/m3 and humidity between 40% and 60%; { digitalWrite(ledGreen, HIGH); // Turn the LED ON digitalWrite(ledYellow, HIGH); // Turn the LED ON digitalWrite(ledRed, LOW); // Turn the LED OFF } else // Alarm - Particulate matter concentrations> 51 µg/m3 and humidity <40% or> 60%. { digitalWrite(ledGreen, HIGH); // Turn the LED ON digitalWrite(ledYellow, HIGH); // Turn the LED ON digitalWrite(ledRed, HIGH); // Turn the LED ON } // ########################################################################### // Display // ########################################################################### if(0 ==switchDisplay) { display.clearDisplay(); display.setTextColor(SSD1306_WHITE); display.setCursor(0,0); // Set the cursor position (Width, Height) if(pm10> 50) // Visualize the word "Alarm" on display { display.print("Alarm!!!"); } else // Visualize the PM10 value on display { display.print("PM10:"); display.println(pm10); } display.print(" HR%:"); // Visualize the humidity value on display display.println(h); display.display(); switchDisplay =1; } else { display.clearDisplay(); display.setTextColor(SSD1306_BLACK, SSD1306_WHITE); // Draw 'inverse' text display.setCursor(0,0); // Set the cursor position (Width, Height) display.print("PM25:"); // Visualize the PM2.5 value on display display.println(pm25); display.print("T[C]:"); // Visualize the temperature value on display display.println(t); display.display(); switchDisplay =0; } atraso (500); // Delay of 500ms digitalWrite(LED_BUILTIN, LOW); // TEST:turn the LED_BUILTIN OFF delay(1500); // Delay of 1500ms}

Peças personalizadas e gabinetes

Case - upper part
File of the 3D upper part of orange PLA case
https://sketchfab.com/3d-models/case-upper-part-c6843c6613f84805a39e1a9384dd5e56
Case - lower part
File of the 3D lower part of orange PLA case
https://sketchfab.com/3d-models/case-lower-part-covid-19-and-pm10-levels-9d4d2ef93e644065b627c5562c5cde1f

Esquemas

Electrical schematic of COVID-19 and PM10 levels!

Processo de manufatura

  1. Embalagem plástica de alimentos e sustentabilidade durante a COVID-19
  2. Como COVID-19 mudou (e não mudou) a automação em plásticos
  3. COVID-19 e a morte da economia pós-Segunda Guerra Mundial
  4. Como o COVID-19 está afetando a blockchain e a criptomoeda
  5. COVID-19 e o fim da RFP anual do remetente
  6. Wayfair e COVID-19:O impacto sobre vendedores isentos de impostos
  7. Requalificação e retreinamento na esteira de COVID-19
  8. Informações e recursos do Coronavirus (COVID-19)
  9. Novo estudo:impacto da COVID-19 no futuro do trabalho e da automação
  10. Material detecta COVID-19 com rapidez e precisão