Hava Kalitesi Ölçüm Sistemi Tasarlamak 3 - MQ-135 ve DHT-11 ile Ölçme yapmak
Daha önceki iki makalede temel tanımlara yer vermiştik.MQ-135 Gaz sensörünü tanıtmıştık. Hava kalitesi ile ilgili temel tanımları incelemiştik.
Bu makalede ise, bir mikrodenetleyiciye bağlı MQ-135 gaz sensörü ve Sıcaklık-nem sensörü DHT-11 ile bir ortamdan değerler okuyacağız. Bu değerleri belli zaman aralıklarında HC-05 Bluetooth modülüne göndereceğiz.
Bağlantılar:
DHT-11 modülü "S" pini Arduino'nun dijital pin 2 ucuna,
MQ-135 modülü A0 pini Arduino'nun A0 Analog girişine,
HC-05 Bluetooth modülü TX- Arduino'nun 11 nolu dijital pinine, RX ise 10 nolu dijital pine bağlancak.
Arduino kodları aşağıda. DHT-11 ve MQ-135 sensörlerinden okunan değerler JSON formatından HC-05 modülüne gönderilir. Daha sonra tasarlanacak Andoid uygulamada, Bluetooth modülünden okunan JSON formatındaki veriler grafik olarak görselleştirilebilir.
#include <dht.h> // DHT-11 sensörü için kütüphane
#include <SoftwareSerial.h> // HC-05 Bluetooth modülü için kütüphane
#include <ArduinoJson.h> // JSON işleme için kütüphane
dht DHT;
#define DHT11_PIN 2 // DHT-11 sensörünün veri pini
#define CO2_PIN A0 // MQ-135 sensörünün veri pini
SoftwareSerial BTSerial(10, 11); // Bluetooth modülünün RX ve TX pinleri
void setup() {
BTSerial.begin(9600); // Bluetooth modülünü başlat
}
void loop() {
delay(5000); // 5 saniyelik bekleme süresi
// Sıcaklık ve nem verilerini oku
int16_t humidity = 0;
int16_t temperature = 0;
DHT.read11(DHT11_PIN, &temperature, &humidity);
// CO2 yoğunluğunu oku
int CO2Value = analogRead(CO2_PIN);
// JSON nesnesi oluştur
StaticJsonDocument<128> jsonDoc;
jsonDoc["Sicaklik"] = temperature;
jsonDoc["Nem"] = humidity;
jsonDoc["CO2_Yogunlugu"] = CO2Value;
// JSON verisini Bluetooth üzerinden gönder
serializeJson(jsonDoc, BTSerial);
BTSerial.println(); // Veri sonunu belirtmek için yeni satır ekleyin
}
Bu kod, DHT-11 sıcaklık ve nem sensörü verilerini, MQ-135 CO2 sensörü verilerini bir JSON nesnesine ekler ve sonra bu JSON verisini Bluetooth üzerinden gönderir. JSON verisi, "Sicaklik", "Nem" ve "CO2_Yogunlugu" anahtarları altında saklanır ve bu anahtarlarla birlikte verilerin değerleri yer alır.
Hava Kalitesi Ölçüm Sistemi Tasarlamak 4 – Hava Kalitesi İzleme Mobil Uygulaması