- अवयव आवश्यक
- नोवा पीएम सेंसर SDS011
- 0.96 'ओएलईडी डिस्प्ले मॉड्यूल
- वायु गुणवत्ता विश्लेषक के लिए सर्किट आरेख
- परफेक्ट बोर्ड पर सर्किट का निर्माण
- वायु गुणवत्ता मॉनिटर के लिए कोड स्पष्टीकरण
- Arduino वायु गुणवत्ता मॉनिटर परीक्षण
वायु प्रदूषण कई शहरों में एक प्रमुख मुद्दा है और वायु गुणवत्ता सूचकांक हर दिन खराब हो रहा है। विश्व स्वास्थ्य संगठन की रिपोर्ट के अनुसार, कार दुर्घटनाओं की तुलना में हवा में प्रस्तुत खतरनाक कणों के प्रभाव से समय से पहले अधिक लोग मारे जाते हैं। पर्यावरण संरक्षण एजेंसी (ईपीए) के अनुसार, इनडोर हवा बाहरी हवा की तुलना में 2 से 5 गुना अधिक विषाक्त हो सकती है। इसलिए यहां हम हवा में PM2.5 और PM10 कणों को मापकर वायु की गुणवत्ता की निगरानी के लिए एक उपकरण का निर्माण करते हैं।
हमने पहले वायु गुणवत्ता की निगरानी के लिए MQ135 गैस सेंसर और हवा में धूल के घनत्व को मापने के लिए तीव्र GP2Y1014AU0F सेंसर का उपयोग किया था। इस बार हम एयर क्वालिटी एनालाइजर बनाने के लिए Arduino Nano के साथ SDS011 सेंसर का इस्तेमाल कर रहे हैं । SDS011 सेंसर हवा में PM2.5 और PM10 कणों की सांद्रता की गणना कर सकते हैं। यहां वास्तविक समय PM2.5 और PM 10 मान OLED डिस्प्ले पर प्रदर्शित किए जाएंगे।
अवयव आवश्यक
- अरुडिनो नैनो
- नोवा पीएम सेंसर SDS011
- 0.96 'एसपीआई OLED डिस्प्ले मॉड्यूल
- जम्पर तार
नोवा पीएम सेंसर SDS011
SDS011 सेंसर नोवा फिटनेस द्वारा विकसित एक बहुत ही हाल का वायु गुणवत्ता सेंसर है। यह लेजर बिखरने के सिद्धांत पर काम करता है और हवा में 0.3 से 10μm के बीच कण एकाग्रता प्राप्त कर सकता है। इस सेंसर में एक छोटा सा पंखा, एयर इनलेट वाल्व, लेज़र डायोड और फोटोडायोड होते हैं। हवा इनलेट के माध्यम से प्रवेश करती है जहां एक प्रकाश स्रोत (लेजर) कणों को रोशन करता है और बिखरे हुए प्रकाश को एक फोटोडेटेक्टर द्वारा सिग्नल में बदल दिया जाता है। इन संकेतों को तब प्रवर्धित किया जाता है और PM2.5 और PM10 के कण सांद्रता प्राप्त करने के लिए संसाधित किया जाता है।
SDS011 सेंसर विनिर्देशों:
- आउटपुट: पीएम 2.5, पीएम 10
- मापने की सीमा: 0.0-999.9μg / m3
- इनपुट वोल्टेज: 4.7V से 5.3V
- अधिकतम वर्तमान: 100mA
- नींद की वर्तमान: 2mA
- प्रतिक्रिया समय: 1 सेकंड
- सीरियल डेटा आउटपुट फ्रीक्वेंसी: 1 बार / सेकंड
- कण व्यास रिज़ॉल्यूशन: m 0.3μm
- सापेक्ष त्रुटि: 10%
- तापमान रेंज: -20 ~ 50 डिग्री सेल्सियस
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 विनिर्देशों:
- OLED चालक आईसी: SSD1306
- रिज़ॉल्यूशन: 128 x 64
- दृश्य कोण:> 160 °
- इनपुट वोल्टेज: 3.3V ~ 6V
- पिक्सेल रंग: नीला
- काम कर रहे तापमान: -30 डिग्री सेल्सियस ~ 70 डिग्री सेल्सियस
लिंक का पालन करके OLED और इसके विभिन्न माइक्रोकंट्रोलर्स के साथ इंटरफेस के बारे में और जानें।
वायु गुणवत्ता विश्लेषक के लिए सर्किट आरेख
Arduino का उपयोग करके PM2.5 और PM10 कणों को मापने के लिए सर्किट आरेख बहुत सरल है और नीचे दिया गया है।
SDS011 सेंसर और OLED डिस्प्ले मॉड्यूल दोनों ही 5V और GND के साथ संचालित हैं। SDS011 के ट्रांसमीटर और रिसीवर पिन Arduino नैनो के डी 3 और डी 4 पिन से जुड़े हैं। चूंकि OLED डिस्प्ले मॉड्यूल SPI संचार का उपयोग करता है, इसलिए हमने OLED मॉड्यूल और Arduino नैनो के बीच एक SPI संचार स्थापित किया है। कनेक्शन नीचे दी गई तालिका में दिखाए गए हैं:
एस.एन.ओ. |
OLED मॉड्यूल पिन |
अरुडिनो पिन |
1 |
GND |
भूमि |
२ |
वीसीसी |
5 वी |
३ |
डी ० |
१० |
४ |
डी 1 |
९ |
५ |
रेस |
१३ |
६ |
डीसी |
1 1 |
। |
सीएस |
१२ |
परफेक्ट बोर्ड पर सर्किट का निर्माण
मैंने इसे साफ-सुथरा बनाने के लिए परफ़ेक्ट बोर्ड के सभी घटकों को भी मिलाया है। लेकिन आप इन्हें ब्रेडबोर्ड पर भी बना सकते हैं। मेरे द्वारा बनाए गए बोर्ड नीचे हैं। टांका लगाते समय, सुनिश्चित करें कि आप तारों को सॉर्ट नहीं करते हैं। मेरे द्वारा मिलाया गया पूर्ण बोर्ड नीचे दिखाया गया है:
वायु गुणवत्ता मॉनिटर के लिए कोड स्पष्टीकरण
इस परियोजना का पूरा कोड दस्तावेज़ के अंत में दिया गया है। यहां हम कोड के कुछ महत्वपूर्ण भागों की व्याख्या कर रहे हैं।
कोड का उपयोग करता SDS011, Adafruit_GFX , और Adafruit_SSD1306 पुस्तकालयों। इन पुस्तकालयों को Arduino IDE में लाइब्रेरी मैनेजर से डाउनलोड किया जा सकता है और वहां से इंस्टॉल किया जा सकता है। उसके लिए, Arduino IDE खोलें और स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें पर जाएं । अब SDS011 की खोज करें और R. Zschiegner द्वारा SDS सेंसर लाइब्रेरी स्थापित करें ।
इसी तरह, Adafruit GFX और Adafruit SSD1306 पुस्तकालयों को Adafruit द्वारा स्थापित करें ।
Arduino IDE को लाइब्रेरी स्थापित करने के बाद, आवश्यक लाइब्रेरी फ़ाइलों को शामिल करके कोड शुरू करें।
#शामिल
अगली पंक्तियों में, PM10 और PM2.5 मूल्यों को संग्रहीत करने के लिए दो चर को परिभाषित करें।
फ्लोट पी 10, पी 25;
फिर, ओएलईडी चौड़ाई और ऊंचाई को परिभाषित करें। इस परियोजना में, हम 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);
अब सेटअप () फ़ंक्शन के अंदर, डिबगिंग उद्देश्यों के लिए 9600 की बॉड दर पर सीरियल मॉनिटर को इनिशियलाइज़ करें। इसके अलावा, प्रारंभ () फ़ंक्शन के साथ OLED डिस्प्ले और SDS011 सेंसर को प्रारंभ करें ।
my_sds.begin (3,4); सीरियल.बेगिन (9600); display.begin (SSD1306_SWITCHCAPVCC);
शून्य लूप () के अंदर , SDS011 सेंसर से PM10 और PM2.5 मान पढ़ें और सीरियल मॉनिटर पर रीडिंग प्रिंट करें।
शून्य लूप () {त्रुटि = my_sds.read (& p25, & p10); if (त्रुटि) {Serial.println ("P2.5:" + स्ट्रिंग (p25)); सीरीयल.प्रिंट ("पी 10:" + स्ट्रिंग (पी 10));
उसके बाद, setTextSize () और setTextColor () का उपयोग करके टेक्स्ट का आकार और टेक्स्ट का रंग सेट करें ।
display.setTextSize (2); display.setTextColor (WHITE);
फिर अगली पंक्ति में, setCursor (x, y) विधि का उपयोग करके पाठ शुरू करने की स्थिति को परिभाषित करें । यहां हम OLED प्रदर्शन पर PM2.5 और PM10 मान प्रदर्शित करेंगे, इसलिए पहली पंक्ति (0,15) शुरू होती है, जबकि दूसरी पंक्ति (0, 40) निर्देशांक पर शुरू होती है।
display.setCursor (0,15); display.println ("PM2.5"); display.setCursor (67,15); display.println (p25); display.setCursor (0,40); display.println ("PM10"); display.setCursor (67,40); display.println (p10);
और अंत में, OLED डिस्प्ले पर टेक्स्ट प्रदर्शित करने के लिए डिस्प्ले () विधि को कॉल करें ।
display.display (); display.clearDisplay ();
Arduino वायु गुणवत्ता मॉनिटर परीक्षण
एक बार हार्डवेयर और कोड तैयार होने के बाद, डिवाइस का परीक्षण करने का समय आ गया है। उसके लिए, Arduino को लैपटॉप से कनेक्ट करें, बोर्ड और पोर्ट चुनें, और अपलोड बटन दबाएं। जैसा कि आप नीचे की छवि में देख सकते हैं, यह OLED डिस्प्ले पर PM2.5 और PM10 मान प्रदर्शित करेगा।
पूर्ण कार्य वीडियो और कोड नीचे दिए गए हैं। आशा है कि आपने ट्यूटोरियल का आनंद लिया और कुछ उपयोगी सीखा। यदि आपके कोई प्रश्न हैं, तो उन्हें टिप्पणी अनुभाग में छोड़ दें या अन्य तकनीकी प्रश्नों के लिए हमारे मंचों का उपयोग करें।