เริ่มต้นเนื้อหา
Dustation dev kit V1.3 | SET and RESET
ผลการตอบสนองการตั้งค่าขา SET [ESP32 pin19] และ RESET [ ESP32 pin18]
ผลการตอบสนองของเซ็นเซอร์นี้ไม่ได้ระบุโดย Datasheet ของผู้ผลิตทั้งหมด แต่ตารางนี้แสดงให้เห็นถึงผลการตอบสนองจริงของเซ็นเซอร์ในสภาวะการตั้งค่าในแบบต่างๆ ที่เป็นไปได้ทั้งหมด เพื่อให้มองเห็นภาพง่ายขึ้น และเพื่อใช้ประกอบการตัดสินใจในการพัฒนา
การตั้งค่าสำหรับ Dustation Dev Kit V1.3
ใช้โค้ดเพื่อทดสอบและสังเกตการทำงานของเซ็นเซอร์ PMS7003
int set = 19;
int reset = 18;
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);
}
ตัวอย่างต่อไปนี้จะเป็นการสั่ง PMS7003 Wake Up / Sleep โดยใช้ SET [ESP32 pin18]
สำหรับ Dustation V1.3 : เมื่อบัดกรีเชื่อมต่อจุด SET , ขา set จะเชื่อมต่อกับขา D19 ของ ESP32
Set pin /TTL level@3.3V, high level คือ สถานะทำงานปกติ, low level คือโหมดหยุดการทำงาน
#include "PMS.h"
PMS pms(Serial2);
PMS::DATA data;
int set = 18;
void setup()
{
Serial2.begin(9600); // GPIO1, GPIO3 (TX/RX pin on ESP-12E Development Board)
Serial.begin(9600); // GPIO2 (D4 pin on ESP-12E Development Board)
pinMode(set, OUTPUT);
}
void loop()
{
Serial.println("Waking up, wait 30 seconds for stable readings...");
digitalWrite(set, HIGH); //Setting hardware Waking up
delay(30000);
Serial.println("Send read request...");
pms.requestRead();
Serial.println("Wait max. 1 second for read...");
if (pms.readUntil(data))
{
Serial.print("PM 1.0 (ug/m3): ");
Serial.println(data.PM_AE_UG_1_0);
Serial.print("PM 2.5 (ug/m3): ");
Serial.println(data.PM_AE_UG_2_5);
Serial.print("PM 10.0 (ug/m3): ");
Serial.println(data.PM_AE_UG_10_0);
Serial.println();
}
else
{
Serial.println("No data.");
}
Serial.println("Going to sleep for 60 seconds.");
digitalWrite(set, LOW); //Setting hardware sleep
delay(60000);
}