Niveaux COVID-19 et PM10 !
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Outils et machines nécessaires
| ||||
| ||||
| ||||
| ||||
|
Applications et services en ligne
|
À propos de ce projet
Résumé
Des études expérimentales affirmeraient la possibilité que les particules puissent agir comme un « véhicule » pour la propagation de l'infection virale de COVID-19.
Cela signifie que le virus pourrait être transporté sur de plus longues distances par de fines particules en suspension dans l'air et pourrait rester viable pendant des heures, des jours ou même des semaines dans de minuscules particules. Ainsi, les particules de pollution atmosphérique pourraient aider le coronavirus à voyager plus loin dans l'air, augmentant ainsi le nombre de personnes infectées.
Dans Dans le nord de l'Italie, le confinement n'a pas produit une réduction considérable des particules, car les particules sont obtenues en grande quantité également par les élevages intensifs, en plus des usines et des voitures. Ainsi, même si pendant le confinement les usines étaient fermées et les voitures ne circulaient pas, les niveaux de concentration de particules en Lombardie (Italie) restaient de toute façon élevés, en raison des élevages intensifs situés sur son territoire qui continuaient à produire du fumier, et donc des polluants dans l'air et, entre autres, les particules.
Les scientifiques et les chercheurs suggèrent que des niveaux plus élevés de pollution par les particules pourraient expliquer des taux d'infection plus élevés dans certaines parties du nord de l'Italie.
Présentation
Il y a quelques semaines, j'ai regardé une émission de télévision italienne intitulée "Report". Il s'agit d'un programme d'enquête diffusé sur la troisième chaîne (RAI 3) par la télévision italienne.
Une pièce intéressante a retenu mon attention… Il s'agissait de la pollution et en particulier d'un type de pollution causée par l'élevage intensif d'animaux. (Cliquez ici pour voir la partie correspondante :de la minute 27:25 à la minute 56:00).
L'élevage intensif fait référence à un système d'élevage dans lequel un grand nombre d'animaux (tels que des vaches, des porcs, des dindes ou des poulets) sont maintenus ensemble dans des espaces relativement petits. L'objectif est de produire de grandes quantités de viande, d'œufs ou de lait au moindre coût possible. On les appelle aussi « fermes-usines ».
Les animaux élevés dans des fermes surpeuplées et de type industriel génèrent une grande quantité de déchets animaux, comme l'urine et le fumier. Le fumier est généralement stocké dans d'immenses étangs à ciel ouvert, souvent aussi grands que plusieurs terrains de football, qui sont sujets aux fuites et aux déversements, qui polluent les sols et contaminent les réserves d'eau. Les déchets animaux émettent également des gaz nocifs dans l'atmosphère (tels que l'ammoniac, les endotoxines, le sulfure d'hydrogène et le méthane) et libèrent de grandes quantités de particules (PM10 et PM2,5 ; PM10 est l'acronyme de « particules de diamètre ≤ 10 µm », PM2,5 est l'acronyme de « particules de diamètre ≤ 2,5 µm »), créant des problèmes environnementaux. Les particules contiennent des solides microscopiques ou des gouttelettes liquides si petites qu'elles peuvent être inhalées et causer de graves problèmes de santé.
Lorsque les puisards atteignent leur capacité, les agriculteurs pulvérisent le fumier non traité sur les champs environnants comme engrais, ce qui amène encore plus de ces substances nocives dans l'air.
Les déchets non traités polluent l'air avec des odeurs (la puanteur peut être insupportable) et créent des problèmes de santé, diminuant considérablement la qualité de vie des travailleurs, des personnes à proximité et des communautés voisines et la valeur des propriétés. Des études ont montré que les personnes qui vivent à proximité d'élevages intensifs ont un risque beaucoup plus élevé de développer des problèmes respiratoires, tels que l'asthme et la bronchite chronique.
En Italie, la plupart des exploitations d'élevage intensif sont situées dans le nord du pays. La Lombardie est l'une des régions avec la plus forte concentration d'élevages intensifs; par conséquent, la quantité d'excréments et de déchets animaux produits dans les installations d'élevage est très élevée et génère de grandes quantités de gaz et de particules.
A noter qu'en Lombardie 85 % de l'ammoniac dispersé dans l'atmosphère est produit par le fumier :il semblerait que les exploitations agricoles polluent de la même manière que les voitures.
Une étude réalisée par des chercheurs de plusieurs universités italiennes et publiée en mars dernier sous le titre « Évaluation de la relation potentielle entre la pollution par les particules (PM) et la propagation de l'infection au COVID-19 en Italie ” (au lien suivant il est possible de télécharger le Position Paper :https://www.simaonlus.it/?page_id=694 , lien direct vers le pdf anglais http://www.simaonlus.it/wpsima/wp- content/uploads/2020/03/COVID_19_position-paper_ENG.pdf - Je recommande de le lire!) parle d'une corrélation possible entre les niveaux de concentration de particules et le nombre de personnes infectées par COVID-19 (comme vous pouvez le voir dans le diagramme suivant) .
Les chercheurs ont collecté et analysé les données suivantes :
- Niveaux de concentration quotidiens de PM10 (données fournies par l'Agence régionale de protection de l'environnement - ARPA - et collectées dans toute l'Italie );
- Les dépassements quotidiens de la valeur limite PM10 ;
- Le nombre de personnes infectées par le COVID-19 pour chaque province sélectionnée, communiqué par la Protection civile et mis à jour quotidiennement.
et ont remarqué une relation significative entre les dépassements quotidiens de PM10 et la propagation de l'infection COVID-19 pendant la durée de l'étude (10-29 février 2020), avec une forte concentration de cas de coronavirus dans le Nord Italie, en particulier dans la vallée du Pô et surtout en Lombardie, tandis que dans le sud de l'Italie, la diffusion et la létalité du virus étaient significativement plus faibles par rapport à celles observées dans les régions du nord.
Dans cet exposé de position, il est possible de lire « L'hypothèse d'une relation directe entre les cas de COVID-19 et les niveaux de PM10 est renforcée par la preuve que la concentration des épidémies de COVID-19 notifiées dans la vallée du Pô [dans le Nord Italie] était plus élevé que dans d'autres régions d'Italie ” (comme vous pouvez le voir dans la figure suivante, qui montre les dépassements des limites de pollution PM10 enregistrés en Italie dans la période du 10 février au 29 février et où il est possible de noter que la vallée du Pô est la zone la plus polluée d'Italie).
Il est très remarquable que la plupart des cas de coronavirus en Italie se situent en Lombardie, où la concentration d'élevages intensifs est très élevée et la production par conséquent de particules est énorme.
A noter que ce phénomène s'est poursuivi même pendant le confinement, lorsque les usines étaient complètement fermées et que les voitures ne circulaient pas.
Selon cette étude, dans les régions du sud de l'Italie (moins polluées), le schéma prédominant de transmission virale se produirait par contact entre personnes (en accord avec les modèles épidémiques basés sur le mode de transmission typique « contact de personne à personne »), alors que dans les régions du nord de l'Italie (plus polluées), l'infection se propagerait de manière différente, c'est-à-dire par un agent vecteur (représenté par les particules en suspension dans l'atmosphère).
Les courbes d'expansion de l'infection suivantes mettent en évidence l'anomalie du nord de l'Italie dans la propagation de l'infection au COVID-19, par rapport à l'Italie centrale et méridionale.
Sur la base des données collectées et des relations observées, les chercheurs concluent en disant qu'il est raisonnable de supposer que, pendant la période du 10 au 29 février 2020, des niveaux de concentration élevés de PM10 enregistrés dans des régions spécifiques du nord de l'Italie ont eu un effet porteur et stimulant sur le propagation virulente de l'épidémie de COVID-19, favorisant la diffusion du COVID-19 parmi la population exposée, phénomène non observé dans d'autres régions italiennes qui ont été touchées par la contamination au cours de la même période.
D'autres études ont montré que les PM agiraient comme vecteurs de virus. Les virus, en fait, peuvent se fixer sur des particules, dont les petites particules peuvent parcourir de longues distances avec les courants d'air et rester dans l'atmosphère pendant des heures, des jours ou même des semaines.
Les matières particulaires représenteraient également un substrat permettant aux virus de rester actifs dans l'atmosphère pendant un certain temps (heures ou jours). Les facteurs environnementaux jouent un rôle important dans l'activation et la persistance des virus dans l'atmosphère :
- Les températures élevées et le rayonnement solaire accélèrent l'inactivité ;
- Une humidité relative élevée peut favoriser le taux de diffusion.
Une recherche a montré que la survie des virus sur les surfaces diminue lorsque l'humidité relative est maintenue autour de 50 %, tandis que les virus restent actifs lorsque les valeurs d'humidité relative sont inférieures à 40 % et supérieures à 60 %.
Une autre recherche de l'Université de Yale a montré comment des conditions d'humidité faible permettent aux particules infectées de mieux se propager et de survivre plus longtemps (cliquez ici pour voir l'article).
Ma solution
Sur la base de ces considérations, j'ai pensé à créer un appareil reproductible, peu coûteux et facile à utiliser, capable de mesurer les niveaux de concentration de PM10, la température et l'humidité relative (facteurs environnementaux impliqués dans la propagation d'une infection virale), afin d'avertir les personnes lorsque celles-ci les valeurs sont trop élevées et potentiellement dangereuses pour leur santé, ils peuvent donc choisir de rester chez eux et de ne pas sortir ou, s'ils sont à l'extérieur, de rentrer chez eux, ou de porter un masque, même si les distances entre les personnes sont bien supérieures à un mètre.
L'appareil se compose d'un capteur PM10, d'un capteur de température et d'humidité relative, d'un écran et de trois LED, tous contrôlés par un Arduino Nano. Les données du capteur sont affichées sur l'écran et les LED indiquent quelle est la situation de l'air.
J'ai identifié quatre situations différentes :
1. Normal – Concentrations de particules de 0 à 25 µg/m3 et humidité entre 40 % et 60 % ;
2. Faible - Concentrations de particules de 0 à 25 µg/m3 et humidité <40 % ou> 60 % ;
3. Faible - Concentrations de particules de 26 à 50 µg/m3 et humidité de 40 à 60 % ;
4. Avertissement - Concentrations de particules de 26 à 50 µg/m3 et humidité <40 % ou> 60 % ;
5. Avertissement - Concentrations de particules> 51 µg/m3 et humidité comprise entre 40 % et 60 % ;
6. Alarme - Concentrations de particules> 51 µg/m3 et humidité <40 % ou> 60 %.
LED associées :
- Normal :LED éteintes ;
- Faible :LED verte allumée ;
- Avertissement :LED verte et jaune allumées ;
- Alarme :LED verte, jaune et rouge allumées.
SDS018 - Capteur PM10
Le SDS018 peut obtenir la concentration de particules entre 0,3 et 10 µm dans l'air, en utilisant le principe de la diffusion laser. Il est stable et fiable avec sa sortie numérique et son ventilateur intégré.
- Précis et fiable :détection laser, stable, bonne cohérence ;
- Réponse rapide :le temps de réponse est inférieur à 10 secondes lorsque la scène change ;
- Intégration facile :sortie UART (ou la sortie IO peut être personnalisée), ventilateur intégré ;
- Haute résolution :résolution de 0,3 μg/m3 ;
- Certification :les produits ont passé la certification CE/FCC/RoHS.
SDS018 brochage du capteur :
- 1 - NC :Pas de connexion ;
- 2 - 1um :sortie PWM ;
- 3 - 5V :alimentation ;
- 4 - 2.5um :sortie PWM ;
- 5 - GND :masse, connecter au pôle négatif ;
- 6 - R :RX de l'UART (TTL) ;
- 7 - T :TX de l'UART (TTL).
Connexion du capteur SDS018 à Arduino Nano
- La broche 5V (3) du capteur SDS018 est connectée à la broche 5V de l'Arduino Nano ;
- La broche GND (5) du capteur SDS018 est connectée à la broche GND d'Arduino Nano ;
- La broche T (7) du capteur SDS018 est connectée à la broche RX d'Arduino Nano ;
Capteur DHT22
Le DHT22 est un capteur numérique de température et d'humidité relative. Les principales caractéristiques sont :
- Alimentation 3 à 5 V et E/S ;
- Utilisation de courant max. de 2,5 mA pendant la conversion (lors de la demande de données );
- Lectures d'humidité de 0 à 100 % avec une précision de 2 à 5 % ;
- Mesures de température de -40 à 80 °C précision ±0,5 °C ;
- Taux d'échantillonnage de 0,5 Hz (une fois toutes les 2 secondes).
Brochage du capteur DHT22 :
- VDD :alimentation ;
- DONNÉES :sortie de données de signal ;
- NC :non connecté ;
- GND :masse, connecter au pôle négatif.
Connexion du capteur DHT22 à Arduino Nano
- La broche VDD du capteur DHT22 est connectée à la broche 5V d'Arduino Nano ;
- La broche GND du capteur DHT22 est connectée à la broche GND d'Arduino Nano ;
- Entre les broches VDD et GND du capteur DHT22, j'ai inséré un condensateur 100nF ;
- Entre les broches DATA et VCC du capteur DHT22, j'ai inséré une résistance pull-up de 4,7k ;
- La broche DATA du capteur DHT22 est connectée à la broche D2 de l'Arduino Nano.
IDE Arduino
J'ai installé la bibliothèque de capteurs DHT par Adafruit - Version 1.3.10
Écran OLED à matrice de points
- VCC : 3,3-5 V ;
- Résolution :128 x 32 pixels ;
- Fond noir avec des caractères blancs ;
- Pilote :SSD1306 ;
- Interface :I2C.
Brochage de l'écran OLED I2C :
- SDA :données série I2C ;
- SCL :horloge série I2C ;
- VCC :alimentation ;
- GND :masse, connectée au pôle négatif.
Connexion de l'écran OLED I2C à Arduino Nano
- La broche d'affichage VCC est connectée à la broche 5V d'Arduino Nano ;
- La broche GND de l'affichage est connectée à la broche GND de l'Arduino Nano ;
- La broche d'affichage SCL est connectée à la broche A5 d'Arduino Nano ;
- La broche d'affichage SDA est connectée à la broche A4 d'Arduino Nano.
IDE Arduino
J'ai installé la bibliothèque Adafruit SSD1306 par Adafruit - Version 2.2.1
Connexions LED
J'ai utilisé trois LED 3 mm :rouge, verte et jaune.
- L'anode de la LED rouge est connectée à la broche D3 de l'Arduino Nano ;
- L'anode de la LED verte est connectée à la broche D4 de l'Arduino Nano ;
- L'anode de la LED jaune est connectée à la broche D5 de l'Arduino Nano ;
- J'ai soudé une résistance de 390 Ohm en série à la cathode de chaque LED et j'ai connecté l'autre broche de la résistance au GND de l'Arduino Nano.
Arduino nano - Modification matérielle
Pour lire la sortie série du SDS018, j'ai modifié Arduino Nano.
J'ai retiré la résistance SMD indiquée dans la figure suivante avec la flèche rouge.
J'ai soudé la résistance SMD verticalement, puis j'ai soudé deux fils à la résistance. J'ai soudé un en-tête de broche à l'extrémité des fils.
J'ai inséré le cavalier sur l'en-tête des broches uniquement lorsque j'ai programmé l'Arduino Nano. De cette façon, lorsque le cavalier est retiré, l'Arduino Nano peut lire les données du capteur SDS018 et simultanément envoyer les données au moniteur série Arduino IDE.
Ou plus simplement, après avoir programmé la carte Arduino Nano vous pouvez retirer définitivement la résistance, mais de cette façon il ne sera plus possible de reprogrammer la carte Arduino Nano.
Alimentation
L'Arduino Nano peut être alimenté de deux manières différentes :
- USB ;
- Broche Vin (et broche GND) :7-12 V.
J'ai alimenté la carte via USB via une banque d'alimentation.
Boîtier et assemblage
I have designed and printed in 3D an orange PLA case in order to fix the sensors, the display, LEDs and Arduino Nano. The case consists of two parts:the lower part, where are fixed the Arduino Nano and the SDS018; and the upper part where are fixed the DHT22, the display and the LEDs. In the lower part there is an opening for the Mini-B USB cable. On the upper part there are three holes from which the three LEDs come out. If you want, you can use the LED Mounting Hardware for fixing the LEDs (just enlarging the holes up to 5mm).
Here attached you will find the two files that you need to print in 3D the two parts of the case.
I have used hot glue to fix the Arduino Nano, the display, and the DHT22 in the case.
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. Thank you!
Code
- 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!")); retourner; } 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; } délai (500); // Delay of 500ms digitalWrite(LED_BUILTIN, LOW); // TEST:turn the LED_BUILTIN OFF delay(1500); // Delay of 1500ms}
Custom parts and enclosures
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
Schémas
Electrical schematic of COVID-19 and PM10 levels!Processus de fabrication
- Emballage alimentaire en plastique et durabilité pendant COVID-19
- Comment COVID-19 a (et n'a pas) changé l'automatisation dans les plastiques
- COVID-19 et la mort de l'économie d'après-guerre
- Impact du COVID-19 sur la blockchain et la crypto-monnaie
- COVID-19 et fin de l'appel d'offres annuel expéditeur
- Wayfair et COVID-19 :l'impact sur les vendeurs exonérés de taxes
- Recyclage et recyclage dans le sillage de COVID-19
- Informations et ressources sur le coronavirus (COVID-19)
- Nouvelle étude :impact de la COVID-19 sur l'avenir du travail et de l'automatisation