มีหลายโมดูล เซ็นเซอร์อิเล็กทรอนิกส์ น่าสนใจมากสำหรับโครงการ 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 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); }