การใช้งาน เซ็นเซอร์วัด คาร์บอนไดออกไซด์ กับ Arduino
Keyestudio CO2 เซ็นเซอร์วัดคาร์บอนไดออกไซด์ และ คุณภาพอากาศ อุณหภูมิ ใช้ชิป CCS811B เป็นเซนเซอร์ตรวจจับก๊าซดิจิตอลขนาดเล็กที่ใช้พลังงานต่ำเป็นพิเศษซึ่งสามารถตรวจจับสารประกอบอินทรีย์ระเหย (TVOC) ได้หลากหลายรวมถึงระดับคาร์บอนไดออกไซด์เทียบเท่า (eCO2) และโลหะออกไซด์ (MOX)
คาร์บอนไดออกไซด์เทียบเท่า (eCO2) วัดได้ในช่วง 400 ถึง 8192 ppm (ส่วนต่อล้านส่วน) และสารประกอบอินทรีย์ระเหยต่างๆ (TVOC) อยู่ในช่วง 0 ถึง 1187 ppb (ส่วนต่อพันล้าน) ในขณะเดียวกันเซ็นเซอร์มาพร้อมกับเทอร์มิสเตอร์ NTC 1% ที่มีความแม่นยำ 10K ซึ่งสามารถใช้เพื่อทดสอบอุณหภูมิเฉพาะในสิ่งแวดล้อมได้
รายการอุปกรณ์
- 1. Arduino UNO R3 รุ่น Keyestudio PLUS
- 2. เซ็นเซอร์ วัดคาร์บอนไดออกไซด์ Keyestudio CO2
- 3. Jumper (F2F) cable 20cm Female to Female
ขั้นตอนการทํางาน
1 : โปรแกรมแรก กับ Arduino Keyestudio PLUS
สวัสดีชาวโลก (Hello World) คือ คำง่าย ๆ สำหรับการเขียนโปรแกรมแรกของโปรแกรมเมอร์ เป็นโปรแกรมคอมพิวเตอร์พื้นฐานที่ทำการแสดงผลคำว่า “Hello world” บนอุปกรณ์แสดงผล ซึ่งเป็นหนึ่งในโปรแกรมที่ง่ายที่สุดเท่าที่จะเป็นไปได้ในการเขียนภาษาโปรแกรมต่างๆ ตามขั้นตอนลิงค์ด้านล่าง
2 : เชื่อมต่อ เซ็นเซอร์วัดคาร์บอนไดออกไซด์
เชื่อมต่อ Arduino UNO R3 รุ่น Keyestudio PLUS เข้ากับ เซ็นเซอร์วัด คาร์บอนไดออกไซด์ ตามภาพด้านล่าง
3 : ติดตั้งไลบรารี CCS811
สำหรับการใช้งานเซ็นเซอร์ วัดคาร์บอนไดออกไซด์ Keyestudio CO2 ต้องติดตั้งไลบรารี CCS811 เพิ่มเข้าไปที่ Arduino IDE
ดาวน์โหลดไลบรารีได้ที่ : http://www.lungmaker.com/libraries/CCS811.zip
เปิดโปรแกรม Arduino IDE ไปที่ Sketch -> Include Library -> Add .ZIP Library…
ไปที่ ไฟล์ CCS811.zip ที่เรา ดาวน์โหลด มา -> Open
ตรวจสอบที่ Sketch -> Include Library จะพบ ไลบรารี CCS811 เพิ่มเข้ามาใน Arduino IDE ของเรา
4 : อัพโหลดโค้ดให้กับ Arduino Keyestudio PLUS
เชื่อมต่อสาย USB จาก คอมพิวเตอร์ ไปที่บอร์ด Arduino Keyestudio PLUS
เขียนโปรแกรม หรือ Sketch ตามโค้ดด้านล่างนี้
#include <CCS811.h>
/*
IIC address default 0x5A, the address becomes 0x5B if the ADDR_SEL is soldered.
*/
//CCS811 sensor(&Wire, /*IIC_ADDRESS=*/0x5A);
CCS811 sensor;
void setup(void)
{
Serial.begin(115200);
/*Wait for the chip to be initialized completely, and then exit*/
while (sensor.begin() != 0) {
Serial.println("failed to init chip, please check if the chip connection is fine");
delay(1000);
}
/**
@brief Set measurement cycle
@param cycle:in typedef enum{
eClosed, //Idle (Measurements are disabled in this mode)
eCycle_1s, //Constant power mode, IAQ measurement every second
eCycle_10s, //Pulse heating mode IAQ measurement every 10 seconds
eCycle_60s, //Low power pulse heating mode IAQ measurement every 60 seconds
eCycle_250ms //Constant power mode, sensor measurement every 250ms
}eCycle_t;
*/
sensor.setMeasCycle(sensor.eCycle_250ms);
}
void loop() {
delay(1000);
if (sensor.checkDataReady() == true) {
Serial.print("CO2: ");
Serial.print(sensor.getCO2PPM());
Serial.print("ppm, TVOC: ");
Serial.print(sensor.getTVOCPPB());
Serial.println("ppb");
} else {
Serial.println("Data is not ready!");
}
/*!
@brief Set baseline
@param get from getBaseline.ino
*/
sensor.writeBaseLine(0x847B);
//delay cannot be less than measurement cycle
//delay(1000);
}
คลิกที่ Upload -> รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว
5 : ทดสอบใช้งาน เซ็นเซอร์ วัดคาร์บอนไดออกไซด์ Keyestudio CO2
เปิดหน้าต่าง Serial Monitor โดยไปที่ Tools -> Serial Monitor
ที่มุมขวาล่าง ของ Serial Monitor เลือกเป็น 115200 baud
ข้อมูลจะแสดงบน Serial Monitor เริ่มต้นอาจไม่ถูกต้องในตอนเพียงรอสักครู่ (สูงสุด 20 นาที) จนกว่าข้อมูลจะคงที่
หาแหล่งก๊าซคาร์บอนไดออกไซด์ เช่นการหายใจออก ไปที่เซ็นเซอร์ข้อมูลจะเปลี่ยนแปลงอย่างเห็นได้ชัดดังที่แสดงด้านล่าง:
แสดงว่า เซ็นเซอร์ วัดคาร์บอนไดออกไซด์ พร้อมใช้งานแล้ว
6 : ระดับคาร์บอนไดออกไซด์ปกติ (Normal CO2 Levels)
ระดับคาร์บอนไดออกไซด์ปกติ
ผลกระทบของ CO2 ต่อผู้ใหญ่ที่มีสุขภาพที่ดีสามารถสรุปได้ดังนี้
-ระดับกลางแจ้งปกติ: 350 – 450 ppm
-ระดับที่ยอมรับได้: <600 ppm=”” span=””>
-ข้อร้องเรียนเกี่ยวกับความเข้มและกลิ่น: 600 – 1000 ppm
-ตามมาตรฐาน ASHRAE และ OSHA: 1000 ppm
-อาการง่วงนอนทั่วไป: 1000 – 2500 ppm
-คาดว่าจะมีผลต่อสุขภาพที่ไม่คาดคิด: 2500 – 5000 ppm
-ความเข้มข้นสูงสุดที่อนุญาตภายในระยะเวลาการทำงาน 8 ชั่วโมง: 5000 – 10000 ppm
-ความเข้มข้นสูงสุดที่อนุญาตภายในระยะเวลาการทำงาน 15 นาที: 30000 ppm
**ระดับข้างต้นค่อนข้างปกติและระดับสูงสุดอาจเป็นครั้งคราวเกิดขึ้นเป็นครั้งคราว โดยทั่วไปแล้วอัตราการถ่ายเทอากาศควรให้ความเข้มข้นของคาร์บอนไดออกไซด์ต่ำกว่า 1000 ppm เพื่อสร้างเงื่อนไขคุณภาพอากาศภายในที่ยอมรับได้สำหรับบุคคลส่วนใหญ่
ระดับ CO2 ที่รุนแรงและเป็นอันตราย
เพิ่มอัตราการมึนเมาการหายใจและชีพจรเล็กน้อยอาการคลื่นไส้: 30000 – 40000 ppm
อาการปวดศีรษะบวกและอาการสายตาผิดปกติ: 50000 ppm
หมดสติเสียชีวิต: 100000 ppm
หน่วยวัด ppm ค่ามลพิษทางอากาศ คืออะไร
ถ้าพูดถึงเรื่องหน่วยวัด ppm หลายท่านที่มีความรู้อยู่แล้วอาจตอบได้เลยว่าคืออะไรและมีความเกี่ยวข้องกับการทำงานหรือการใช้ชีวิตประจำวันอย่างไร แต่หลายท่านอาจไม่แน่ใจในคำตอบ ในที่นี้จะได้ทำความเข้าใจเกี่ยวกับเรื่องดังกล่าว
Part Per Million (ppm) หมายถึง หนึ่งส่วนในล้านส่วน(1 ใน 1,000,000) หน่วยวัด PPM ที่เรามักจะพบเจอส่วนใหญ่แล้วจะเป็นเรื่องของสิ่งแวดล้อมในงานอุตสาหกรรมหรือตามหน่วยงานต่างๆ เช่น การวัดค่ามลพิษทางอากาศ หมายถึงส่วนของปริมาณก๊าซพิษในปริมาณของอากาศล้านส่วน หรือปริมาณของตัวถูกละลายในสารละลายล้านส่วน นั่นเอง
7: สารประกอบอินทรีย์ระเหยง่าย (TVOC) คืออะไร ?
สารประกอบอินทรีย์ระเหยง่าย (TVOC) คือ กลุ่มสารประกอบอินทรีย์ที่ระเหยเป็นไอได้ง่าย กระจายตัวไปในอากาศได้ในอุณหภูมิและความดันปกติ สารประกอบอินทรีย์ระเหยง่าย (TVOC) มักจะเป็นสารที่อยู่ในผลิตภัณฑ์ในครัวเรือน เช่น น้ำยาทำความสะอาดและฆ่าเชื้อ สีทาบ้าน น้ำยาย้อมสีผมและดัดผม สารจำกัดศัตรูพืช หรือแม้แต่ ควันบุหรี่
การแปลงหน่วย ppm เป็น ppb
ค่ามาตรฐานของ TVOC ต้องมีค่าต่ำกว่า 1 มก./ลบม. จึงจะไม่เป็นอันตรายต่อสุขภาพ
กรณีศึกษาคือให้อาสาสมัครที่ไม่สูบบุหรี่ ซึ่งสัมผัสกับสาร VOC ที่ 02.5 มก/ลบม. และ 25 มก/ลบม. ซึ่งคนที่ได้รับสาร 02.5 มก. แทบจะไม่มีอาการผิดปกติ ส่วนคนที่ได้รับสาร 25 มก. จะมีผลกระทบต่อระบบทางเดินหายใจ
ทดลองกับผู้ที่สัมผัสต่อ TVOC ขนาด 10 มก/ลบม ชนิดต่างๆ ที่พบบ่อยในอากาศในอาคาร โดยควบคุมความชื้น การใหลของอากาศ อุณหภูมิผิวหนัง อุณหภูมิของอากาศ และระยะเวลาการสัมผัส ซึ่งได้มีการวัดการบวมของเยื่อจมูก การวัดกลิ่น การวัดน้ำตา และการตรวจเซลล์ที่แสดงถึงการอักเสบในน้ำตา