Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Уровни COVID-19 и PM10!

Компоненты и расходные материалы

Arduino Nano R3
× 1
SDS018
http://inovafitness.com/en/a/chanpinzhongxin/97.html
× 1
Датчик температуры-влажности Adafruit DHT22 + дополнительные функции
Примечание. Подтягивающий резистор и конденсатор находятся на модуле.
× 1
OLED-дисплей - I2C - SSD1306
× 1
Зеленый светодиод Broadcom
× 1
Желтый светодиод Broadcom
× 1
Красный светодиод Broadcom
× 1
Конденсатор 100 нФ
Необязательно:конденсатор для DHT22.
× 1
Резистор в сквозное отверстие, 4,7 кОм
Необязательно:резистор для DHT22.
× 1
Power Bank
См. описание.
× 1
Резистор в сквозное отверстие, 390 Ом
Резисторы для светодиодов.
× 3
Крепежный винт, M3x16
Винты корпуса.
× 4
Крепежный винт, M3x6
винт SDS018.
× 1
ГНЕЗДО ДЛЯ ЛАМПЫ, светодиоды LUMEX 3 мм
Дополнительно:оборудование для монтажа светодиодов.
× 3
Гнездовая перемычка для провода
× 3
Термоусадочные трубки
× 1
Заголовок булавки (2 контакта)
× 1
Стандартный джемпер (0,1 ")
× 1

Необходимые инструменты и машины

Паяльник (общий)
Проволока для припоя, без свинца
3D-принтер (общий)
Пистолет для горячего клея (общий)
дрель / шуруповерт, беспроводной

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Аннотация

Экспериментальные исследования подтвердят возможность того, что твердые частицы могут выступать в качестве «носителя» для распространения вирусной инфекции COVID-19.

Это означает, что вирус может переноситься на большие расстояния с помощью мелких частиц, взвешенных в воздухе, и может оставаться жизнеспособным в течение нескольких часов, дней или даже недель в крошечных частицах. Таким образом, частицы загрязнения воздуха могут способствовать дальнейшему распространению коронавируса по воздуху, увеличивая число инфицированных.

В В Северной Италии изоляция не привела к значительному сокращению выбросов твердых частиц, поскольку твердые частицы в больших количествах получают также животноводческие фермы с интенсивным производством, помимо фабрик и автомобилей. Таким образом, даже если во время блокировки фабрики были закрыты, а автомобили не ходили, уровни концентрации твердых частиц в Ломбардии (Италия) в любом случае оставались высокими из-за интенсивных животноводческих ферм, расположенных на ее территории, которые продолжали производить навоз и, следовательно, загрязняющие вещества в воздух и, в частности, твердые частицы.

Ученые и исследователи предполагают, что более высокие уровни загрязнения твердыми частицами могут объяснить более высокий уровень заражения в некоторых частях Северной Италии.

Введение

Несколько недель назад я смотрел итальянскую телепрограмму «Репортаж». Это программа-расследование, транслируемая итальянским телевидением на третьем канале (RAI 3).

Мое внимание привлек интересный сюжет ... Он был о загрязнении и, в частности, о типе загрязнения, вызванном интенсивным животноводством. (Щелкните здесь, чтобы увидеть соответствующую часть:с минуты 27:25 до минуты 56:00).

Интенсивное животноводство относится к системе земледелия, в которой большое количество животных (таких как коровы, свиньи, индейки или куры) содержатся вместе на относительно небольших площадях. Наша цель - производить большое количество мяса, яиц или молока с минимально возможными затратами. Их также называют «промышленные фермы».

Животные, выращенные на переполненных фермах и фермах фабричного типа, производят большое количество отходов животного происхождения, таких как моча и навоз. Навоз обычно хранится в огромных открытых прудах, часто размером с несколько футбольных полей, которые подвержены утечкам и разливам, загрязняя почву и источники воды. Отходы животноводства также выбрасывают в атмосферу вредные газы (такие как аммиак, эндотоксины, сероводород и метан) и выделяют большое количество твердых частиц (PM10 и PM2,5; PM10 является аббревиатурой от «твердых частиц диаметром ≤ 10 мкм», PM2,5 - это сокращение от «твердые частицы диаметром ≤ 2,5 мкм»), создающие экологические проблемы. Твердые частицы содержат микроскопические твердые частицы или капли жидкости, которые настолько малы, что их можно вдохнуть и вызвать серьезные проблемы со здоровьем.

Когда выгребные ямы достигают своей вместимости, фермеры распыляют необработанный навоз на окружающие поля в качестве удобрения, что приводит к попаданию в воздух еще большего количества этих вредных веществ.

Необработанные отходы загрязняют воздух запахами (зловоние может быть невыносимым) и создают проблемы со здоровьем, заметно снижая качество жизни рабочих, людей, проживающих поблизости, и в соседних общинах, а также стоимость имущества. Исследования показали, что люди, живущие рядом с фермами с интенсивным животноводством, имеют гораздо больший риск развития респираторных заболеваний, таких как астма и хронический бронхит.

В Италии наиболее интенсивные животноводческие фермы расположены на севере страны. Ломбардия - один из регионов с самой высокой концентрацией животноводческих ферм; следовательно, количество экскрементов и отходов животноводства, производимых в животноводческих помещениях, очень велико, что приводит к образованию большого количества газов и твердых частиц.

Следует отметить, что в Ломбардии 85% аммиака, рассеиваемого в атмосфере, производится навозом:кажется, что фермы загрязняют окружающую среду так же, как автомобили.

Исследование, проведенное учеными из нескольких итальянских университетов и опубликованное в марте прошлого года под заголовком « Оценка потенциальной связи между загрязнением твердыми частицами (ТЧ) и распространением инфекции COVID-19 в Италии ”(По следующей ссылке можно загрузить документ с изложением позиции:https://www.simaonlus.it/?page_id=694, прямая ссылка на английский pdf http://www.simaonlus.it/wpsima/wp- content / uploads / 2020/03 / COVID_19_position-paper_ENG.pdf - рекомендую прочитать!) говорит о возможной корреляции между уровнями концентрации твердых частиц и количеством людей, инфицированных COVID-19 (как вы можете видеть на следующей диаграмме) .

Исследователи собрали и проанализировали следующие данные:

  • Суточные уровни концентрации PM10 (данные предоставлены Региональным агентством по охране окружающей среды - ARPA - и собраны по всей Италии);
  • превышение суточного предельного значения PM10;
  • Число инфицированных COVID-19 в каждой выбранной провинции, сообщается Службой гражданской защиты и обновляется с ежедневной периодичностью.

и заметили значительную взаимосвязь между ежедневным превышением ТЧ10 и распространением инфекции COVID-19 в течение периода исследования (10-29 февраля 2020 г.) с высокой концентрацией случаев коронавируса в северном Италия, в частности в долине реки По и особенно в Ломбардии, а в южной части Италии распространение и летальность вируса были значительно ниже по сравнению с тем, что наблюдалось в северных регионах.

В этом позиционном документе можно прочитать «Гипотеза о прямой связи между случаями COVID-19 и уровнями PM10 подкрепляется доказательствами того, что концентрация вспышек COVID-19, зарегистрированных в долине реки По Северном Италия] выше, чем в других частях Италии ”(Как вы можете видеть на следующем рисунке, на котором показаны превышения лимитов загрязнения PM10, зарегистрированные в Италии в период с 10 по 29 февраля, и где можно отметить, что долина реки По является наиболее загрязненной зоной в Италии).

Примечательно, что большинство случаев заражения коронавирусом в Италии происходит в Ломбардии, где концентрация животноводческих ферм очень высока и, следовательно, образование твердых частиц огромно.

Следует отметить, что это явление продолжалось даже во время блокировки, когда фабрики были полностью закрыты и машины не ходили.

Согласно этому исследованию, в южных регионах Италии (менее загрязненных) преобладающая модель передачи вируса будет происходить при контакте между людьми (в соответствии с моделями эпидемии, основанными на типичном способе передачи «контакт от человека к человеку»), тогда как в регионах Северной Италии (более загрязненных) инфекция будет распространяться другим путем, то есть с помощью агента-носителя (представленного твердыми частицами, взвешенными в атмосфере).

Следующие ниже кривые распространения инфекции подчеркивают аномалию распространения инфекции COVID-19 в Северной Италии по сравнению с Центральной и Южной Италией.

На основе собранных данных и наблюдаемых взаимосвязей исследователи пришли к выводу, что разумно предположить, что в период с 10 по 29 февраля 2020 года высокие уровни концентрации PM10, зарегистрированные в определенных регионах Северной Италии, оказали воздействие на вирулентное распространение эпидемии COVID-19, способствующее распространению COVID-19 среди облученного населения, явления, не наблюдавшегося в других регионах Италии, пострадавших от заражения в тот же период.

Другие исследования показали, что PM может действовать как переносчик вирусов. На самом деле вирусы могут прикрепляться к твердым частицам, мелкие частицы которых могут перемещаться на большие расстояния с воздушными потоками и оставаться в атмосфере в течение часов, дней или даже недель.

Твердые частицы также могут представлять собой субстрат, позволяющий вирусам оставаться активными в атмосфере в течение некоторого времени (часов или дней). Факторы окружающей среды играют важную роль в активации и сохранении вирусов в атмосфере:

  • Высокая температура и солнечная радиация ускоряют бездействие;
  • Высокая относительная влажность может способствовать увеличению скорости диффузии.

Исследования показали, что выживаемость вирусов на поверхностях снижается, когда относительная влажность поддерживается на уровне около 50%, а вирусы остаются активными, когда значения относительной влажности ниже 40% и выше 60%.

Другое исследование Йельского университета показало, как низкая влажность позволяет инфицированным частицам лучше распространяться и дольше сохраняться (щелкните здесь, чтобы просмотреть статью).

Мое решение

Исходя из этих соображений, я подумал о создании воспроизводимого, недорогого и простого в использовании устройства, способного измерять уровни концентрации PM10, температуру и относительную влажность (факторы окружающей среды, участвующие в распространении вирусной инфекции), чтобы предупреждать людей, когда они ценности слишком высоки и потенциально опасны для их здоровья, поэтому они могут решить остаться дома и не выходить на улицу или, если они на улице, пойти домой или носить маску, даже если расстояние между людьми намного больше одного метр.

Устройство состоит из датчика PM10, датчика температуры и относительной влажности, дисплея и трех светодиодов, все они контролируются Arduino Nano. Данные датчиков отображаются на дисплее, а светодиоды указывают на состояние воздуха.

Я выделил четыре разные ситуации:

1. Нормальный – Particulate matter concentrations from 0 to 25 µg/m3 and humidity between 40% and 60%;

2. Low - Particulate matter concentrations from 0 to 25 µg/m3 and humidity <40% or> 60%;

3. Low - Particulate matter concentrations from 26 to 50 µg/m3 and humidity between 40% and 60%;

4. Warning - Particulate matter concentrations from 26 to 50 µg/m3 and humidity <40% or> 60%;

5. Warning - Particulate matter concentrations> 51 µg/m3 and humidity between 40% and 60%;

6. Alarm - Particulate matter concentrations> 51 µg/m3 and humidity <40% or> 60%.

Associated LEDs:

  • Normal:LEDs OFF;
  • Low:Green LED ON;
  • Warning:Green and Yellow LEDs ON;
  • Alarm:Green, Yellow and Red LEDs ON.

SDS018 - PM10 Sensor

The SDS018 can get the particle concentration between 0.3 to 10μm in the air, by using principle of laser scattering. It is stable and reliable with its digital output and built-in fan.

  • Accurate and Reliable:laser detection, stable, good consistency;
  • Quick response:response time is less than 10 seconds when the scene changes;
  • Easy integration:UART output (or IO output can be customized), fan built-in;
  • High resolution:resolution of 0.3μg/m3;
  • Certification:products have passed CE/FCC/RoHS certification.

SDS018 sensor pinout:

  • 1 - NC:Not Connect;
  • 2 - 1um:PWM output;
  • 3 - 5V:Power supply;
  • 4 - 2.5um:PWM output;
  • 5 - GND:Ground, connect to negative pole;
  • 6 - R:RX of UART (TTL);
  • 7 - T:TX of UART (TTL).

Connection of SDS018 sensor to Arduino Nano

  • The 5V (3) pin of SDS018 sensor is connected to the 5V pin of Arduino Nano;
  • The GND (5) pin of SDS018 sensor is connected to the GND pin of Arduino Nano;
  • The T (7) pin of SDS018 sensor is connected to the RX pin of Arduino Nano;

DHT22 Sensor

DHT22 is a digital temperature and relative humidity sensor. The main features are:

  • 3 to 5V power and I/O;
  • 2.5mA max current use during conversion (while requesting data);
  • 0-100% humidity readings with 2-5% accuracy;
  • -40 to 80°C temperature readings ±0.5°C accuracy;
  • 0.5 Hz sampling rate (once every 2 seconds).

DHT22 sensor pinout:

  • VDD:Power supply;
  • DATA:Signal data output;
  • NC:Not connected;
  • GND:Ground, connect to negative pole.

Connection of DHT22 sensor to Arduino Nano

  • The VDD pin of DHT22 sensor is connected to the 5V pin of Arduino Nano;
  • The GND pin of DHT22 sensor is connected to the GND pin of Arduino Nano;
  • Between the VDD and GND pins of DHT22 sensor I have inserted a 100nF capacitor;
  • Between the DATA and VCC pins of DHT22 sensor I have inserted a 4.7k pull-up resistor;
  • The DATA pin of DHT22 sensor is connected to the D2 pin of Arduino Nano.

Arduino IDE

I have installed the DHT sensor library by Adafruit - Version 1.3.10

Dot Matrix OLED Display

  • VCC:3.3-5V;
  • Resolution:128x32 pixels;
  • Black background with white characters;
  • Driver:SSD1306;
  • Interface:I2C.

OLED I2C Display pinout:

  • SDA:I2C serial data;
  • SCL:I2C serial clock;
  • VCC:Power supply;
  • GND:Ground, connected to negative pole.

Connection of OLED I2C Display to Arduino Nano

  • The VCC pin of display is connected to the 5V pin of Arduino Nano;
  • The GND pin of display is connected to the GND pin of Arduino Nano;
  • The SCL pin of display is connected to the A5 pin of Arduino Nano;
  • The SDA pin of display is connected to the A4 pin of Arduino Nano.

Arduino IDE

I have installed Adafruit SSD1306 library by Adafruit - Version 2.2.1

LEDs Connections

I have used three 3mm LEDs:red, green and yellow.

  • The anode of red LED is connected to the D3 pin of Arduino Nano;
  • The anode of green LED is connected to the D4 pin of Arduino Nano;
  • The anode of yellow LED is connected to the D5 pin of Arduino Nano;
  • I have soldered a 390 Ohm resistor in series to cathode of each LED and I have connected the other pin of the resistor to GND of Arduino Nano.

Arduino nano - Hardware modification

To read the serial output of the SDS018 I have modified Arduino Nano.

I have removed the SMD resistor indicated in the following figure with the red arrow.

I have soldered the SMD resistor vertically and then I have soldered two wires to the resistor. I have soldered a pin header to the end of the wires.

I have inserted the jumper on the pin header only when I have programmed the Arduino Nano. In this way, when the jumper is removed the Arduino Nano can read the data from the SDS018 sensor and simultaneously it can send the data to the Arduino IDE serial monitor.

Or more simply, after programming the Arduino Nano board you can remove the resistor permanently, but in this way it will no longer be possible to reprogram Arduino Nano board.

Power Supply

The Arduino Nano can be powered in two different ways:

  • USB;
  • Vin pin (and GND pin):7-12V.

I have powered the board via USB through a power bank.

Case and Assembling

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!")); 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}; // 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; } delay(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 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

Schematics

Electrical schematic of COVID-19 and PM10 levels!

Производственный процесс

  1. Пластиковая упаковка для пищевых продуктов и устойчивость во время COVID-19
  2. Как COVID-19 изменил (и не изменил) автоматизацию производства пластмасс
  3. COVID-19 и смерть экономики после Второй мировой войны
  4. Как COVID-19 влияет на блокчейн и криптовалюту
  5. COVID-19 и конец годового запроса предложений грузоотправителя
  6. Wayfair и COVID-19:влияние на продавцов, освобожденных от налогов
  7. Переподготовка и переподготовка после COVID-19
  8. Информация и ресурсы по коронавирусу (COVID-19)
  9. Новое исследование:влияние COVID-19 на будущее работы и автоматизации
  10. Материал быстро и точно обнаруживает COVID-19