- आवश्यक घटक:
- LM35 तापमान सेंसर:
- NodeMCU के साथ LM35 को जोड़ना:
- कोड स्पष्टीकरण:
- HTML कोड वेबपेज पर तापमान प्रदर्शित करने के लिए:
- काम कर रहे:
NodeMCU ट्यूटोरियल के साथ पिछली शुरुआत में, हमने देखा कि NodeMCU क्या है और हम Arduino IDE का उपयोग करके इसे कैसे प्रोग्राम कर सकते हैं । जैसा कि आप जानते हैं कि NodeMCU के अंदर वाई-फाई चिप है, इसलिए यह इंटरनेट से भी जुड़ सकता है। यह IoT प्रोजेक्ट्स बनाने के लिए बहुत उपयोगी है। हमने पहले IoT थर्मामीटर बनाने के लिए Arduino के साथ ThingSpeak का उपयोग किया था, लेकिन यहां हम तापमान प्रदर्शित करने के लिए अपना खुद का वेबपेज बनाएंगे।
इस ट्यूटोरियल में हम इस दिलचस्प MCU के बारे में अधिक जानकारी प्राप्त करेंगे और धीरे-धीरे हम NodeMCU को इंटरनेट के साथ जोड़कर चीजों की दुनिया में इंटरनेट पर गोता लगाएँगे। यहां हम वेब ब्राउजर पर कमरे के तापमान को प्राप्त करने के लिए इस मॉड्यूल का उपयोग करेंगे। हम LM35 का उपयोग करके तापमान को प्रदर्शित करने के लिए एक वेब सर्वर बनाएंगे ।
आवश्यक घटक:
- NodeMCU - ESP12
- LM35 तापमान सेंसर
- ब्रेड बोर्ड
- पुरुष-महिला कनेक्टर
LM35 तापमान सेंसर:
LM35 एक एनालॉग लीनियर तापमान सेंसर है। इसका उत्पादन तापमान (डिग्री सेल्सियस में) के समानुपाती होता है। ऑपरेटिंग तापमान रेंज -55 डिग्री सेल्सियस से 150 डिग्री सेल्सियस तक है। तापमान में हर ओ C वृद्धि या गिरावट के जवाब में आउटपुट वोल्टेज 10mV से भिन्न होता है । यह 5 वी के साथ-साथ 3.3 वी आपूर्ति से संचालित किया जा सकता है और वर्तमान द्वारा स्टैंड 60uA से कम है।
ध्यान दें कि LM35 3 श्रृंखला भिन्नताओं में उपलब्ध है, जैसे LM35A, LM35C और LM35D श्रृंखला। मुख्य अंतर उनके तापमान माप की सीमा में है। LM35D श्रृंखला 0 से 100 डिग्री सेल्सियस को मापने के लिए डिज़ाइन की गई है, जहां LM35A श्रृंखला को -55 से 155 डिग्री सेल्सियस की व्यापक रेंज को मापने के लिए डिज़ाइन किया गया है। LM35C श्रृंखला को -40 से 110 डिग्री सेल्सियस तक मापने के लिए डिज़ाइन किया गया है।
हमने पहले ही तापमान को मापने के लिए कई अन्य माइक्रोकंट्रोलरों के साथ LM35 का उपयोग किया है:
- LM35 और 8051 माइक्रोकंट्रोलर का उपयोग कर डिजिटल थर्मामीटर
- LM35 और AVR माइक्रोकंट्रोलर का उपयोग करके तापमान मापन
- Arduino और LM35 तापमान सेंसर का उपयोग कर डिजिटल थर्मामीटर
- रास्पबेरी पाई के साथ कमरे का तापमान माप
NodeMCU के साथ LM35 को जोड़ना:
LM35 को NodeMCU से जोड़ने के लिए सर्किट आरेख नीचे दिया गया है:
LM35 एक एनालॉग सेंसर है इसलिए हमें इस एनालॉग आउटपुट को डिजिटल में बदलना होगा। इसके लिए हम NodeMCU के ADC पिन का उपयोग करते हैं जिसे A0 के रूप में परिभाषित किया गया है। हम LM35 के आउटपुट को A0 से जोड़ेंगे।
NodeMCU के पिन पर आउटपुट वोल्टेज के रूप में हमारे पास 3.3 V है। इसलिए, हम LMV के लिए VV के रूप में 3.3V का उपयोग करेंगे।
कोड स्पष्टीकरण:
प्रदर्शन वीडियो के साथ पूरा कोड लेख के अंत में दिया गया है। यहां हम कोड के कुछ हिस्सों की व्याख्या कर रहे हैं। हमने पहले ही Arduino IDE का उपयोग करके MCU में कोड अपलोड करने के लिए समझाया।
सबसे पहले, हमें वाई-फाई फ़ंक्शन का उपयोग करने के लिए ESP8266wifi लाइब्रेरी को शामिल करना होगा।
#शामिल
फिर ssid और पासवर्ड फ़ील्ड में अपना वाई-फाई नाम और पासवर्ड दर्ज करें । इसके अलावा चर को इनिशियलाइज़ किया और बॉड दर 115200 के साथ पोर्ट 80 पर सर्वर शुरू किया।
const char * ssid = "*********"; // आपका ssid const char * password = "***********"; // आपका पासवर्ड अस्थायी अस्थायी = 0 °; फ्लोट टेम्पप_फैरेनहाइट = 0; वाईफाई सर्वर सर्वर (80); शून्य सेटअप () { Serial.begin (115200);
इन कार्यों को कॉल करके वाई-फाई का कनेक्शन स्थापित किया जाता है।
धारावाहिक.प्रदर्शन (); धारावाहिक.प्रदर्शन (); Serial.print ("कनेक्ट करना"); सिरियल.प्रिंट (ssid); WiFi.begin (ssid, पासवर्ड);
कनेक्शन स्थापित होने में कुछ सेकंड लग सकते हैं, इसलिए जब तक कनेक्शन स्थापित नहीं होगा, तब तक 'दिखाते रहें'। तब सिस्टम एक ग्राहक को जोड़ने के लिए प्रतीक्षा और जाँच करता रहेगा…
जबकि (WiFi.status ()! = WL_CONNECTED) { विलंब (500); सीरियल.प्रिंट ("।"); } Serial.println (""); Serial.println ("वाईफाई जुड़ा हुआ है"); server.begin (); Serial.println ("सर्वर शुरू हुआ"); Serial.println (WiFi.localIP ()); }
में पाश अनुभाग, सेंसर मूल्यों पढ़ सकते हैं और यह सेल्सियस और फारेनहाइट में तब्दील और सीरियल मॉनीटर पर इन मूल्यों को प्रदर्शित करते हैं।
शून्य लूप () { temp_c सेल्सियस = (analogRead (A0) * 330.0) / 1023.0; // एनालॉग वैल्यू को सेल्सियस में बदलने के लिए हमारे बोर्ड पर 3.3 V है और हम जानते हैं कि LM35 का आउटपुट वोल्टेज 10 mV से हर डिग्री सेल्सियस की वृद्धि / गिरावट पर भिन्न होता है। तो, (ए ० * ३३०० / १०) / १०२३ = तापमान टेम्पे_फेरेनहाइट = सेल्सियस * १..0 + ३२.०; सीरियल.प्रिंट ("तापमान ="); सीरियल.प्रिंट (टेम्प-इंच); सिरियल.प्रिंट ("सेल्सियस,");
HTML कोड वेबपेज पर तापमान प्रदर्शित करने के लिए:
हम एक वेबपेज पर तापमान प्रदर्शित कर रहे हैं ताकि यह इंटरनेट के माध्यम से दुनिया में कहीं से भी पहुँचा जा सके। HTML कोड बहुत सरल है; HTML कोड की प्रत्येक पंक्ति को प्रतिध्वनित करने के लिए हमें बस client.println फ़ंक्शन का उपयोग करना होगा , ताकि ब्राउज़र इसे निष्पादित कर सके।
यह भाग एक वेब पेज बनाने के लिए HTML कोड दिखाता है जो तापमान मान प्रदर्शित करता है।
WiFiClient क्लाइंट = server.available (); client.println ("HTTP / 1.1 200 OK"); client.println ("सामग्री-प्रकार: पाठ / html"); client.println ("कनेक्शन: करीब"); // प्रतिक्रिया क्लाइंट के पूरा होने के बाद कनेक्शन बंद कर दिया जाएगा। प्रिंट ("रिफ्रेश: 10"); // 10 सेकंड के बाद पेज को अपडेट करें client.println (); client.println (""); client.println (""); client.print ("
डिजिटल थर्मामीटर
"), client.print ("तापमान (* C) = "); client.println (temp_c सेल्सियस); client.print (")
तापमान (F) = "); client.println (temp_fahrenheit); client.print ("
"); Client.println (" "); देरी (5000); }काम कर रहे:
Arduino IDE का उपयोग करके कोड अपलोड करने के बाद, सीरियल मॉनिटर खोलें और NodeMCU पर रीसेट बटन दबाएं।
अब, आप देख सकते हैं कि बोर्ड वाई-फाई नेटवर्क से जुड़ा है जिसे आपने अपने कोड में परिभाषित किया है और आपको आईपी भी मिला है। इस आईपी को कॉपी करें और किसी भी वेब ब्राउजर में पेस्ट करें। सुनिश्चित करें कि आपका सिस्टम जिस पर आप वेब ब्राउज़र चला रहे हैं, उसी नेटवर्क से जुड़ा होना चाहिए।
आपका डिजिटल थर्मामीटर तैयार है और हर 10 सेकंड के बाद वेब ब्राउजर में तापमान अपने आप रिफ्रेश हो जाएगा ।
इस वेबपृष्ठ को इंटरनेट से सुलभ बनाने के लिए, आपको बस राउटर / मॉडेम में पोर्ट फ़ॉरवर्डिंग सेट करना होगा । चेक पूरा कोड और वीडियो के नीचे।
यह भी जांचें:
- रास्पबेरी पाई मौसम स्टेशन: निगरानी आर्द्रता, तापमान और इंटरनेट पर दबाव
- Arduino और ThingSpeak का उपयोग करके इंटरनेट पर लाइव तापमान और आर्द्रता की निगरानी