วิธีใช้เซ็นเซอร์คุณภาพอากาศ ENS160 และเซ็นเซอร์อุณหภูมิและความชื้น AHT21 กับ Arduino

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

ENS160 และ AHT21 เป็นเซ็นเซอร์ที่ทรงพลังซึ่งมักจะจับคู่กันสำหรับโครงการตรวจสอบด้านสิ่งแวดล้อม ENS160 เป็นเซ็นเซอร์คุณภาพอากาศดิจิตอลในขณะที่ AHT21 วัดอุณหภูมิและความชื้น พวกเขาสามารถตรวจสอบคุณภาพอากาศในร่มและสภาพภูมิอากาศ ในบทช่วยสอนนี้เราจะแสดงวิธีการใช้ ENS160 และ AHT21 กับ Arduino

สิ่งที่คุณต้องการ

  1. เซ็นเซอร์คุณภาพอากาศ ENS160
  2. เซ็นเซอร์อุณหภูมิและความชื้น AHT21
  3. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  4. กระดาน
  5. สายจัมเปอร์
  6. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: เข้าใจเซ็นเซอร์ ENS160 และ AHT21

ens160 pinout

เข็มหมุด การทำงาน
VCC แหล่งจ่ายไฟ (3.3V/5V)
gnd พื้น
SDA สายข้อมูล i2c
SCL สายนาฬิกา i2c

Aht21 pinout

เข็มหมุด การทำงาน
VCC แหล่งจ่ายไฟ (3.3V/5V)
gnd พื้น
SDA สายข้อมูล i2c
SCL สายนาฬิกา i2c

เซ็นเซอร์ทั้งสองสื่อสารผ่านอินเทอร์เฟซ I2C และสามารถแชร์บัส I2C เดียวกันได้

ขั้นตอนที่ 2: เดินสายเซ็นเซอร์ไปยัง Arduino

นี่คือวิธีการเชื่อมต่อทั้งสองเซ็นเซอร์ไปยัง Arduino Uno:

ens160 พิน AHT21 PIN พิน Arduino
VCC VCC 5V
gnd gnd gnd
SDA SDA A4
SCL SCL A5

ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ

เพื่อลดความซับซ้อนของการโต้ตอบกับเซ็นเซอร์เหล่านี้คุณจะต้องมีไลบรารีต่อไปนี้:

  1. Adafruit ENS160 Library
  2. ห้องสมุด Adafruit AHTX0

ขั้นตอนในการติดตั้ง:

  1. เปิด Arduino IDE
  2. ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
  3. ค้นหา "Adafruit ENS160" แล้วคลิก ติดตั้ง.
  4. ค้นหา "Adafruit AHTX0" แล้วคลิก ติดตั้ง.

ขั้นตอนที่ 4: อัปโหลดรหัส

นี่คือตัวอย่างตัวอย่างสำหรับการอ่านข้อมูลจากเซ็นเซอร์ทั้งสอง:

#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
}

ขั้นตอนที่ 5: ทดสอบการตั้งค่า

  1. เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
  3. อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
  4. เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น 9600.
  5. คุณควรเห็นอุณหภูมิความชื้นและการอ่านคุณภาพอากาศแสดงทุก 2 วินาที

การแก้ไขปัญหา

  • ไม่พบเซ็นเซอร์: ตรวจสอบสายไฟและตรวจสอบให้แน่ใจว่ามีการเชื่อมต่อสาย SDA/SCL อย่างถูกต้อง
  • ไม่มีการอ่าน: ตรวจสอบให้แน่ใจว่าที่อยู่ I2C ของเซ็นเซอร์ทั้งสองไม่ขัดแย้งกัน ใช้เครื่องสแกน I2C ถ้าจำเป็น
  • ค่าที่ผิดปกติ: ทำให้เซ็นเซอร์อยู่ห่างจากสภาพที่รุนแรงหรือการเปลี่ยนแปลงสิ่งแวดล้อมอย่างฉับพลันในระหว่างการเริ่มต้น

แอปพลิเคชันของ ENS160 + AHT21

  1. ระบบตรวจสอบคุณภาพอากาศในร่ม
  2. เทอร์โมสแตทอัจฉริยะ
  3. การบันทึกข้อมูลสิ่งแวดล้อมสำหรับโครงการ IoT
  4. ระบบฟอกอากาศ

บทสรุป

คุณประสบความสำเร็จในการเชื่อมต่อเซ็นเซอร์คุณภาพอากาศ ENS160 และเซ็นเซอร์อุณหภูมิและความชื้น AHT21 กับ Arduino เซ็นเซอร์เหล่านี้ทำงานร่วมกันเพื่อให้การตรวจสอบด้านสิ่งแวดล้อมที่ครอบคลุมทำให้สมบูรณ์แบบสำหรับแอพพลิเคชั่น Smart Home หรือ IoT ทดลองกับข้อมูลเพื่อสร้างโครงการด้านสิ่งแวดล้อมของคุณเอง!

แสดงความคิดเห็น

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.