Neler Yeni

Arduino ile hava kirliliği ölçen uygulama nasıl yaparım?

muhendisforum

Administrator
Yönetici
Katılım
5 May 2024
Mesajlar
250
Tepki puanı
0
Puanları
16
Arduino ile hava kirliliği ölçen ve bu verileri internet üzerinden anlık olarak yayınlayan bir proje yapmak için aşağıdaki adımları takip edebilirsiniz. Bu makalede, gerekli bileşenler, yazılım ve donanım kurulumu, veri toplanması ve internette yayınlanması gibi konular detaylı bir şekilde ele alınacaktır.

Gerekli Bileşenler

1. Arduino Board: Arduino Uno veya Arduino Mega gibi bir mikrodenetleyici kartı.
2. Hava Kalitesi Sensörü: MQ135 gibi gaz sensörleri kullanılabilir.
3. Wi-Fi Modülü: ESP8266 veya ESP32 gibi bir modül, verileri internete göndermek için gereklidir.
4. Dirençler ve Bağlantı Kablosu: Sensörleri Arduino'ya bağlamak için.
5. Ekmek Tahtası (Breadboard): Geçici bağlantılar için.
6. Güç Kaynağı: Arduino ve sensörler için gerekli gücü sağlayacak adaptör veya batarya.

Donanım Kurulumu

1. Arduino ve MQ135 Bağlantısı:
- MQ135 sensörünün VCC pinini Arduino'nun 5V pinine bağlayın.
- GND pinini Arduino'nun GND pinine bağlayın.
- AOUT (analog çıkış) pinini Arduino'nun A0 analog giriş pinine bağlayın.

2. Wi-Fi Modülü Bağlantısı (ESP8266/ESP32):
- VCC pinini Arduino'nun 3.3V pinine bağlayın.
- GND pinini Arduino'nun GND pinine bağlayın.
- TX pinini Arduino'nun RX pinine bağlayın (veya yazılım seri kullanılıyorsa uygun pine).
- RX pinini Arduino'nun TX pinine bağlayın (veya yazılım seri kullanılıyorsa uygun pine).

Yazılım Kurulumu

Arduino IDE Ayarları

1. Arduino IDE'yi açın ve ESP8266/ESP32 kart desteğini ekleyin.
- Dosya > Tercihler bölümüne gidin ve ek kart yöneticisi URL'sine `http://arduino.esp8266.com/stable/package_esp8266com_index.json` veya `https://dl.espressif.com/dl/package_esp32_index.json` adresini ekleyin.
- Araçlar > Kart > Kart Yöneticisi bölümünden ESP8266 veya ESP32 kartlarını yükleyin.

2. Arduino IDE Kütüphaneleri:
- WiFi: ESP8266WiFi.h veya WiFi.h kütüphaneleri kullanılacak.
- MQ135: Sensör verilerini okumak için gerekli kütüphane.

Kodlama

Arduino Kodları

Kod:
```cpp
include <ESP8266WiFi.h>  // veya ESP32 için WiFi.h
include <MQ135.h>

const char ssid = "your_SSID";
const char password = "your_PASSWORD";

MQ135 mq135(A0);  // MQ135 sensörünün bağlı olduğu pin

WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
 
  Serial.println("Connected to WiFi");
  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if (client) {
    if (client.connected()) {
      int airQuality = mq135.getPPM();
      client.print("Air Quality: ");
      client.print(airQuality);
      client.println(" PPM");
    }
    client.stop();
  }
  delay(1000);  // Veri yayınlama sıklığı
}
```

Verilerin İnternette Yayınlanması

1. Veri Platformu Seçimi: ThingSpeak veya Blynk gibi platformlar kullanılabilir.
2. API Kullanımı: ThingSpeak kullanarak verileri göndermek için aşağıdaki gibi bir yapı kullanabilirsiniz.

ThingSpeak Kodları

Kod:
```cpp
include <ESP8266WiFi.h>
include <MQ135.h>
include <ThingSpeak.h>

const char ssid = "your_SSID";
const char password = "your_PASSWORD";
const char writeAPIKey = "your_THINGSPEAK_WRITE_API_KEY";

WiFiClient client;
MQ135 mq135(A0);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
 
  Serial.println("Connected to WiFi");
  ThingSpeak.begin(client);
}

void loop() {
  int airQuality = mq135.getPPM();
  ThingSpeak.setField(1, airQuality);
 
  int x = ThingSpeak.writeFields(myChannelNumber, writeAPIKey);
  if (x == 200) {
    Serial.println("Channel update successful.");
  } else {
    Serial.println("Problem updating channel. HTTP error code " + String(x));
  }
  delay(20000);  // 20 saniyede bir güncelleme
}
```




Bu projeyle, Arduino kullanarak hava kirliliğini ölçebilir ve anlık verileri internet üzerinden yayınlayabilirsiniz. Sensörlerin ve Wi-Fi modülünün doğru bir şekilde bağlanması, kodun doğru bir şekilde yazılması ve ThingSpeak gibi platformların kullanılmasıyla, gerçek zamanlı hava kalitesi verilerini toplayabilir ve paylaşabilirsiniz. Bu tür projeler, çevre bilincini artırmak ve hava kirliliği ile mücadelede önemli bir adım olabilir.

1716965715786.png
 
Geri
Üst