Níveis COVID-19 e PM10!
Componentes e suprimentos
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 3 | |||
| × | 4 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 |
Ferramentas e máquinas necessárias
![]() |
| |||
![]() |
| |||
![]() |
| |||
![]() |
| |||
![]() |
|
Aplicativos e serviços online
![]() |
|
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 casehttps://sketchfab.com/3d-models/case-upper-part-c6843c6613f84805a39e1a9384dd5e56
Case - lower part
File of the 3D lower part of orange PLA casehttps://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
- Embalagem plástica de alimentos e sustentabilidade durante a COVID-19
- Como COVID-19 mudou (e não mudou) a automação em plásticos
- COVID-19 e a morte da economia pós-Segunda Guerra Mundial
- Como o COVID-19 está afetando a blockchain e a criptomoeda
- COVID-19 e o fim da RFP anual do remetente
- Wayfair e COVID-19:O impacto sobre vendedores isentos de impostos
- Requalificação e retreinamento na esteira de COVID-19
- Informações e recursos do Coronavirus (COVID-19)
- Novo estudo:impacto da COVID-19 no futuro do trabalho e da automação
- Material detecta COVID-19 com rapidez e precisão