ข้อมูลและสเปคของเซ็นเซอร์ AM2302B
AM2302B เป็นเซ็นเซอร์วัดอุณหภูมิและความชื้นในอากาศ มีขนาดเล็ก ราคาประหยัด เหมาะสำหรับใช้งานทั่วไป
สเปค:
- แรงดันไฟฟ้าที่ใช้งาน: 3.3 - 5.5 โวลต์
- สัญญาณขาออก: ดิจิทัลแบบ single bus
- ความละเอียด: อุณหภูมิ 0.1°C, ความชื้น 0.1%RH
- ช่วงการวัดอุณหภูมิ: -40 ถึง 80°C
- ความแม่นยำของอุณหภูมิ: ±0.5°C
- ช่วงการวัดความชื้น: 0 ถึง 99.9%RH
- ความแม่นยำของความชื้น: ±2%RH
- รอบการวัด: 1 / e (63%) < 5 วินาที
- อุณหภูมิในการจัดเก็บ: 0 ถึง 80°C
- ความชื้นในการจัดเก็บ: ต่ำกว่า 95%RH (non-condensing)
- วัสดุตัวเปลือก: พลาสติก PC
คุณสมบัติ:
- ขนาดเล็ก น้ำหนักเบา
- ติดตั้งง่าย
- ราคาประหยัด
- ความแม่นยำสูง
- ใช้พลังงานต่ำ
- เหมาะสำหรับใช้งานในร่ม
การใช้งาน:
- ระบบควบคุมสภาพอากาศ (HVAC)
- เครื่องวัดสภาพอากาศ
- เครื่องทำความชื้นและเครื่องลดความชื้น
- อุปกรณ์เกษตรกรรม
- อุปกรณ์ทางการแพทย์
รายละเอียดของขาต่อเซ็นเซอร์ AM2302B
1. ขาสีแดง VDD (แหล่งจ่ายไฟ 3.3V-5.5V):
- ขานี้จ่ายไฟให้กับเซ็นเซอร์
- ต้องการแรงดันไฟฟ้าระหว่าง 3.3V ถึง 5.5V DC
- สีแดงเป็นสีทั่วไปสำหรับขาจ่ายไฟบวก
2. ขาสีเหลือง SDA (ข้อมูลอนุกรม พอร์ตสองทาง):
- ขานี้ใช้สำหรับการสื่อสารแบบอนุกรมระหว่างเซ็นเซอร์และไมโครคอนโทรลเลอร์ (เช่น Arduino)
- เป็นพอร์ตสองทาง หมายความว่าข้อมูลสามารถไหลไปได้ทั้งสองทิศทาง
- สีเหลืองไม่ใช่สีทั่วไปสำหรับขาข้อมูล แต่บางเซ็นเซอร์อาจใช้สีนี้เพื่อแยกความแตกต่างจากขาอื่นๆ
3. ขา NC (ขาที่ว่างเปล่า):
- ขานี้ไม่ได้เชื่อมต่อกับอะไรภายในเซ็นเซอร์
- คุณสามารถปล่อยไว้โดยไม่ต้องเชื่อมต่ออะไร
4. ขาสีดำ GND (กราวด์):
- ขานี้เป็นจุดต่อกราวด์ของเซ็นเซอร์
- เป็นสีทั่วไปสำหรับขาต่อกราวด์
โค้ดตัวอย่างใช้งานเซ็นเซอร์ AM2302B กับ Arduino
หมายเหตุ: โค้ดตัวอย่างนี้ใช้ไลบรารี DHT library
1. ติดตั้งไลบรารี DHT
ตัวอย่างโค้ด
#include <DHT.h>
#define DHTPIN 2 // ขาที่เชื่อมต่อเซ็นเซอร์
#define DHTTYPE DHT22 // ประเภทของเซ็นเซอร์
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
// อ่านค่าอุณหภูมิ
float temperature = dht.readTemperature();
// อ่านค่าความชื้น
float humidity = dht.readHumidity();
// ตรวจสอบว่ามีค่าผิดพลาดหรือไม่
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from sensor!");
return;
}
// แสดงผลค่าอุณหภูมิและความชื้น
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print("°C ");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("%RH");
Serial.println();
delay(2000);
}
คำอธิบายโค้ด:
#include <DHT.h>
: โหลดไลบรารี DHT
#define DHTPIN 2
: กำหนดขาที่เชื่อมต่อเซ็นเซอร์
#define DHTTYPE DHT22
: กำหนดประเภทของเซ็นเซอร์
DHT dht(DHTPIN, DHTTYPE);
: สร้างตัวแปร dht
สำหรับควบคุมเซ็นเซอร์
setup()
: ฟังก์ชันนี้รันหนึ่งครั้งเมื่อเริ่มต้นโปรแกรม
Serial.begin(9600);
: เริ่มต้นการสื่อสารแบบอนุกรม
dht.begin();
: เริ่มต้นการทำงานของเซ็นเซอร์
loop()
: ฟังก์ชันนี้รันซ้ำๆ ตลอดเวลา
float temperature = dht.readTemperature();
: อ่านค่าอุณหภูมิ
float humidity = dht.readHumidity();
: อ่านค่าความชื้น
if (isnan(temperature) || isnan(humidity)) { ... }
: ตรวจสอบว่ามีค่าผิดพลาดหรือไม่
Serial.print("Temperature: "); ... Serial.println();
: แสดงผลค่าอุณหภูมิและความชื้น
delay(2000);
: รอ 2 วินาที