विषयसूची:
- चरण 1: आइटम सूची
- चरण 2: सापेक्ष परिचय
- चरण 3: सर्किट कनेक्ट करें
- चरण 4: संकलन के लिए तैयार करें
- चरण 5: DHT22 सेंसर सीरियल पोर्ट के लिए टेस्ट कोड
- चरण 6: परियोजना के लिए कोड
- चरण 7: विवरण
वीडियो: Arduino UNO का उपयोग कर मौसम स्टेशन: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
के द्वारा बनाई गई: हेज़ल यांगो
यह प्रोजेक्ट डेटा प्रवाह को नियंत्रित करने के लिए Arduino UNO बोर्ड का उपयोग करने वाला एक मौसम स्टेशन है, डेटा एकत्र करने के लिए एक DHT22 सेंसर और डेटा दिखाने के लिए एक OLED स्क्रीन है।
चरण 1: आइटम सूची
1. स्क्रीन: OLED, 1.3 डिस्प्ले SH1106, I2C सफेद रंग ---- PID: 18283
2. सेंसर: डिजिटल आर्द्रता और तापमान सेंसर DHT22 ---- PID: 7375
3. जोड़ता है: जम्पर तार ---- पीआईडी: 10316 या 10318 या 10312 (लंबाई पर निर्भर करता है) या आप ठोस तार 22 एडब्ल्यूजी ---- पीआईडी: 22490 का उपयोग कर सकते हैं
ब्रेडबोर्ड ---- पीआईडी: 10686 या 10698 या 103142 (आकार पर निर्भर करता है)
4. पावर: यह केबल केवल कंप्यूटर यूएसबी पोर्ट से कनेक्ट हो सकती है और केबल का उपयोग आईडीई और Arduino बोर्ड के बीच डेटा ट्रांसफर के लिए भी किया जाता है। USB केबल, A से B, M/M, 0.5M (1.5FT) ---- PID: 29862
या आप इसका उपयोग बोर्ड को पावर देने के लिए कर सकते हैं: 5V 2A AC/DC अडैप्टर ---- PID: 10817।
चरण 2: सापेक्ष परिचय
स्क्रीन का परिचय: 1.3 ओएलईडी डिस्प्ले व्हाइट
1. आप मूल सेटअप और विवरण दिखाने वाला दस्तावेज़ पा सकते हैं:
सेंसर का परिचय: आर्द्रता और तापमान सेंसर DHT22 1. आप विवरण दिखाने वाला दस्तावेज़ पा सकते हैं:
चरण 3: सर्किट कनेक्ट करें
DHT22 सेंसर सीरियल डेटा को पिन 2 पर भेजता है। इसलिए, दूसरे पिन को बाईं ओर से कनेक्ट करें, "SDA" पिन को पिन 2 से जोड़ा जाना चाहिए।
SSH1106 डिस्प्ले के लिए, यह ट्रांसमिट करने के लिए एनालॉग पिन का उपयोग करता है। स्क्रीन की सर्किटरी Arduino के "A5" के लिए "SCL" पिन और Arduino के "A4" के लिए "SDA" पिन होगी। जबकि पिक्सेल स्थिति डेटा लगातार संचारित हो रहा है, प्रोग्राम में डिस्प्ले फ़ंक्शन केवल सेंसर से डेटा को पढ़ने पर हर बार कमांड को ट्रिगर करता है।
सेंसर और स्क्रीन दोनों Arduino पर DC पावर इनपुट के रूप में 3.3V को पावर देने के लिए उपयोग कर सकते हैं। सत्ता के लिए, हमें दोनों "वीसीसी" पिन को Arduino के "3.3V" से कनेक्ट करने की आवश्यकता है। और "GND" पिन को केवल Arduino बोर्ड पर "GND" पिन से जोड़ा जा सकता है।
USB A से B केबल का उपयोग करें, अरुडिनो को कंप्यूटर से कनेक्ट करें।
चरण 4: संकलन के लिए तैयार करें
Olikraus से SSH1106 स्क्रीन के लिए "u8glib"।
Adafruit के DHT22 सेंसर के लिए "DHT सेंसर लाइब्रेरी"। आपको दो लाइब्रेरी डाउनलोड करनी चाहिए: DHT22 सेंसर लाइब्रेरी:
U8glib:
और उन्हें अनज़िप करने के लिए IDE में "लाइब्रेरी प्रबंधित करें" का उपयोग करें। पुस्तकालयों के प्रबंधन का ऑनलाइन निर्देश:
चरण 5: DHT22 सेंसर सीरियल पोर्ट के लिए टेस्ट कोड
DHT22 सेंसर सीरियल पोर्ट के लिए टेस्ट कोइ (जो DHT22 लाइब्रेरी के अंदर है >> उदाहरण):
(आप इस भाग को छोड़ सकते हैं।)
यह सिर्फ DHT22 सेंसर का परीक्षण करने के लिए सामान्य रूप से डेटा पढ़ता है।
#शामिल
#शामिल
#शामिल
#शामिल
#शामिल
#DHTPIN 2 परिभाषित करें
#DHTTYPE DHT22 को परिभाषित करें
डीएचटी डीएचटी (डीएचटीपीआईएन, डीएचटीटीपीई);
व्यर्थ व्यवस्था() {
सीरियल.बेगिन (९६००);
Serial.println (एफ ("डीएचटी 22 टेस्ट!"));
dht.begin ();
}
शून्य लूप () {
// माप के बीच कुछ सेकंड प्रतीक्षा करें।
देरी (2000);
// तापमान या आर्द्रता पढ़ने में लगभग 250 मिलीसेकंड लगते हैं!
// सेंसर रीडिंग 2 सेकंड तक 'पुरानी' भी हो सकती है (यह बहुत धीमा सेंसर है)
फ्लोट एच = dht.readHumidity ();
// तापमान को सेल्सियस के रूप में पढ़ें (डिफ़ॉल्ट)
फ्लोट टी = dht.readTemperature ();
// तापमान को फ़ारेनहाइट के रूप में पढ़ें (फ़ारेनहाइट = सत्य है)
फ्लोट एफ = dht.readTemperature (सच);
// जांचें कि क्या कोई पठन विफल हुआ है और जल्दी से बाहर निकलें (फिर से प्रयास करने के लिए)।
अगर (इसन (एच) || इसान (टी) || इसान (एफ)) {
Serial.println (F ("DHT सेंसर से पढ़ने में विफल!"));
वापसी;
}
// फारेनहाइट में गर्मी सूचकांक की गणना करें (डिफ़ॉल्ट)
फ्लोट hif = dht.computeHeatIndex (f, h);
// सेल्सियस में गर्मी सूचकांक की गणना करें (isFahreheit = false)
फ्लोट hic = dht.computeHeatIndex(t, h, false);
सीरियल.प्रिंट (एफ ("आर्द्रता:"));
सीरियल.प्रिंट (एच);
सीरियल.प्रिंट (एफ ("% तापमान:"));
सीरियल.प्रिंट (टी);
सीरियल.प्रिंट (एफ ("डिग्री सेल्सियस"));
सीरियल.प्रिंट (एफ);
सीरियल.प्रिंट (एफ ("डिग्री फ़ारेनहाइट हीट इंडेक्स: "));
सीरियल.प्रिंट (एचआईसी);
सीरियल.प्रिंट (एफ ("डिग्री सेल्सियस"));
सीरियल.प्रिंट (एचआईएफ);
Serial.println(F("°F"));
}
// प्रोग्राम को संकलित करने के बाद, डेटा की जांच करने के लिए टूल्स >> सीरियल मॉनिटर पर क्लिक करें।
// परीक्षण कार्यक्रम का अंत।
चरण 6: परियोजना के लिए कोड
#शामिल
#शामिल
#शामिल
#शामिल
#शामिल
#DHTPIN 2 परिभाषित करें
#DHTTYPE DHT22 परिभाषित करें
#शामिल "U8glib.h"
U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE);
DHT सेंसर (DHTPIN, DHTTYPE);
शून्य ड्रा (शून्य) {
u8g.setFont (u8g_font_unifont);
फ्लोट एच = सेंसर। रीडह्यूमिडिटी ();
// तापमान को सेल्सियस के रूप में पढ़ें (डिफ़ॉल्ट)
फ्लोट टी = सेंसर। रीडटेम्परेचर ();
// जांचें कि क्या कोई पठन विफल हुआ है और जल्दी से बाहर निकलें (फिर से प्रयास करने के लिए)।
अगर (इस्नान (एच) || इसान (टी)) {
u8g.print ("त्रुटि।");
के लिये(;;);
वापसी;
}
u8g.setPrintPos(4, 10);
u8g.print ("तापमान (सी):");
u8g.setPrintPos(4, 25);
u8g.प्रिंट (टी);
u8g.setPrintPos(4, 40);
u8g.print ("आर्द्रता (%):");
u8g.setPrintPos(4, 55);
u8g.प्रिंट (एच);
}
शून्य सेटअप (शून्य) {
u8g.setRot180 ();
सीरियल.बेगिन (९६००);
सेंसर। शुरू ();
}
शून्य लूप (शून्य) {
// चित्र लूप
u8g.firstPage ();
करना {
खींचना();
} जबकि (u8g.nextPage ());
// कुछ देरी देरी (2000) के बाद चित्र का पुनर्निर्माण करें;
}
// मुख्य कार्यक्रम का अंत।
चरण 7: विवरण
फिर, Arduino बोर्ड के लिए पिन सर्किटरी को इनिशियलाइज़ करें। क्योंकि सेंसर लाइब्रेरी को ऑब्जेक्ट घोषित करने के लिए डेटा की आवश्यकता होती है।
और आप "सीरियल.प्रिंट ()" नामक फ़ंक्शन का उपयोग करके डिजिटल पिन 2 के माध्यम से आउटपुट डेटा की निगरानी करके सेंसर के डेटा का परीक्षण कर सकते हैं। क्योंकि डेटा ट्रांसमिशन की आवृत्ति लगभग हर 2 सेकंड (जो 0.5 हर्ट्ज है) को पढ़ने में लगभग 1 है, जब Arduino IDE में प्रोग्राम किया जाता है, तो हमें लूप फ़ंक्शन के अंदर देरी को 2 सेकंड से अधिक के लिए सेट करने की आवश्यकता होती है। तो लूप फ़ंक्शन के अंदर "देरी (2000)" है। यह सुनिश्चित करता है कि डेटा बार-बार ताज़ा किया जाएगा। फ़ंक्शन "ड्रा" में, सीरियल डेटा पोर्ट से डेटा प्राप्त करें और उन्हें "रीडह्यूमिडिटी" और "रीडटेम्परेचर" फ़ंक्शंस का उपयोग करके फ्लोट नंबरों में डाल दें।
"u8glib" फ़ाइल में प्रिंट फ़ंक्शन का उपयोग करके आर्द्रता और तापमान का प्रिंट आउट लें। आप "setPrintPos" फ़ंक्शन में नंबर बदलकर स्थिति को समायोजित कर सकते हैं। प्रिंट फ़ंक्शन सीधे टेक्स्ट और नंबर दिखा सकता है।
हार्डवेयर सेट करने के लिए, सीरियल पोर्ट को 10 सेकंड की देरी दें। फिर सेंसर के लिए स्टार्ट फंक्शन को कॉल करें। मेरे सर्किट के हिसाब से मेरी स्क्रीन उलटी थी। इसलिए मैंने डिस्प्ले को घुमाने के लिए "setRot180" फ़ंक्शन भी शामिल किया।
Arduino बोर्ड का लूप फ़ंक्शन मुख्य कार्य है। यह हर बार सेंसर के रिफ्रेश होने पर टेक्स्ट और डेटा को प्रदर्शित करने के लिए ड्रॉ फंक्शन को कॉल करता रहता है।
स्क्रीन इस तरह दिखती है:
आप अपने कंप्यूटर से Arduino UNO को डिस्कनेक्ट कर सकते हैं और इसके 2.1mm पावर जैक से कनेक्ट होने वाले 5V DC पावर एडॉप्टर का उपयोग करके इसे पावर कर सकते हैं। यह प्रोग्राम को अपने ड्राइव के अंदर स्टोर करता है और संचालित होने के बाद प्रोग्राम को लगातार चला सकता है।
सिफारिश की:
ESP8266 और ESP32 DIY का उपयोग कर पेशेवर मौसम स्टेशन: 9 कदम (चित्रों के साथ)
ESP8266 और ESP32 DIY का उपयोग कर पेशेवर मौसम स्टेशन: LineaMeteoStazione एक पूर्ण मौसम स्टेशन है जिसे सेंसरियन के पेशेवर सेंसर के साथ-साथ कुछ डेविस इंस्ट्रूमेंट घटक (रेन गेज, एनीमोमीटर) के साथ इंटरफेस किया जा सकता है।
ESP8266 का उपयोग करते हुए साधारण मौसम स्टेशन: 6 कदम (चित्रों के साथ)
ESP8266 का उपयोग करते हुए सरल मौसम स्टेशन: इस निर्देश में मैं साझा कर रहा हूँ कि तापमान, दबाव, जलवायु आदि जैसे डेटा प्राप्त करने के लिए ESP8266 का उपयोग कैसे करें और YouTube डेटा जैसे सब्सक्राइबर और amp; देखे जाने की कुल संख्या. और सीरियल मॉनिटर पर डेटा प्रदर्शित करें और इसे एलसीडी पर प्रदर्शित करें। डेटा f होगा
जावा में बीएमई२८० के साथ रास्पबेरी पाई का उपयोग कर व्यक्तिगत मौसम स्टेशन: ६ कदम
जावा में बीएमई२८० के साथ रास्पबेरी पाई का उपयोग करने वाला व्यक्तिगत मौसम स्टेशन: खराब मौसम हमेशा एक खिड़की के माध्यम से खराब दिखता है। हम हमेशा अपने स्थानीय मौसम की निगरानी में रुचि रखते हैं और हम खिड़की से क्या देखते हैं। हम अपने हीटिंग और ए/सी सिस्टम पर भी बेहतर नियंत्रण चाहते थे। पर्सनल वेदर स्टेशन बनाना एक शानदार
DIY मौसम स्टेशन और वाईफाई सेंसर स्टेशन: 7 कदम (चित्रों के साथ)
DIY मौसम स्टेशन और वाईफाई सेंसर स्टेशन: इस परियोजना में मैं आपको दिखाऊंगा कि वाईफाई सेंसर स्टेशन के साथ एक मौसम स्टेशन कैसे बनाया जाए। सेंसर स्टेशन स्थानीय तापमान और आर्द्रता डेटा को मापता है और इसे वाईफाई के माध्यम से मौसम स्टेशन पर भेजता है। मौसम स्टेशन तब प्रदर्शित करता है
Arduino का उपयोग कर बाहरी मौसम स्टेशन: 7 कदम
Arduino का उपयोग कर बाहरी मौसम स्टेशन: प्रयुक्त सामग्री: कीमतें अनुमानित और स्मृति द्वारा हैं। NodeMCU V3 Lua - 3 € डिजिटल तापमान और आर्द्रता DTH 22 - 2 € फोटोरेसिस्टर (LDR) सेंसर मॉड्यूल Arduino के लिए लाइट सेंसिटिव फोटोडायोड का पता लगाता है - 0.80 € 1set / लॉट स्नो / रेनड्रॉप डिटेक्शन सेंसर