ENS160 และ AHT21 เป็นเซ็นเซอร์ที่ทรงพลังซึ่งมักจะจับคู่กันสำหรับโครงการตรวจสอบด้านสิ่งแวดล้อม ENS160 เป็นเซ็นเซอร์คุณภาพอากาศดิจิตอลในขณะที่ AHT21 วัดอุณหภูมิและความชื้น พวกเขาสามารถตรวจสอบคุณภาพอากาศในร่มและสภาพภูมิอากาศ ในบทช่วยสอนนี้เราจะแสดงวิธีการใช้ ENS160 และ AHT21 กับ Arduino
สิ่งที่คุณต้องการ
- เซ็นเซอร์คุณภาพอากาศ ENS160
- เซ็นเซอร์อุณหภูมิและความชื้น AHT21
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- กระดาน
- สายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง 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: ติดตั้งไลบรารีที่ต้องการ
เพื่อลดความซับซ้อนของการโต้ตอบกับเซ็นเซอร์เหล่านี้คุณจะต้องมีไลบรารีต่อไปนี้:
- Adafruit ENS160 Library
- ห้องสมุด Adafruit AHTX0
ขั้นตอนในการติดตั้ง:
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
- ค้นหา "Adafruit ENS160" แล้วคลิก ติดตั้ง.
- ค้นหา "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: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - คุณควรเห็นอุณหภูมิความชื้นและการอ่านคุณภาพอากาศแสดงทุก 2 วินาที
การแก้ไขปัญหา
- ไม่พบเซ็นเซอร์: ตรวจสอบสายไฟและตรวจสอบให้แน่ใจว่ามีการเชื่อมต่อสาย SDA/SCL อย่างถูกต้อง
- ไม่มีการอ่าน: ตรวจสอบให้แน่ใจว่าที่อยู่ I2C ของเซ็นเซอร์ทั้งสองไม่ขัดแย้งกัน ใช้เครื่องสแกน I2C ถ้าจำเป็น
- ค่าที่ผิดปกติ: ทำให้เซ็นเซอร์อยู่ห่างจากสภาพที่รุนแรงหรือการเปลี่ยนแปลงสิ่งแวดล้อมอย่างฉับพลันในระหว่างการเริ่มต้น
แอปพลิเคชันของ ENS160 + AHT21
- ระบบตรวจสอบคุณภาพอากาศในร่ม
- เทอร์โมสแตทอัจฉริยะ
- การบันทึกข้อมูลสิ่งแวดล้อมสำหรับโครงการ IoT
- ระบบฟอกอากาศ
บทสรุป
คุณประสบความสำเร็จในการเชื่อมต่อเซ็นเซอร์คุณภาพอากาศ ENS160 และเซ็นเซอร์อุณหภูมิและความชื้น AHT21 กับ Arduino เซ็นเซอร์เหล่านี้ทำงานร่วมกันเพื่อให้การตรวจสอบด้านสิ่งแวดล้อมที่ครอบคลุมทำให้สมบูรณ์แบบสำหรับแอพพลิเคชั่น Smart Home หรือ IoT ทดลองกับข้อมูลเพื่อสร้างโครงการด้านสิ่งแวดล้อมของคุณเอง!