โมดูลวัดคุณภาพอากาศด้วย Arduino (เครื่องตรวจจับก๊าซ)

วัดคุณภาพอากาศ

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

บางคนใช้องค์ประกอบประเภทนี้ ระบบฟอกอากาศ เพื่อให้ทราบว่าเมื่อใดควรเปิดใช้งานโดยอัตโนมัติเพื่อกรองอากาศหรือในแอปพลิเคชั่นอื่น ๆ อีกมากมายเพื่อวัดมลพิษในเมือง ฯลฯ ที่นี่ คุณสามารถเรียนรู้ว่าอุปกรณ์นี้คืออะไร วิธีใช้งาน และวิธีรวมเข้ากับอุปกรณ์นี้ บอร์ด arduino ของคุณ.

เซ็นเซอร์วัดคุณภาพอากาศและ CO2

เซ็นเซอร์วัดก๊าซ

มีหลายประเภท เครื่องตรวจจับก๊าซหรือเซ็นเซอร์เพื่อวัดคุณภาพอากาศ. CCS811 รุ่นที่ราคาไม่แพงและได้รับความนิยมมากที่สุดตัวหนึ่ง ซึ่งสามารถติดตั้งไว้ในโมดูลเพื่อให้ใช้งานง่ายกับ Arduino ต้องขอบคุณอุปกรณ์นี้ ทำให้สามารถวัดคุณภาพของอากาศภายในอาคาร และทราบว่ามีคุณภาพดีหรือไม่ หรือมีการปนเปื้อนด้วยคาร์บอนไดออกไซด์หรือ CO2 คาร์บอนมอนอกไซด์หรือ CO มากเกินไป รวมถึงสารประกอบระเหยง่ายหรือ VOC ดังกล่าว เช่น เอทานอล เอมีน หรืออะโรมาติกไฮโดรคาร์บอน

ขอบคุณทุกคนเล็กน้อย อุปกรณ์แก๊สหลายชนิด. ช่วงการวัดอนุภาคได้ตั้งแต่ 400 ถึง 8192 ppm (ส่วนต่อล้านสำหรับ CO2 หรือ 0 ถึง 1187 ppb (ส่วนในพันล้าน) สำหรับสารประกอบ VOC อย่างไรก็ตาม คุณควรทราบรายละเอียดของรุ่นเฉพาะของเซ็นเซอร์ที่คุณซื้อ โดยใช้แผ่นข้อมูลที่ได้รับจากผู้ผลิต

เช่นเดียวกับเซ็นเซอร์เคมีอื่นๆ ในกรณีนี้จำเป็นต้องมีการอุ่นล่วงหน้า กล่าวอีกนัยหนึ่งควรเปิดใช้งานอย่างน้อย 20 นาที (หรือสูงสุด 48 ชั่วโมงหากเปลี่ยนสถานที่) ก่อนเพื่อให้การอ่านเป็นจริงและ การวัดเสถียร. มิฉะนั้น การวัดครั้งแรกอาจค่อนข้างผิด

โมดูลไม่เพียงรวม CCS811พวกเขายังรวมตัวแปลง ADC ซึ่งเป็นโปรเซสเซอร์ภายในเพื่อทำการคำนวณและองค์ประกอบการสื่อสารเพื่อส่งผ่านบัส I2C และบอร์ดเช่น Arduino สามารถตีความหรือดำเนินการบางอย่างเมื่อได้รับค่าบางอย่าง

สิ่งสำคัญคือต้องทราบพินเอาต์ของโมดูลนี้ นอกเหนือจากแรงดันไฟฟ้าที่จ่ายตั้งแต่ 1.8 ถึง 3.3v แม้ว่าบางโมดูลสามารถใช้อะแดปเตอร์เพื่อให้คุณสามารถเชื่อมต่อกับเอาต์พุต 5V ของ Arduino ได้ นอกจากนี้ยังสะดวกสำหรับคุณที่จะรู้ว่าคุณมี 5 โหมดการวัด:

  • การวัดอย่างต่อเนื่อง
  • วัดทุก 0.250 วินาที
  • วัดทุก 1 วินาที
  • วัดทุก 10 วินาที
  • วัดทุก 60 วินาที

คุณ ปรับให้เข้ากับความต้องการของคุณ. โปรดทราบว่าโหมดการวัดแบบต่อเนื่องเป็นโหมดที่กินไฟมากที่สุด ในขณะที่โหมดความถี่ต่ำกินไฟน้อยกว่า โดยที่ 60s เป็นโหมดที่ประหยัดที่สุด ดังนั้นหากจะใช้โดยใช้พลังงานจากแบตเตอรี่ คุณอาจต้องตั้งค่าโหมดเป็น 10 หรือ 60 เพื่อไม่ให้หมดอย่างรวดเร็ว

เกี่ยวกับ หมุด:

  • VDC: อุปทาน
  • GND: กราวด์
  • I2C: การสื่อสาร
    • SCL
    • SDA
  • WAK (WakeUp): เพื่อปลุกโมดูลเมื่อเชื่อมต่อกับ GND
  • RST: รีเซ็ตหากเชื่อมต่อกับ GND
  • INT: ใช้ในบางโหมดเพื่อตรวจสอบว่าเซ็นเซอร์ทำการตรวจจับใหม่หรือเกินเกณฑ์ที่กำหนดหรือไม่

Dónde comprar

หากคุณต้องการได้รับไฟล์ โมดูลสำหรับวัดคุณภาพอากาศ เข้ากันได้กับ Arduino และราคาถูก คุณสามารถหาได้ในบางร้านที่จำหน่ายอุปกรณ์อิเล็กทรอนิกส์หรือบนแพลตฟอร์มขนาดใหญ่เช่น Amazon นี่คือคำแนะนำในการซื้อบางส่วน:

วิธีรวมเซ็นเซอร์เพื่อวัดคุณภาพอากาศกับ Arduino

Arduino IDE, ชนิดข้อมูล, การเขียนโปรแกรม

ตอนนี้สำหรับ รวมโมดูลเพื่อวัดคุณภาพอากาศกับบอร์ดของคุณ Arduino UNO และเริ่มทดลองกับมัน คุณสามารถเริ่มต้นด้วยการเชื่อมต่อดังนี้:

  • VCC สามารถเชื่อมต่อกับ 5V ของ Arduino * หากยอมรับแรงดันไฟฟ้านั้น หากต้องการแรงดันไฟฟ้าที่ต่ำกว่า คุณควรใช้แรงดันไฟฟ้าที่ถูกต้องเพื่อไม่ให้เกิดความเสียหาย ถ้าไม่คุณสามารถใช้ Arduino 3v3
  • GND ไปที่ GND
  • SCL คือการเชื่อมต่ออินพุตแบบอะนาล็อก เช่น A5
  • SDA จะไปที่การเชื่อมต่ออินพุตแบบอะนาล็อกอื่น เช่น A4
  • WAK ในตัวอย่างนี้จะไปที่ GND เช่นกัน
  • ตัวอย่างอื่นไม่จำเป็นสำหรับตัวอย่างนี้

ว่า รหัสสำหรับ Arduino IDEคุณสามารถใช้ห้องสมุด CCS811 ที่พัฒนาโดย Adafruit that คุณสามารถดาวน์โหลดและติดตั้งได้จากที่นี่ ใน Arduino IDE ของคุณ และด้วยรหัสต่อไปนี้ คุณสามารถทำการอ่านครั้งแรกด้วยเซ็นเซอร์เพื่อวัดคุณภาพอากาศ:

#include "Adafruit_CCS811.h"

Adafruit_CCS811 ccs;

void setup() {
  Serial.begin(9600);

  Serial.println("CCS811 test");

  if(!ccs.begin()){
    Serial.println("¡Fallo al iniciar el sensor! Por favor, revisa las conexiones.");
    while(1);
  }

  //Espera a que el sensor esté listo.
  while(!ccs.available());
}

void loop() {
  if(ccs.available()){
    if(!ccs.readData()){
     Serial.println(ccs.calculateTemperature(););
     Serial.print("ºC, CO2: ");
      Serial.print(ccs.geteCO2());
      Serial.print("ppm, TVOC: ");
      Serial.println(ccs.getTVOC());
   }   
    else{
      Serial.println("¡ERROR!");
      while(1);
    }
  }
  delay(500);
}


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา