- अवयव आवश्यक
- 0.96 'ओएलईडी डिस्प्ले मॉड्यूल
- MQ-135 सेंसर तैयार करना
- सर्किट आरेख Arduino के साथ इंटरफेस MQ135 के लिए
- आर की गणना
- Arduino MQ135 सेंसर का उपयोग करके CO2 को मापने के लिए कोड
- MQ-135 सेंसर के इंटरफेसिंग का परीक्षण
पृथ्वी का वायुमंडलीय CO2 स्तर दिन-प्रतिदिन बढ़ता जा रहा है। 2019 में वैश्विक औसत वायुमंडलीय कार्बन डाइऑक्साइड 409.8 प्रति मिलियन था और अक्टूबर-2020 में यह 411.29 है। कार्बन डाइऑक्साइड एक प्रमुख ग्रीनहाउस गैस है और उत्सर्जन के लगभग तीन-चौथाई के लिए जिम्मेदार है। इसलिए CO2 स्तर की निगरानी को भी महत्व मिलना शुरू हो गया है।
हमारी पिछली परियोजना में, हमने हवा में सीओ 2 एकाग्रता को मापने के लिए ग्रेविटी इन्फ्रारेड सीओ 2 सेंसर का उपयोग किया था। इस परियोजना में, हम CO2 एकाग्रता को मापने के लिए Arduino के साथ एक MQ-135 सेंसर का उपयोग करने जा रहे हैं। मापा सीओ 2 सांद्रता मान OLED मॉड्यूल पर प्रदर्शित किया जाएगा और पिछले हम इन्फ्रारेड CO2 सेंसर रीडिंग के साथ Arduino MQ-135 सेंसर रीडिंग की भी तुलना करेंगे । CO2 के अलावा, हमने Arduino का उपयोग करके LPG, स्मोक और अमोनिया गैस की सांद्रता को भी मापा है।
अवयव आवश्यक
- अरुडिनो नैनो
- MQ-135 सेंसर
- जम्पर तार
- 0.96 'एसपीआई OLED डिस्प्ले मॉड्यूल
- ब्रेड बोर्ड
- 22K 22 रोकनेवाला
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 डिग्री सेल्सियस
MQ-135 सेंसर तैयार करना
MQ-135 गैस सेंसर NH3, NOx, शराब, बेंजीन, धुआं और CO2 सहित गैसों की एक विस्तृत श्रृंखला का पता लगाने के लिए एक वायु गुणवत्ता सेंसर है। MQ-135 सेंसर या तो एक मॉड्यूल के रूप में या केवल एक सेंसर के रूप में खरीदा जा सकता है। इस परियोजना में, हम पीपीएम में सीओ 2 एकाग्रता को मापने के लिए एक एमक्यू -135 सेंसर मॉड्यूल का उपयोग कर रहे हैं। MQ-135 बोर्ड के लिए सर्किट आरेख नीचे दिया गया है:
सेंसर को काम करने में लोड अवरोधक आरएल बहुत महत्वपूर्ण भूमिका निभाता है। यह अवरोधक गैस की सांद्रता के अनुसार इसके प्रतिरोध मान को बदलता है। MQ-135 डेटाशीट के अनुसार, लोड रेसिस्टर मूल्य 10K 47 से 47KΩ तक कहीं भी हो सकता है। डेटाशीट अनुशंसा करता है कि आप हवा में 100ppm NH3 या 50ppm अल्कोहल एकाग्रता के लिए डिटेक्टर को कैलिब्रेट करते हैं और लगभग 20 KΩ के लोड प्रतिरोध (RL) के मान का उपयोग करते हैं। लेकिन यदि आप बोर्ड में अपने आरएल के मूल्य को खोजने के लिए अपने पीसीबी के निशान को ट्रैक करते हैं, तो आप 1KΩ (102) लोड लोडर देख सकते हैं।
तो उपयुक्त सीओ 2 एकाग्रता मूल्यों को मापने के लिए, आपको 1Kor रोकनेवाला को 22KΩ रोकनेवाला के साथ बदलना होगा।
सर्किट आरेख Arduino के साथ इंटरफेस MQ135 के लिए
Arduino के साथ MQ-135 गैस सेंसर को जोड़ने के लिए पूर्ण योजनाबद्ध नीचे दिए गए हैं:
सर्किट बहुत सरल है क्योंकि हम केवल MQ-135 सेंसर और OLED डिस्प्ले मॉड्यूल को Arduino Nano के साथ जोड़ रहे हैं। MQ-135 गैस सेंसर और OLED डिस्प्ले मॉड्यूल दोनों 5V और GND के साथ संचालित हैं। MQ-135 सेंसर का एनालॉग आउट पिन Arduino नैनो के A0 पिन से जुड़ा है। चूंकि OLED डिस्प्ले मॉड्यूल SPI संचार का उपयोग करता है, इसलिए हमने OLED मॉड्यूल और Arduino नैनो के बीच एक SPI संचार स्थापित किया है। कनेक्शन नीचे दी गई तालिका में दिखाए गए हैं:
एस.एन.ओ. |
OLED मॉड्यूल पिन |
अरुडिनो पिन |
1 |
GND |
भूमि |
२ |
वीसीसी |
5 वी |
३ |
डी ० |
१० |
४ |
डी 1 |
९ |
५ |
रेस |
१३ |
६ |
डीसी |
1 1 |
। |
सीएस |
१२ |
सर्किट आरेख के अनुसार हार्डवेयर को जोड़ने के बाद, Arduino MQ135 सेंसर सेटअप को नीचे जैसा कुछ दिखना चाहिए:
आर की गणना
अब जब हम आरएल के मूल्य को जानते हैं, तो आइए आगे बढ़ें कि स्वच्छ हवा में आर ओ मूल्यों की गणना कैसे करें । यहां हम हवा में सीओ 2 एकाग्रता को मापने के लिए MQ135.h का उपयोग करने जा रहे हैं। इसलिए पहले MQ-135 लाइब्रेरी डाउनलोड करें, फिर R o मानों को पढ़ने से पहले 24 घंटे के लिए सेंसर को प्रीहीट करें । प्रीहेटिंग प्रक्रिया के बाद, आर o मान पढ़ने के लिए नीचे दिए गए कोड का उपयोग करें:
#include "MQ135.h" शून्य सेटअप () {Serial.begin (9600); } शून्य लूप () {MQ135 गैस सेंसर = MQ135 (A0); // A0 फ्लोट rzero = gasSensor.getRZero () पिन करने के लिए सेंसर संलग्न करें; सिरियल.प्रिंटल (रोज़रो); देरी (1000); }
अब एक बार जब आप R o मान प्राप्त करते हैं, तो दस्तावेज़ों पर जाएं > Arduino> पुस्तकालयों> MQ135- मास्टर फ़ोल्डर और MQ135.h फ़ाइल खोलें और RLOAD & RZERO मानों को बदलें।
/// बोर्ड पर लोड प्रतिरोध #define RLOAD 22.0 /// वायुमंडलीय CO2 स्तर पर अंशांकन प्रतिरोध #define RZERO 5804.99
अब नीचे स्क्रॉल करें और वर्तमान वायुमंडलीय सीओ 2 वह यह है कि साथ ATMOCO2 मूल्य की जगह 411.29
/// अंशांकन प्रयोजनों के लिए वायुमंडलीय CO2 स्तर #define ATMOCO2 397.13
Arduino MQ135 सेंसर का उपयोग करके CO2 को मापने के लिए कोड
दस्तावेज़ के अंत में Arduino के साथ MQ-135 सेंसर को इंटरफेस करने का पूरा कोड दिया गया है। यहां हम MQ135 Arduino कोड के कुछ महत्वपूर्ण भागों की व्याख्या कर रहे हैं ।
कोड का उपयोग करता Adafruit_GFX , और Adafruit_SSD1306 , और MQ135.h पुस्तकालयों। इन पुस्तकालयों को Arduino IDE में लाइब्रेरी मैनेजर से डाउनलोड किया जा सकता है और इसे वहां से इंस्टॉल किया जा सकता है। उसके लिए, Arduino IDE खोलें और स्केच <लाइब्रेरी शामिल करें <लाइब्रेरी प्रबंधित करें पर जाएं । अब Adafruit GFX की खोज करें और Adafruit द्वारा Adafruit GFX लाइब्रेरी स्थापित करें ।
इसी तरह, Adafruit SSD1306 पुस्तकालयों को Adafruit द्वारा स्थापित करें । MQ135 पुस्तकालय यहाँ से डाउनलोड किया जा सकता है।
Arduino IDE को लाइब्रेरी स्थापित करने के बाद, आवश्यक लाइब्रेरी फ़ाइलों को शामिल करके कोड शुरू करें।
#include "MQ135.h" #include
फिर, ओएलईडी चौड़ाई और ऊंचाई को परिभाषित करें। इस परियोजना में, हम 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 पिन को परिभाषित करें जहां MQ-135 सेंसर जुड़ा हुआ है।
int SensIn = A0;
अब सेटअप () फ़ंक्शन के अंदर, डिबगिंग उद्देश्यों के लिए 9600 की बॉड दर पर सीरियल मॉनिटर को इनिशियलाइज़ करें। इसके अलावा, प्रारंभ () फ़ंक्शन के साथ OLED प्रदर्शन को आरम्भ करें ।
सीरियल.बेगिन (9600); display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay ();
लूप () फ़ंक्शन के अंदर, पहले एनालॉगराइड () फ़ंक्शन को कॉल करके Arduino के एनालॉग पिन पर सिग्नल मान पढ़ें ।
val = analogRead (A0); सिरियल.प्रिंट ("कच्चा =");
फिर अगली पंक्ति में, PPM मानों की गणना करने के लिए gasSensor.getPPM () पर कॉल करें । PPM मानों की गणना भार अवरोधक, R 0 और एनालॉग पिन से पढ़ने के लिए की जाती है।
फ्लोट ppm = gasSensor.getPPM (); सिरियल.प्रिंट ("पीपीएम:"); सिरियल.प्रिंटल (पीपीएम);
उसके बाद, setTextSize () और setTextColor () का उपयोग करके टेक्स्ट का आकार और टेक्स्ट का रंग सेट करें ।
display.setTextSize (1); display.setTextColor (WHITE);
फिर अगली पंक्ति में, उस स्थिति को परिभाषित करें जहां पाठ सेटसर्सर (x, y) विधि का उपयोग करना शुरू करता है । और OLED डिस्प्ले पर CO2 मानों को प्रिंट करें । display.println () फ़ंक्शन का उपयोग करें ।
display.setCursor (18,43); display.println ("CO2"); display.setCursor (63,43); display.println ("(PPM)"); display.setTextSize (2); display.setCursor (28,5); display.println (ppm);
और आखिरी में, OLED डिस्प्ले पर टेक्स्ट प्रदर्शित करने के लिए डिस्प्ले () विधि को कॉल करें ।
display.display (); display.clearDisplay ();
MQ-135 सेंसर के इंटरफेसिंग का परीक्षण
एक बार हार्डवेयर और कोड तैयार होने के बाद, सेंसर का परीक्षण करने का समय आ गया है। उसके लिए, Arduino को लैपटॉप से कनेक्ट करें, बोर्ड और पोर्ट चुनें, और अपलोड बटन दबाएं। फिर अपने सीरियल मॉनिटर को खोलें और कुछ समय (प्रीहीट प्रक्रिया) के लिए प्रतीक्षा करें, फिर आप अंतिम डेटा देखेंगे। नीचे दिखाए अनुसार मानों को OLED प्रदर्शन पर प्रदर्शित किया जाएगा:
यह कैसे एक MQ-135 सेंसर का उपयोग हवा में सटीक CO2 को मापने के लिए किया जा सकता है। पूरा MQ135 एयर क्वालिटी सेंसर Arduino Code और वर्किंग वीडियो नीचे दिया गया है। यदि आपको कोई संदेह है, तो उन्हें टिप्पणी अनुभाग में छोड़ दें।