Arduino ile ENS160 Hava Kalitesi Sensörü ve AHT21 Sıcaklık ve Nem Sensörü Nasıl Kullanılır

How to Use the ENS160 Air Quality Sensor and AHT21 Temperature & Humidity Sensor with Arduino

ENS160 ve AHT21, çevresel izleme projeleri için sıklıkla eşleştirilmiş güçlü sensörlerdir. ENS160 dijital hava kalitesi sensörü, AHT21 ise sıcaklık ve nemi ölçer. Birlikte iç mekan hava kalitesi ve iklim koşullarını izleyebilirler. Bu öğreticide, ANS160 ve AHT21'i Arduino ile nasıl kullanacağınızı göstereceğiz.

Ne İhtiyacınız Olacak

  1. ENS160 Hava Kalitesi Sensörü
  2. AHT21 Sıcaklık ve Nem Sensörü
  3. Arduino Kurulu (örn. UNO, Mega, Nano)
  4. Breadboard
  5. Jumper telleri
  6. Arduino IDE kurulu bir bilgisayar

Adım 1: ENS160 ve AHT21 sensörlerini anlayın

ENS160 Pinout

Pin İşlev
VCC Güç kaynağı (3.3V/5V)
Gnd Zemin
SDA I2C veri hattı
Scl I2C saat çizgisi

AHT21 Pinout

Pin İşlev
VCC Güç kaynağı (3.3V/5V)
Gnd Zemin
SDA I2C veri hattı
Scl I2C saat çizgisi

Her iki sensör de I2C arayüzü aracılığıyla iletişim kurar ve aynı I2C veri yolu paylaşabilir.

Adım 2: Sensörlerin Arduino'ya bağlanması

Her iki sensörü bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:

ENS160 PIN AHT21 PIN Arduino pimi
VCC VCC 5V
Gnd Gnd Gnd
SDA SDA A4
Scl Scl A5

Adım 3: Gerekli kütüphaneleri yükleyin

Bu sensörlerle etkileşimi basitleştirmek için aşağıdaki kütüphanelere ihtiyacınız olacaktır:

  1. Adafruit ENS160 Kütüphanesi
  2. Adafruit AHTX0 Kütüphanesi

Yüklenecek adımlar:

  1. Arduino IDE'yi açın.
  2. Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
  3. "Adafruit ens160" i arayın ve tıklayın Düzenlemek.
  4. "Adafruit AHTX0" arayın ve tıklayın Düzenlemek.

4. Adım: Kodu yükleyin

İşte her iki sensörden verileri okumak için örnek bir taslak:

#include <Wire.h>
#include <Adafruit_ENS160.h>
#include <Adafruit_AHTX0.h>

Adafruit_ENS160 ens160;
Adafruit_AHTX0 aht;

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

  // Initialize ENS160
  if (!ens160.begin()) {
    Serial.println("ENS160 not found. Check connections.");
    while (1);
  }
  Serial.println("ENS160 initialized.");

  // Initialize AHT21
  if (!aht.begin()) {
    Serial.println("AHT21 not found. Check connections.");
    while (1);
  }
  Serial.println("AHT21 initialized.");
}

void loop() {
  // Read temperature and humidity from AHT21
  sensors_event_t humidity, temp;
  aht.getEvent(&humidity, &temp);

  Serial.print("Temperature: ");
  Serial.print(temp.temperature);
  Serial.println(" °C");

  Serial.print("Humidity: ");
  Serial.print(humidity.relative_humidity);
  Serial.println(" %");

  // Read air quality data from ENS160
  ens160.setTempAndHumidity(temp.temperature, humidity.relative_humidity); // Provide environmental data

  Serial.print("AQI (Air Quality Index): ");
  Serial.println(ens160.getAQI());

  delay(2000); // Wait 2 seconds before next reading
}

Adım 5: Kurulumu test edin

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. Her 2 saniyede bir sergilenen sıcaklık, nem ve hava kalitesi okumalarını görmelisiniz.

Sorun giderme

  • Tespit edilmeyen sensörler: Kabloları iki kez kontrol edin ve SDA/SCL hatlarının doğru şekilde bağlandığından emin olun.
  • Okuma yok: Her iki sensörün I2C adreslerinin çatışmadığından emin olun. Gerekirse bir I2C tarayıcı kullanın.
  • Düzensiz değerler: Başlatma sırasında sensörleri aşırı koşullardan veya ani çevresel değişikliklerden uzak tutun.

ENS160 + AHT21 uygulamaları

  1. İç Mekan Hava Kalitesi İzleme Sistemleri
  2. Akıllı termostatlar
  3. IoT projeleri için çevresel veri kaydı
  4. Hava saflaştırma sistemleri

Çözüm

Ens160 hava kalitesi sensörünü ve AHT21 sıcaklık ve nem sensörünü Arduino ile başarıyla arayüz ettiniz. Bu sensörler, kapsamlı çevresel izleme sağlamak için birlikte çalışır ve onları akıllı ev veya IoT uygulamaları için mükemmel hale getirir. Kendi çevre projelerinizi oluşturmak için verileri deneyin!

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.