Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY Arduino PM10, Temperatur & Feuchtigkeitssensor-Set

Komponenten und Zubehör

Arduino Nano R3 ×1
SDS018 PM-Sensor (Laser, UART) ×1
DHT22 Temperatur/Feuchtigkeitssensor (Modul mit Pull-Up & Kondensator) ×1
OLED Display I2C SSD1306 128×32 Pixel ×1
LED Grün, Gelb, Rot (3mm) je ×1
Widerstände 390 Ω (LED-Vorwiderstände) ×3
Kondensator 100 nF (optional für DHT22) ×1
Widerstand 4,7 kΩ (optional Pull-Up DHT22) ×1
Powerbank (USB-Stromversorgung) ×1
Schrauben M3×16, M3×6 (Gehäuse, SDS018) 4 / 1
LED-Fassungen 3mm (optional) ×3
Female Jumper, Schrumpfschlauch, Pinheader 2-polig je nach Bedarf

Benötigte Werkzeuge

Apps und Online-Dienste

Projekthintergrund

Zusammenhang Feinstaub & COVID-19

Studien (u. a. SIMA, italienische Unis, März 2020) deuten darauf hin, dass PM10-Partikel als Träger für Viren fungieren können. Feinstaub ermöglicht längere Verweildauer und weitere Ausbreitung von Viren in der Luft. In Norditalien (Lombardei) blieben PM10-Werte trotz Lockdown hoch – intensive Tierhaltung als Hauptquelle. Höhere PM10-Konzentrationen korrelierten mit höheren Infektionsraten.

Umweltfaktoren:

Lösung: Tragbares Warnsystem

Ein kostengünstiges, nachbaubares Gerät misst PM10, Temperatur, relative Feuchte und warnt visuell (3 LEDs + OLED) bei kritischen Werten. So können Menschen entscheiden, drinnen zu bleiben, Maske zu tragen oder zu lüften.

Alarm-Logik (6 Stufen)

StufePM10 (µg/m³)Feuchte (%)LEDs
Normal0–2540–60Alle AUS
Niedrig0–25<40 oder >60Grün AN
Niedrig26–5040–60Grün AN
Warnung26–50<40 oder >60Grün + Gelb AN
Warnung>5140–60Grün + Gelb AN
Alarm>51<40 oder >60Grün + Gelb + Rot AN

Sensoren & Anschlüsse

SDS018 (PM10/PM2.5)

DHT22 (Temp/Feuchte)

OLED SSD1306 I2C

LEDs

Arduino Nano Hardware-Modifikation

Um SDS018-UART (Pin 0) und USB-Serial gleichzeitig nutzen zu können: SMD-Widerstand an RX-Leitung (roter Pfeil) entfernen, senkrecht verlöten, zwei Drähte + Pinheader anlöten. Jumper stecken nur beim Programmieren; im Betrieb entfernt → SDS018-Daten lesbar + Serial Monitor aktiv. Alternativ Widerstand permanent entfernen (dann kein Reprogrammieren mehr).

DIY Arduino PM10, Temperatur & Feuchtigkeitssensor-Set

Stromversorgung

Via USB durch Powerbank (5V). Alternativ Vin 7–12V.

Gehäuse & Montage (3D-Druck, orange PLA)

3D-Modelle: Oberteil, Unterteil

Firmware (Arduino Sketch)

Ablauf: Peripherie-Init → LED-Test → Loop (alle 2 s):

  1. DHT22 lesen (Temp, Feuchte) → Serial Monitor
  2. SDS018 lesen (PM2.5, PM10) → Serial Monitor (Protokoll: 0xAA 0xC0 ... 0xAB, Checksumme)
  3. Alarmstufe bestimmen → LEDs schalten
  4. Display alternierend: PM10 + Feuchte (bei Alarm „Alarm!!!“) ↔ PM2.5 + Temperatur
#include 
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

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

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

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

void loop() {
  if(!startDHT) { delay(2000); startDHT=1; }
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if(isnan(h)||isnan(t)) { Serial.println("DHT Fehler"); return; }
  Serial.print("Humidity: "); Serial.print(h); Serial.print("% Temp: "); Serial.print(t); Serial.println("°C");

  // SDS018 lesen
  uint8_t buf[10]={0}; float pm25=0, pm10=0;
  while(Serial.available()>0) {
    for(int i=0;i<10;i++) buf[i]=Serial.read();
    if(buf[0]==0xAA && buf[1]==0xC0 && buf[9]==0xAB) {
      uint8_t cs=0; for(int i=2;i<=7;i++) cs+=buf[i];
      if(cs==buf[8]) {
        digitalWrite(LED_BUILTIN, HIGH);
        pm25 = ((buf[3]*256.0)+buf[2])/10.0;
        pm10 = ((buf[5]*256.0)+buf[4])/10.0;
        Serial.print("PM2.5: "); Serial.print(pm25); Serial.println(" ug/m3");
        Serial.print("PM10: "); Serial.print(pm10); Serial.println(" ug/m3");
      }
      Serial.println("-----------------");
    }
    Serial.flush();
  }

  // LED-Logik
  if(pm10<=25 && h>=40 && h<=60) { setLEDs(0,0,0); } // Normal
  else if(pm10<=25 && (h<40 || h>60)) { setLEDs(1,0,0); } // Low
  else if(pm10>25 && pm10<=50 && h>=40 && h<=60) { setLEDs(1,0,0); } // Low
  else if(pm10>25 && pm10<=50 && (h<40 || h>60)) { setLEDs(1,1,0); } // Warnung
  else if(pm10>50 && h>=40 && h<=60) { setLEDs(1,1,0); } // Warnung
  else { setLEDs(1,1,1); } // Alarm

  // Display
  display.clearDisplay(); display.setTextColor(SSD1306_WHITE); display.setCursor(0,0);
  if(!switchDisplay) {
    if(pm10>50) display.print("Alarm!!!");
    else { display.print("PM10:"); display.println(pm10); }
    display.print(" HR%:"); display.println(h);
    switchDisplay=1;
  } else {
    display.setTextColor(SSD1306_BLACK, SSD1306_WHITE); // invers
    display.print("PM25:"); display.println(pm25);
    display.print("T[C]:"); display.println(t);
    switchDisplay=0;
  }
  display.display();
  delay(500); digitalWrite(LED_BUILTIN, LOW); delay(1500);
}

void setLEDs(bool g, bool y, bool r) {
  digitalWrite(ledGreen, g); digitalWrite(ledYellow, y); digitalWrite(ledRed, r);
}

3D-Druck Dateien

Schaltplan

DIY Arduino PM10, Temperatur & Feuchtigkeitssensor-Set

Herstellungsprozess

  1. SABICs zirkulärer Ansatz: Kunststoffverpackungen, Sicherheit und Nachhaltigkeit im Zeichen von COVID‑19
  2. Wie COVID-19 die Automatisierung in der Kunststoffindustrie beschleunigte
  3. COVID-19 und das Ende des post-WWII-Wirtschaftsparadigmas
  4. Der Pandemie-Effekt: COVID-19 beschleunigt Blockchain- und Kryptowährungs-Innovation
  5. COVID-19 beschleunigt das Ende jährlicher Shipper-RFPs
  6. Wayfair & COVID-19: Steuerbefreite Verkäufer in der Post-Pandemie-Wirtschaft
  7. Skills Gap überbrücken: Reskilling- und Retraining-Strategien Post-COVID für Hersteller
  8. COVID-19 Leitfaden & Ressourcen für Fertigungsführungskräfte
  9. Wie COVID-19 die Zukunft von Arbeit und Automatisierung neu formt – Erkenntnisse aus einer neuen Studie
  10. Schnelle, präzise COVID-19-Detektion mit Graphentechnologie