เริ่มต้นเนื้อหา
SET
สามารถสลับการเข้าสู่โหมดพักและเริ่มใหม่ได้
RESET
เมื่อต้องการเริ่มเซ็นเซอร์ใหม่หรือแก้ปัญหาหลังจากทำงานผิดปกติ โดยใช้สัญญาณ LOW ชั่วคราวเพื่อรีเซ็ต
ตัวอย่างต่อไปนี้จะเป็นการสั่ง PMS7003 Wake Up / Sleep โดยใช้ SET [ESP32 pin18]
สำหรับ Dustation V2 : เมื่อเลื่อน dip switch ของ SET ไปที่ ON , ขา set จะเชื่อมต่อกับขา D18 ของ ESP32
- Set pin /TTL level@3.3V, high level คือ สถานะทำงานปกติ, low level คือโหมดหยุดการทำงาน
Pin RESET
ของ PMS7003
ใช้สำหรับรีเซ็ตเซ็นเซอร์ฝุ่นให้กลับสู่สถานะเริ่มต้น
กรณีที่ควรใช้ Pin RESET
- เริ่มต้นการทำงานใหม่ → ใช้เพื่อให้เซ็นเซอร์กลับสู่สถานะเริ่มต้นเมื่อเริ่มต้นระบบใหม่
- รีเซ็ตหลังจากเกิดข้อผิดพลาด → หากเซ็นเซอร์ค้างหรืออ่านค่าไม่ได้ อาจใช้
RESET
เพื่อกู้คืนการทำงาน
แนวทางการใช้งาน
- Pin
RESET
เป็น Active Low (LOW = รีเซ็ต, HIGH = ทำงานปกติ) - ควรดึง
RESET
เป็น HIGH เป็นค่าเริ่มต้น - หากต้องการรีเซ็ต → ดึง LOW ค้าง 100ms แล้วปล่อย HIGH
ตัวอย่างโค้ด RESET
#define PMS7003_RESET_PIN 19 // กำหนดขารีเซ็ต (เลือกขาตามบอร์ดที่ใช้)
void setup() {
pinMode(PMS7003_RESET_PIN, OUTPUT);
digitalWrite(PMS7003_RESET_PIN, HIGH); // ให้เซ็นเซอร์ทำงานปกติ
Serial.begin(115200);
}
void resetPMS7003() {
Serial.println("Resetting PMS7003...");
digitalWrite(PMS7003_RESET_PIN, LOW); // ดึง LOW เพื่อรีเซ็ต
delay(100); // รอ 100ms
digitalWrite(PMS7003_RESET_PIN, HIGH); // ปล่อยให้เซ็นเซอร์กลับมาทำงาน
delay(1000); // รอให้เซ็นเซอร์พร้อมทำงานใหม่
}
void loop() {
if (Serial.available()) {
char c = Serial.read();
if (c == 'r') { // พิมพ์ 'r' เพื่อรีเซ็ตจาก Serial Monitor
resetPMS7003();
}
}
}
ผลการตอบสนองการตั้งค่าขา SET [ESP32 pin18] และ RESET [ ESP32 pin19]
ผลการตอบสนองของเซ็นเซอร์นี้ไม่ได้ระบุโดย Datasheet ของผู้ผลิตทั้งหมด แต่ตารางนี้แสดงให้เห็นถึงผลการตอบสนองจริงของเซ็นเซอร์ในสภาวะการตั้งค่าในแบบต่างๆ ที่เป็นไปได้ทั้งหมด เพื่อให้มองเห็นภาพง่ายขึ้น และเพื่อใช้ประกอบเป็นข้อมูลสำหรับการพัฒนา
การตั้งค่าสำหรับ Dustation Dev Kit V2

dustation-devkit-v2-set-and-reset-behavior
ใช้โค้ดเพื่อทดสอบและสังเกตการทำงานของเซ็นเซอร์ PMS7003
int set = 18;
int reset = 19;
void setup() {
pinMode(set, OUTPUT);
pinMode(reset, OUTPUT);
}
void loop() {
//digitalWrite(set, LOW);
//digitalWrite(reset, LOW);
//digitalWrite(set, HIGH);
//digitalWrite(reset, LOW);
//digitalWrite(set, LOW);
//digitalWrite(reset, HIGH);
digitalWrite(set, HIGH);
digitalWrite(reset, HIGH);
}