“ น่าเศร้าในนามของความก้าวหน้าเราได้ทำให้อากาศน้ำดินและอาหารที่เรากินเสียไป” ดังนั้นการตรวจสอบคุณภาพอากาศจึงมีความสำคัญอย่างยิ่งในปัจจุบันเนื่องจากมลพิษ สำหรับการออกแบบระบบตรวจสอบคุณภาพอากาศเราต้องการเซ็นเซอร์คุณภาพอากาศที่ทนทานและเชื่อถือได้ แม้ว่าจะมีพารามิเตอร์คุณภาพอากาศมากมาย แต่ที่สำคัญที่สุดคือ CO2 และ TVOC ดังนั้นสำหรับการตรวจจับ CO2 และ TVOC เราใช้CCS811 คุณภาพอากาศเซนเซอร์
ในบทช่วยสอนนี้เราจะแสดงให้คุณเห็นว่าจะรับรู้ TVOC และ CO2 โดยใช้เซ็นเซอร์คุณภาพอากาศ CCS811 กับ Arduinoได้อย่างไร นอกจากนี้คุณจะได้เรียนรู้การเชื่อมต่อ CSS811 กับ Arduino
วัสดุที่จำเป็น
- Arduino UNO
- CCS811 เซ็นเซอร์คุณภาพอากาศ
- โพเทนชิออมิเตอร์ (10k)
- LCD 16 * 2
- เขียงหั่นขนม
- การเชื่อมต่อสายไฟ
แผนภูมิวงจรรวม
CCS811 เซ็นเซอร์คุณภาพอากาศ
เซ็นเซอร์คุณภาพอากาศ CCS811 เป็นเซ็นเซอร์ก๊าซดิจิตอลพลังงานต่ำพิเศษซึ่งรวมเซ็นเซอร์ก๊าซ MOX (โลหะออกไซด์) เพื่อตรวจจับ VOCs (สารประกอบอินทรีย์ระเหยง่าย) ที่หลากหลายสำหรับการตรวจสอบคุณภาพอากาศภายในอาคารด้วย MCU ในตัว (หน่วยไมโครคอนโทรลเลอร์). MCU ประกอบด้วย ADC (Analog-to-Digital Converter) และอินเทอร์เฟซ I2C โดยใช้เทคโนโลยีไมโคร hotplate ที่เป็นเอกลักษณ์ของamsซึ่งช่วยให้โซลูชันที่เชื่อถือได้สูงสำหรับเซนเซอร์ตรวจจับก๊าซโดยใช้พลังงานต่ำ
ในวงจรของเราเรากำลังใช้เซ็นเซอร์นี้เพื่อตรวจจับ TVOC และ CO2 ที่มีอยู่ในสิ่งแวดล้อมและแสดงข้อมูลบน LCD 16 * 2
การกำหนดค่าพิน
หมายเลขพิน |
ชื่อพิน |
คำอธิบาย |
1 |
Vin |
อินพุตซัพพลาย (3.3v ถึง 5v) |
2 |
3V3 |
3.3V ขาออกสำหรับใช้ภายนอก |
3 |
Gnd |
พื้น |
4 |
SDA |
นี่คือเข็มนาฬิกา I2C |
5 |
SCL |
พินข้อมูล I2C |
6 |
ตื่น |
Wakeup Pin ของเซ็นเซอร์ควรเชื่อมต่อกับกราวด์เพื่อสื่อสารกับเซ็นเซอร์ |
7 |
RST |
รีเซ็ตพิน: เมื่อเชื่อมต่อกับกราวด์เซ็นเซอร์จะรีเซ็ตตัวเอง |
8 |
INT |
นี่คือพินเอาต์พุตแบบขัดจังหวะซึ่งใช้เพื่อตรวจจับเมื่อการอ่านใหม่พร้อมหรือเมื่อการอ่านสูงหรือต่ำเกินไป |
ใบสมัคร
- สมาร์ทโฟน
- อุปกรณ์สวมใส่
- ระบบอัตโนมัติในบ้านและอาคาร
- เครื่องประดับ
รหัสและคำอธิบาย
รหัส Arduino สมบูรณ์สำหรับ TVOC และ CO2 วัดโดยใช้ CCS811 เครื่องเซนเซอร์คุณภาพจะได้รับในตอนท้าย
ในโค้ดด้านล่างนี้เรากำลังกำหนดไลบรารีสำหรับเซ็นเซอร์คุณภาพอากาศ LCD 16 * 2 และ CCS811 สำหรับการดาวน์โหลดไลบรารี "Adafruit_CCS811.h" สำหรับ CCS811 ตามลิงค์นี้
# รวม
ด้านล่างเราได้กำหนดพินสำหรับการเชื่อมต่อ LCD 16 * 2 กับ Arduino
LiquidCrystal LCD (12, 13, 8, 9, 10, 11); /// ลงทะเบียน PIN เลือก, เปิดใช้ PIN, D4 PIN, D5 PIN, D6 PIN, D7 PIN Adafruit_CCS811 ccs;
ด้านล่างนี้เราได้ติดตั้งเซ็นเซอร์คุณภาพอากาศ LCD และ CCS811 และปรับเทียบเพื่อให้ได้อุณหภูมิที่ถูกต้องดังแสดงในรหัสด้านล่าง
การตั้งค่าเป็นโมฆะ () {lcd.begin (16, 2); ccs.begin (); // ปรับเทียบเซ็นเซอร์อุณหภูมิในขณะที่ (! ccs.available ()); อุณหภูมิลอย = ccs.calculateTemperature (); ccs.setTempOffset (อุณหภูมิ - 25.0); }
ในโค้ดด้านล่างเราใช้ฟังก์ชัน “ ccs.available ()” (ฟังก์ชันถูกกำหนดไว้แล้วในไลบรารี) เพื่อตรวจสอบว่ามีข้อมูลมาหรือไม่ เมื่อเราได้รับข้อมูลเราสามารถคำนวณอุณหภูมิและแสดงบน LCD 16 * 2
นอกจากนี้หาก CCS พร้อมใช้งานและ ccs.readData () ส่งคืนค่าเท็จเราจะได้รับค่า CO2 โดยใช้ฟังก์ชัน ccs.geteCO2 () และค่า TVOC โดยใช้ ccs.getTVOC () ดังแสดงในโค้ดด้านล่าง ดังนั้นเราจึงได้รับค่าพารามิเตอร์คุณภาพอากาศโดยใช้เซ็นเซอร์คุณภาพอากาศ CCS811
โมฆะ loop () {if (ccs.available ()) {float temp = ccs.calculateTemperature (); ถ้า (! ccs.readData ()) {int co2 = ccs.geteCO2 (); int tvoc = ccs.getTVOC (); lcd.setCursor (0, 0); lcd.print (สตริง ("CO2:") + สตริง (co2) + สตริง ("PPM")); lcd.setCursor (0, 1); lcd.print (สตริง ("TVOC:") + สตริง (tvoc) + สตริง ("PPB")); lcd.print (สตริง ("T:" + สตริง (int (temp))) + สตริง ("C")); ล่าช้า (3000); lcd.clear (); } else {lcd.print ("ERROR"); ในขณะที่ (1); }}}
รหัส Arduino ที่สมบูรณ์จะได้รับด้านล่าง โค้ดเป็นเรื่องง่ายงานทั้งหมดทำโดยไลบรารีของมันเองและเราได้ใช้ฟังก์ชันที่กำหนดไว้ในไลบรารี CCS เพื่อรับค่า CO2 และ TOVC
ตรวจสอบด้วย:
- ระบบตรวจสอบมลพิษทางอากาศที่ใช้ IOT โดยใช้ Arduino
- การวัด PPM จากเซนเซอร์แก๊ส MQ โดยใช้ Arduino