Home Home_head.Blog Blog Details

Wie verwenden Sie Luftqualitätssensoren mit Arduino oder Pi?

August 05 2025
Ampheo

Inquiry

blog_detail_desc

QUICK RFQ
ADD TO RFQ LIST
Mit Luftqualitätssensoren und Arduino oder Raspberry Pi (RPi) können Sie Schadstoffe wie CO₂, PM2.5, VOCs und mehr überwachen.

Mit Luftqualitätssensoren und Arduino oder Raspberry Pi (RPi) können Sie Schadstoffe wie CO₂, PM2.5, VOCs und mehr überwachen. Hier finden Sie eine Schritt-für-Schritt-Anleitung für Verkabelung, Programmierung und Dateninterpretation.

Wie verwenden Sie Luftqualitätssensoren mit Arduino oder Pi?


1. Wahl des richtigen Sensors

Gängige Sensoren für Arduino/RPi:

Sensor Misst Kommunikation Geeignet für
MQ-135 CO₂, NH₃, NO₃ Analog Grundlegende Luftqualität (günstig)
SDS011 PM2.5, PM10 UART Feinstaubmessung
BME680 (Bosch) VOCs, Temp, Luftfeuchte, Druck I²C/SPI Raumluftqualität
CCS811 CO₂, TVOCs I²C Smarthome-Projekte
SGP30 TVOCs, eCO₂ I²C Energieeffiziente Anwendungen
PMS5003 PM1.0, PM2.5, PM10 UART Hochpräzise Partikelmessung

2. Verkabelung des Sensors

Arduino (Uno/Nano) Setup

Beispiel: MQ-135 (Analoges Gassensor)

MQ-135 Pin Arduino Pin
VCC 5V
GND GND
DO (Digital) Optional (für Schwellenwerte)
AO (Analog) A0

Beispiel: BME680 (I²C)

BME680 Pin Arduino Pin
VCC 3.3V
GND GND
SDA A4
SCL A5

Raspberry Pi (I²C/UART Setup)

Beispiel: BME680 (I²C)

  1. I²C aktivieren:

    bash
     
    sudo raspi-config → Interface Options → I2C → Enable  
  2. smbus installieren:

    bash
     
    sudo apt install python3-smbus  
  3. Verkabelung:

    BME680 Pin Raspberry Pi Pin
    VCC 3.3V (Pin 1)
    GND GND (Pin 6)
    SDA GPIO2 (Pin 3)
    SCL GPIO3 (Pin 5)

Beispiel: SDS011 (UART für PM2.5)

  1. UART aktivieren:

    bash
     
    sudo raspi-config → Interface Options → Serial → Disable shell, Enable hardware  
  2. Verkabelung:

    SDS011 Pin Raspberry Pi Pin
    5V 5V (Pin 2)
    GND GND (Pin 6)
    TX (Sensor) RX (GPIO15, Pin 10)
    RX (Sensor) TX (GPIO14, Pin 8)

3. Code-Beispiele

Arduino (MQ-135 Beispiel)

cpp
 
int sensorPin = A0;  
int sensorValue = 0;  

void setup() {  
  Serial.begin(9600);  
}  

void loop() {  
  sensorValue = analogRead(sensorPin);  
  Serial.print("Luftqualität: ");  
  Serial.println(sensorValue);  
  delay(1000);  
}  

Raspberry Pi (BME680 Python Beispiel)

  1. bme680-Bibliothek installieren:

    bash
     
    pip3 install bme680  
  2. Python-Skript:

    python
     
    import bme680  
    import time  
    
    sensor = bme680.BME680()  
    sensor.set_humidity_oversample(bme680.OS_2X)  
    sensor.set_temp_oversample(bme680.OS_2X)  
    sensor.set_pressure_oversample(bme680.OS_4X)  
    sensor.set_gas_status(bme680.ENABLE_GAS_MEAS)  
    
    while True:  
        if sensor.get_sensor_data():  
            print(f"Temperatur: {sensor.data.temperature} °C")  
            print(f"Luftfeuchtigkeit: {sensor.data.humidity} %")  
            print(f"Druck: {sensor.data.pressure} hPa")  
            if sensor.data.heat_stable:  
                print(f"Gas-Widerstand: {sensor.data.gas_resistance} Ohm")  
        time.sleep(1)  

RPi SDS011 (PM2.5 UART Beispiel)

  1. pyserial installieren:

    bash
     
    pip3 install pyserial  
  2. Python-Skript:

    python
     
    import serial  
    
    ser = serial.Serial('/dev/ttyS0', 9600)  # Ältere Pi-Modelle: '/dev/ttyAMA0'  
    while True:  
        data = ser.read(10)  
        if data[0] == 0xAA and data[1] == 0xC0:  
            pm25 = (data[3] << 8) | data[2]  
            pm10 = (data[5] << 8) | data[4]  
            print(f"PM2.5: {pm25} μg/m³, PM10: {pm10} μg/m³")  

4. Kalibrierung & Dateninterpretation

  • MQ-135: Muss in sauberer Luft kalibriert werden (~200-300 in frischer Luft, >500 = Belastung).

  • BME680/CCS811: Benötigt eine Einbrennphase (~48h) für genaue VOC-Messungen.

  • SDS011/PMS5003: Selbstkalibrierend, aber regelmäßige Reinigung empfohlen.


5. Erweiterte Anwendungen

  • Daten protokollieren (CSV, Cloud wie ThingSpeak, Blynk, MQTT).

  • Warnungen auslösen (z. B. Piezo/LED bei PM2.5 > 50 μg/m³).

  • Kombination mit OLED/LCD für Echtzeit-Anzeige.


Empfehlungen

  • Schnelles PrototypingMQ-135 (Arduino) oder BME680 (RPi).

  • Präzise PM2.5-MessungSDS011/PMS5003.

  • Energiesparende IoT-ProjekteSGP30 (I²C).

Ampheo