- अवयव आवश्यक
- ग्रेविटी इन्फ्रारेड CO2 सेंसर
- 0.96 'ओएलईडी डिस्प्ले मॉड्यूल
- सर्किट आरेख
- CO2 एकाग्रता को मापने के लिए Arduino कोड
- ग्रेविटी इन्फ्रारेड सीओ 2 सेंसर के इंटरफेसिंग का परीक्षण
हवा में कार्बन डाइऑक्साइड की बढ़ती एकाग्रता अब एक गंभीर समस्या बन गई है। एनओएए की रिपोर्ट के अनुसार, ओजोन सीओ 2 एकाग्रता 0.0385 प्रतिशत (385 पीपीएम) तक पहुंच गई है और यह 2.1 मिलियन वर्षों में सबसे अधिक राशि है। इसका मतलब है कि हवा के दस लाख कणों में, कार्बन डाइऑक्साइड के 385 कण हैं। CO2 के इस बढ़ते स्तर ने पर्यावरण को बुरी तरह प्रभावित किया है और हमें जलवायु परिवर्तन और ग्लोबल वार्मिंग जैसी स्थिति का सामना करने के लिए प्रेरित किया है। CO2 स्तर बताने के लिए सड़कों पर कई वायु गुणवत्ता मापने वाले उपकरण लगाए गए हैं, लेकिन हम DIY CO2 मापने के उपकरण भी बना सकते हैं और इसे अपने क्षेत्र में स्थापित कर सकते हैं।
इस ट्यूटोरियल में, हम पीपीएम में सीओ 2 सांद्रता को मापने के लिए अर्डुइनो के साथ ग्रेविटी इन्फ्रारेड सीओ 2 सेंसर को इंटरफ़ेस करने जा रहे हैं। ग्रेविटी इन्फ्रारेड CO2 सेंसर एक उच्च परिशुद्धता एनालॉग CO2 सेंसर है। यह 0 से 5000 पीपीएम की सीमा में सीओ 2 सामग्री को मापता है। आप हमारी पिछली परियोजनाओं की भी जांच कर सकते हैं जहां हमने वायु गुणवत्ता की निगरानी के लिए MQ135 गैस सेंसर, शार्प GP2Y1014AU0F सेंसर, और नोवा पीएम सेंसर SDS011 का उपयोग किया है।
अवयव आवश्यक
- अरुडिनो नैनो
- ग्रेविटी इन्फ्रारेड CO2 सेंसर V1.1
- जम्पर तार
- 0.96 'एसपीआई OLED डिस्प्ले मॉड्यूल
- ब्रेड बोर्ड
ग्रेविटी इन्फ्रारेड CO2 सेंसर
ग्रेविटी इन्फ्रारेड CO2 सेंसर V1.1 DFRobot द्वारा जारी किया गया नवीनतम उच्च परिशुद्धता एनालॉग इन्फ्रारेड CO2 सेंसर है। यह सेंसर गैर-फैलाने वाले अवरक्त (NDIR) तकनीक पर आधारित है और इसमें अच्छी चयनात्मकता और ऑक्सीजन रहित निर्भरता है। यह तापमान मुआवजे को एकीकृत करता है और डीएसी आउटपुट का समर्थन करता है। इस सेंसर की प्रभावी माप सीमा m 50ppm + 3% की सटीकता के साथ 0 से 5000ppm तक है। इस इन्फ्रारेड सीओ 2 सेंसर का उपयोग एचवीएसी, इनडोर वायु गुणवत्ता निगरानी, औद्योगिक प्रक्रिया और सुरक्षा सुरक्षा निगरानी, कृषि और पशुपालन उत्पादन प्रक्रिया निगरानी में किया जा सकता है।
इन्फ्रारेड CO2 सेंसर पिनआउट:
जैसा कि पहले उल्लेख किया गया है, इन्फ्रारेड सीओ 2 सेंसर 3-पिन कनेक्टर के साथ आता है । नीचे का आंकड़ा और तालिका इन्फ्रारेड CO2 सेंसर के लिए पिन असाइनमेंट दिखाती है:
पिन नं। |
पिन नाम |
विवरण |
---|---|---|
1 |
संकेत |
एनालॉग आउटपुट (0.4 ~ 2V) |
२ |
वीसीसी |
VCC (4.5 ~ 5.5V) |
३ |
GND |
GND |
अवरक्त CO2 सेंसर विनिर्देशों और विशेषताएं:
- गैस का पता लगाना: कार्बन डाइऑक्साइड (CO2)
- ऑपरेटिंग वोल्टेज: 4.5 ~ 5.5 वी डीसी
- प्रीहीटिंग टाइम: 3 मिनट
- प्रतिक्रिया समय: 120s
- ऑपरेटिंग तापमान: 0 ~ 50 ℃
- ऑपरेटिंग आर्द्रता: 0 ~ 95% आरएच (कोई संक्षेपण नहीं)
- निविड़ अंधकार और विरोधी जंग
- उच्च चक्र जीवन
- विरोधी जल वाष्प हस्तक्षेप
0.96 'ओएलईडी डिस्प्ले मॉड्यूल
ओएलईडी (ऑर्गेनिक लाइट-एमिटिंग डायोड्स) एक स्व-प्रकाश-उत्सर्जक तकनीक है, जिसे दो कंडक्टरों के बीच कार्बनिक पतली फिल्मों की एक श्रृंखला रखकर बनाया गया है। जब इन फिल्मों पर बिजली का करंट लगाया जाता है तो एक तेज रोशनी पैदा होती है। OLEDs टेलीविज़न के समान तकनीक का उपयोग कर रहे हैं, लेकिन हमारे अधिकांश टीवी की तुलना में कम पिक्सेल हैं।
इस परियोजना के लिए, हम एक मोनोक्रोम 7-पिन SSD1306 0.96 "OLED डिस्प्ले का उपयोग कर रहे हैं। यह तीन अलग-अलग संचार प्रोटोकॉल पर काम कर सकता है: SPI 3 वायर मोड, SPI फोर-वायर मोड और I2C मोड। पिन और इसके कार्यों को नीचे दी गई तालिका में समझाया गया है:
हमने पहले से ही पिछले लेख में ओएलईडी और इसके प्रकारों को विस्तार से कवर किया है।
पिन नाम |
दुसरे नाम |
विवरण |
गाण्ड |
भूमि |
मॉड्यूल का ग्राउंड पिन |
Vdd |
Vcc, 5V |
पावर पिन (3-5V सहनीय) |
SCK |
डी 0, एससीएल, सीएलके |
घड़ी की पिन के रूप में कार्य करता है। I2C और SPI दोनों के लिए उपयोग किया जाता है |
एसडीए |
डी 1, एमओएसआई |
मॉड्यूल का डेटा पिन। IIC और SPI दोनों के लिए उपयोग किया जाता है |
रेस |
RST, RESET |
मॉड्यूल रीसेट करता है (SPI के दौरान उपयोगी) |
डीसी |
ए ० |
डेटा कमांड पिन। SPI प्रोटोकॉल के लिए उपयोग किया जाता है |
सीएस |
चिप का चयन करें |
उपयोगी जब एक से अधिक मॉड्यूल SPI प्रोटोकॉल के तहत उपयोग किया जाता है |
OLED विनिर्देशों:
- OLED चालक आईसी: SSD1306
- रिज़ॉल्यूशन: 128 x 64
- दृश्य कोण:> 160 °
- इनपुट वोल्टेज: 3.3V ~ 6V
- पिक्सेल रंग: नीला
- काम कर रहे तापमान: -30 डिग्री सेल्सियस ~ 70 डिग्री सेल्सियस
लिंक का पालन करके OLED और इसके विभिन्न माइक्रोकंट्रोलर्स के साथ इंटरफेस के बारे में और जानें।
सर्किट आरेख
Arduino के लिए ग्रेविटी एनालॉग इन्फ्रारेड CO2 सेंसर को इंटरफेस करने के लिए सर्किट आरेख नीचे दिया गया है:
सर्किट बहुत सरल है क्योंकि हम केवल ग्रेविटी इन्फ्रारेड CO2 सेंसर और OLED डिस्प्ले मॉड्यूल को Arduino Nano के साथ जोड़ रहे हैं। इन्फ्रारेड सीओ 2 सेंसर और ओएलईडी डिस्प्ले मॉड्यूल दोनों 5 वी और जीएनडी के साथ संचालित हैं। CO2 सेंसर का सिग्नल (एनालॉग आउट) पिन Arduino Nano के A0 पिन से जुड़ा है। चूंकि OLED डिस्प्ले मॉड्यूल SPI संचार का उपयोग करता है, इसलिए हमने OLED मॉड्यूल और Arduino नैनो के बीच एक SPI संचार स्थापित किया है। कनेक्शन नीचे दी गई तालिका में दिखाए गए हैं:
एस.एन.ओ. |
OLED मॉड्यूल पिन |
अरुडिनो पिन |
1 |
GND |
भूमि |
२ |
वीसीसी |
5 वी |
३ |
डी ० |
१० |
४ |
डी 1 |
९ |
५ |
रेस |
१३ |
६ |
डीसी |
1 1 |
। |
सीएस |
१२ |
सर्किट आरेख के अनुसार हार्डवेयर को जोड़ने के बाद, इसे नीचे जैसा कुछ दिखना चाहिए:
CO2 एकाग्रता को मापने के लिए Arduino कोड
Arduino प्रोजेक्ट के लिए इस ग्रेविटी एनालॉग इंफ्रारेड सीओ 2 सेंसर का पूरा कोड दस्तावेज़ के अंत में दिया गया है। यहां हम कोड के कुछ महत्वपूर्ण भागों की व्याख्या कर रहे हैं।
कोड का उपयोग करता Adafruit_GFX , और Adafruit_SSD1306 पुस्तकालयों। इन पुस्तकालयों को Arduino IDE में लाइब्रेरी मैनेजर से डाउनलोड किया जा सकता है और इसे वहां से इंस्टॉल किया जा सकता है। उसके लिए, Arduino IDE खोलें और स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें पर जाएं । अब Adafruit GFX की खोज करें और Adafruit द्वारा Adafruit GFX लाइब्रेरी स्थापित करें ।
इसी तरह, Adafruit SSD1306 पुस्तकालयों को Adafruit द्वारा स्थापित करें । इन्फ्रारेड सीओ 2 सेंसर को किसी भी पुस्तकालय की आवश्यकता नहीं होती है क्योंकि हम सीधे Arduino के एनालॉग पिन से वोल्टेज मान पढ़ रहे हैं।
Arduino IDE को लाइब्रेरी स्थापित करने के बाद, आवश्यक लाइब्रेरी फ़ाइलों को शामिल करके कोड शुरू करें। डस्ट सेंसर को किसी भी लाइब्रेरी की आवश्यकता नहीं होती है क्योंकि रीडिंग सीधे Arduino के एनालॉग पिन से ली जाती है।
#शामिल
फिर, ओएलईडी चौड़ाई और ऊंचाई को परिभाषित करें। इस परियोजना में, हम 128 × 64 SPI OLED डिस्प्ले का उपयोग कर रहे हैं। आप बदल सकते हैं SCREEN_WIDTH , और SCREEN_HEIGHT अपने प्रदर्शन के अनुसार चर।
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64
फिर एसपीआई संचार पिन को परिभाषित करें जहां ओएलईडी डिस्प्ले जुड़ा हुआ है।
#define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13
फिर, एसपीआई संचार प्रोटोकॉल के साथ पहले से परिभाषित चौड़ाई और ऊंचाई के साथ एक प्रवेश प्रदर्शन उदाहरण बनाएं।
Adafruit_SSD1306 प्रदर्शन (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
उसके बाद, Arduino पिन को परिभाषित करें जहां CO2 सेंसर जुड़ा हुआ है।
int SensIn = A0;
अब सेटअप () फ़ंक्शन के अंदर, डिबगिंग उद्देश्यों के लिए 9600 की बॉड दर पर सीरियल मॉनिटर को इनिशियलाइज़ करें। इसके अलावा, प्रारंभ () फ़ंक्शन के साथ OLED प्रदर्शन को आरम्भ करें ।
सीरियल.बेगिन (9600); display.begin (SSD1306_SWITCHCAPVCC); analogReference (DEFAULT);
लूप () फ़ंक्शन के अंदर, पहले एनालॉगराइड () फ़ंक्शन को कॉल करके Arduino के एनालॉग पिन पर सिग्नल मान पढ़ें । उसके बाद, इन एनालॉग सिग्नल मानों को वोल्टेज मानों में परिवर्तित करें।
शून्य लूप () {int SensValue = analogRead (SensIn); फ्लोट वोल्टेज = सेंसरवैलू * (5000 / 1024.0);
उसके बाद, वोल्टेज मानों की तुलना करें। यदि वोल्टेज 0 V है, तो इसका मतलब है कि सेंसर के साथ कुछ समस्या हुई है। यदि वोल्टेज 0 V से अधिक है, लेकिन 400 V से कम है, तो इसका मतलब है कि सेंसर अभी भी प्री-हीटिंग प्रक्रिया में है।
if (वोल्टेज == 0) {Serial.println ("Fault"); } और अगर (वोल्टेज <400) {Serial.println ("प्रीहेटिंग"); }
यदि वोल्टेज 400 V के बराबर या अधिक है, तो इसे CO2 एकाग्रता मूल्यों में परिवर्तित करें।
और {int voltage_diference = वोल्टेज -400; फ्लोट एकाग्रता = वोल्टेज_डिफरेंस * 50.0 / 16.0;
उसके बाद, setTextSize () और setTextColor () का उपयोग करके टेक्स्ट का आकार और टेक्स्ट का रंग सेट करें ।
display.setTextSize (1); display.setTextColor (WHITE);
फिर अगली पंक्ति में, उस स्थिति को परिभाषित करें जहां पाठ सेटसर्सर (x, y) विधि का उपयोग करना शुरू करता है । और OLED डिस्प्ले पर CO2 मानों को प्रिंट करें । display.println () फ़ंक्शन का उपयोग करें ।
display.println ("CO2"); display.setCursor (63,43); display.println ("(PPM)"); display.setTextSize (2); display.setCursor (28,5); display.println (एकाग्रता);
और आखिरी में, OLED डिस्प्ले पर टेक्स्ट प्रदर्शित करने के लिए डिस्प्ले () विधि को कॉल करें ।
display.display (); display.clearDisplay ();
ग्रेविटी इन्फ्रारेड सीओ 2 सेंसर के इंटरफेसिंग का परीक्षण
एक बार हार्डवेयर और कोड तैयार होने के बाद, सेंसर का परीक्षण करने का समय आ गया है। उसके लिए, Arduino को लैपटॉप से कनेक्ट करें, बोर्ड और पोर्ट चुनें, और अपलोड बटन दबाएं। फिर अपने सीरियल मॉनिटर को खोलें और कुछ समय (प्रीहीट प्रक्रिया) के लिए प्रतीक्षा करें, फिर आप अंतिम डेटा देखेंगे।
नीचे दिखाए अनुसार मानों को OLED प्रदर्शन पर प्रदर्शित किया जाएगा:
नोट: सेंसर का उपयोग करने से पहले, सही पीपीएम मान प्राप्त करने के लिए सेंसर को लगभग 24 घंटे हीट-अप करें। जब मैंने पहली बार सेंसर को संचालित किया था, तो आउटपुट सीओ 2 एकाग्रता 1500 पीपीएम से 1700 पीपीएम तक थी और 24 घंटे के हीट-अप प्रक्रिया के बाद, आउटपुट सीओ 2 एकाग्रता घटकर 450 पीपीएम से 500 पीपीएम हो गई जो कि सही पीपीएम मान हैं। तो सीओ 2 एकाग्रता को मापने के लिए इसका उपयोग करने से पहले सेंसर को कैलिब्रेट करना आवश्यक है।
यह कैसे एक इन्फ्रारेड CO2 सेंसर हवा में सटीक CO2 एकाग्रता को मापने के लिए इस्तेमाल किया जा सकता है। पूरा कोड और काम करने का वीडियो नीचे दिया गया है। यदि आपको कोई संदेह है, तो उन्हें टिप्पणी अनुभाग में छोड़ दें या तकनीकी सहायता के लिए हमारे मंचों का उपयोग करें।