การใช้งาน เซ็นเซอร์วัด คาร์บอนไดออกไซด์ กับ Arduino

Keyestudio CO2 เซ็นเซอร์วัดคาร์บอนไดออกไซด์ และ คุณภาพอากาศ อุณหภูมิ ใช้ชิป CCS811B เป็นเซนเซอร์ตรวจจับก๊าซดิจิตอลขนาดเล็กที่ใช้พลังงานต่ำเป็นพิเศษซึ่งสามารถตรวจจับสารประกอบอินทรีย์ระเหย (TVOC) ได้หลากหลายรวมถึงระดับคาร์บอนไดออกไซด์เทียบเท่า (eCO2) และโลหะออกไซด์ (MOX)

คาร์บอนไดออกไซด์เทียบเท่า (eCO2) วัดได้ในช่วง 400 ถึง 8192 ppm (ส่วนต่อล้านส่วน) และสารประกอบอินทรีย์ระเหยต่างๆ (TVOC) อยู่ในช่วง 0 ถึง 1187 ppb (ส่วนต่อพันล้าน) ในขณะเดียวกันเซ็นเซอร์มาพร้อมกับเทอร์มิสเตอร์ NTC 1% ที่มีความแม่นยำ 10K ซึ่งสามารถใช้เพื่อทดสอบอุณหภูมิเฉพาะในสิ่งแวดล้อมได้

รายการอุปกรณ์


ขั้นตอนการทํางาน

1 : โปรแกรมแรก กับ Arduino Keyestudio PLUS


สวัสดีชาวโลก (Hello World) คือ คำง่าย ๆ สำหรับการเขียนโปรแกรมแรกของโปรแกรมเมอร์ เป็นโปรแกรมคอมพิวเตอร์พื้นฐานที่ทำการแสดงผลคำว่า “Hello world” บนอุปกรณ์แสดงผล ซึ่งเป็นหนึ่งในโปรแกรมที่ง่ายที่สุดเท่าที่จะเป็นไปได้ในการเขียนภาษาโปรแกรมต่างๆ ตามขั้นตอนลิงค์ด้านล่าง


2 : เชื่อมต่อ เซ็นเซอร์วัดคาร์บอนไดออกไซด์


เชื่อมต่อ Arduino UNO R3 รุ่น Keyestudio PLUS เข้ากับ เซ็นเซอร์วัด คาร์บอนไดออกไซด์ ตามภาพด้านล่าง

การใช้งาน เซ็นเซอร์วัด คาร์บอนไดออกไซด์ กับ Arduino


3 : ติดตั้งไลบรารี CCS811


สำหรับการใช้งานเซ็นเซอร์ วัดคาร์บอนไดออกไซด์ Keyestudio CO2 ต้องติดตั้งไลบรารี CCS811 เพิ่มเข้าไปที่ Arduino IDE

ดาวน์โหลดไลบรารีได้ที่ : http://www.lungmaker.com/libraries/CCS811.zip


เปิดโปรแกรม Arduino IDE ไปที่ Sketch -> Include Library -> Add .ZIP Library…

การใช้งาน 4-Digit LED Display กับ Arduino


ไปที่ ไฟล์ CCS811.zip ที่เรา ดาวน์โหลด มา -> Open

ติดตั้งไลบรารี CCS811


ตรวจสอบที่ 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. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว

ขึ้น Done uploading. ที่แถบด้านล่าง

5 : ทดสอบใช้งาน เซ็นเซอร์ วัดคาร์บอนไดออกไซด์ Keyestudio CO2


เปิดหน้าต่าง Serial Monitor  โดยไปที่ Tools -> Serial Monitor

การใช้งาน เซ็นเซอร์วัด คาร์บอนไดออกไซด์ กับ Arduino


ที่มุมขวาล่าง ของ 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 มก/ลบม ชนิดต่างๆ ที่พบบ่อยในอากาศในอาคาร โดยควบคุมความชื้น การใหลของอากาศ อุณหภูมิผิวหนัง อุณหภูมิของอากาศ และระยะเวลาการสัมผัส ซึ่งได้มีการวัดการบวมของเยื่อจมูก การวัดกลิ่น การวัดน้ำตา และการตรวจเซลล์ที่แสดงถึงการอักเสบในน้ำตา