अपने DIY Arduino थर्मामीटर का निर्माण अपने टिंकरिंग कौशल का विस्तार करने का एक मजेदार और व्यावहारिक तरीका है, लेकिन आपको कहां से शुरुआत करनी चाहिए? हमारे साथ जुड़ें क्योंकि हम वायरिंग और कोडिंग में तल्लीन होते हैं जो एक Arduino, एक DS18B20 तापमान जांच में बदल जाता है, और एक सटीक डिजिटल थर्मामीटर में एक OLED डिस्प्ले जो कमरों, फिश टैंक और यहां तक ​​कि अच्छी तरह से काम कर सकता है बाहर।

DIY Arduino डिजिटल थर्मामीटर बनाने के लिए आपको क्या चाहिए?

ये सभी घटक eBay और Amazon जैसी वेबसाइटों पर पाए जा सकते हैं।

एक Arduino बोर्ड

आप इस प्रोजेक्ट के लिए 5V आउटपुट के साथ लगभग किसी भी Arduino का उपयोग कर सकते हैं। हम एक Arduino Pro Micro का उपयोग कर रहे हैं ताकि हमारा तैयार थर्मामीटर कॉम्पैक्ट हो, लेकिन यदि आप इस प्रोजेक्ट के लिए सोल्डरिंग से बचना चाहते हैं तो आप Arduino Uno जैसे बड़े बोर्ड का उपयोग कर सकते हैं।

DS18B20 तापमान जांच

DS18B20 तापमान सेंसर छोटे स्टैंड-अलोन सेंसर, संलग्न सेंसर के साथ पीसीबी, या लंबे तारों पर जलरोधी जांच के रूप में पाए जा सकते हैं। हमने बाद वाले को चुना, क्योंकि यह हमें मछली टैंक के अंदर हमारे थर्मामीटर का उपयोग करने में सक्षम बनाता है, लेकिन आप DS18B20 तापमान सेंसर के किसी भी प्रकार को चुन सकते हैं। अन्य प्रकार के तापमान सेंसर के विपरीत, DS18B20s LM35 तापमान सेंसर जैसे विकल्पों से आने वाले एनालॉग सिग्नल के बजाय आपके Arduino को एक डायरेक्ट-टू-डिजिटल सिग्नल प्रदान करते हैं।

instagram viewer

एक OLED/LCD स्क्रीन

आप अपने थर्मामीटर के लिए जो डिस्प्ले चुनते हैं, उसका तैयार उत्पाद पर बड़ा प्रभाव पड़ेगा। हमने अपने थर्मामीटर के लिए 1.3-इंच I2C-संगत मोनोक्रोम सफेद OLED डिस्प्ले चुना है, लेकिन जब तक यह I2C का समर्थन करता है, तब तक आप जो चाहें उसे चुन सकते हैं।

अतिरिक्त छोटे हिस्से

  • 4.7K (किलोहम) रोकनेवाला
  • 28 से 22 एडब्ल्यूजी सिलिकॉन/पीवीसी अछूता तार
  • एक ब्रेडबोर्ड (उन लोगों के लिए वैकल्पिक जो सोल्डर नहीं करना चाहते हैं)

आपका DIY थर्मामीटर वायरिंग

इस परियोजना के लिए वायरिंग आपकी कल्पना से कहीं अधिक सरल है। ऊपर दिए गए सर्किट आरेख का उपयोग करके, आप थोड़े से प्रयास से अपना स्वयं का DIY डिजिटल थर्मामीटर बना सकते हैं, लेकिन हमने इसे आसान बनाने के लिए नीचे दिए गए आरेख को भी तोड़ दिया है।

DS18B20 तापमान जांच तारों

अपने DS18B20 तापमान जांच को सही ढंग से तार देना इस परियोजना के लिए महत्वपूर्ण है, और आपको यह सुनिश्चित करने की आवश्यकता है कि आप 4.7K रोकनेवाला का उपयोग करें जिसका हमने पहले उल्लेख किया था या आपकी जांच ठीक से काम नहीं कर रही है। जांच तीन तारों के साथ आती है: ग्राउंड (आमतौर पर काला), वीसीसी (आमतौर पर लाल), और डेटा।

  • VCC आपके Arduino पर 5V पिन से कनेक्ट होता है
  • ग्राउंड आपके Arduino पर GND पिन से जुड़ता है
  • डेटा आपके Arduino पर किसी भी डिजिटल पिन से जुड़ सकता है (हमने डिजिटल पिन 15 चुना है)
  • डेटा और वीसीसी तारों को भी 4.7K रोकनेवाला के साथ एक दूसरे से जोड़ा जाना चाहिए

I2C OLED डिस्प्ले को वायर करना

चूंकि हम अपने OLED डिस्प्ले और Arduino के बीच I2C कनेक्शन का उपयोग कर रहे हैं, हमें अपने डिस्प्ले का उपयोग शुरू करने से पहले केवल चार तारों को जोड़ना होगा: VCC, ग्राउंड, SDA और SCL। लगभग हर आधुनिक Arduino में SDA और SCL पिन बिल्ट-इन होते हैं, जो 128 अद्वितीय I2C घटकों को एक ही बोर्ड से जोड़ने की क्षमता प्रदान करते हैं।

हमारे Arduino Pro Micro में डिजिटल पिन 2 पर SDA और डिजिटल पिन 3 पर SCL है, लेकिन आपको शुरू करने से पहले आपके द्वारा चुने गए विशिष्ट बोर्ड के पिनआउट आरेख की तलाश करनी पड़ सकती है।

  • VCC आपके Arduino पर 5V पिन से कनेक्ट होता है
  • ग्राउंड आपके Arduino पर GND पिन से जुड़ता है
  • एसडीए आपके Arduino पर एसडीए पिन से जुड़ता है
  • SCL आपके Arduino पर SCL पिन से जुड़ता है

अपने सर्किट का परीक्षण

यह महत्वपूर्ण है कि आप इसके लिए अंतिम कोड लिखना शुरू करने से पहले अपने द्वारा बनाए गए सर्किट का परीक्षण करें, लेकिन आप उन उदाहरण परियोजनाओं का उपयोग कर सकते हैं जो आपके पास मौजूद सर्किट का परीक्षण करने के लिए नीचे चर्चा की गई पुस्तकालयों के साथ आती हैं बनाया गया।

आपका तापमान सेंसर और ओएलईडी डिस्प्ले कोडिंग

अपने DIY डिजिटल थर्मामीटर को कोडिंग करना इसे वायर करने की तुलना में अधिक कठिन है, लेकिन इसे आसान बनाने के लिए Arduino IDE का उपयोग किया जा सकता है।

सही पुस्तकालयों का चयन

  • OLED डिस्प्ले लाइब्रेरी: हम अपने प्रदर्शन के लिए Adafruit_SH1106.h पुस्तकालय का उपयोग कर रहे हैं, क्योंकि यह वह पुस्तकालय है जिसके साथ काम करने के लिए इसे डिजाइन किया गया था। अन्य OLED डिस्प्ले अपने स्वयं के पुस्तकालयों का उपयोग कर सकते हैं, जैसे Adafruit_SSD1306.h पुस्तकालय, और आप आमतौर पर यह पता लगा सकते हैं कि आपको उस उत्पाद पृष्ठ से किसकी आवश्यकता है जिससे आपको अपना प्रदर्शन मिला है।
  • DS18B20 तापमान जांच: हमें अपने तापमान जांच के लिए दो पुस्तकालयों की आवश्यकता है। डलासटेम्परेचर.एच का उपयोग तापमान डेटा एकत्र करने के लिए किया जाता है, और वनवायर.एच का उपयोग हमारे सिंगल-वायर कनेक्शन को संभव बनाने के लिए किया जाता है।

एक बार जब ये पुस्तकालय स्थापित हो जाते हैं और आपके प्रोजेक्ट में शामिल हो जाते हैं, तो आपका कोड नीचे दिए गए स्निपेट जैसा कुछ दिखना चाहिए। ध्यान दें कि हमने अपने घटकों के लिए पिन सेट करने के लिए कोड भी शामिल किया है।

#शामिल करना  // डिस्प्ले लाइब्रेरी
#शामिल करना
#शामिल करना // अस्थायी जांच पुस्तकालय
#परिभाषित OLED_RESET -1
Adafruit_SH1106 डिस्प्ले (OLED_RESET);
#define ONE_WIRE_BUS 15 // अस्थायी जांच डेटा वायर पिन
वनवायर वनवायर (ONE_WIRE_BUS); // वनवायर को बताएं कि हम किस पिन का इस्तेमाल कर रहे हैं
डलास तापमान सेंसर (और वनवायर); // डलास तापमान के लिए वनवायर संदर्भ

कार्यों का निर्माण

  • व्यर्थ व्यवस्था: हम मानक का उपयोग कर रहे हैं सेट अप हमारे प्रदर्शन और हमारे तापमान जांच दोनों को आरंभ करने के लिए कार्य करता है।
  • शून्य लूप: हमारा मानक कुंडली फ़ंक्शन का उपयोग केवल हमारे कॉल करने के लिए किया जाएगा प्रदर्शन समारोह।
  • शून्य प्रदर्शन: हमने एक जोड़ा है प्रदर्शन फ़ंक्शन जो हमारे कॉल करता है अस्थायी कार्य करता है और हमारे प्रदर्शन को जानकारी प्रदान करता है।
  • इंट टेंप: हमारी अस्थायी हमारे लिए तापमान रीडिंग प्राप्त करने के लिए फ़ंक्शन का उपयोग किया जाता है प्रदर्शन समारोह।

एक बार पूरा हो जाने पर, यह नीचे दिए गए स्निपेट जैसा दिखना चाहिए।

व्यर्थ व्यवस्था() {
}
शून्य लूप () {
}
शून्य प्रदर्शन () {
}
इंट टेम्प () {
}

OLED डिस्प्ले को कोड करना

इससे पहले कि हम अपने में कोड जोड़ सकें प्रदर्शन फ़ंक्शन, हमें यह सुनिश्चित करने की आवश्यकता है कि OLED पैनल हमारे में आरंभिक है व्यर्थ व्यवस्था समारोह। सबसे पहले, हम a. का उपयोग करते हैं प्रदर्शन.शुरू प्रदर्शन शुरू करने के लिए आदेश, उसके बाद a डिस्प्ले.क्लियरडिस्प्ले यह सुनिश्चित करने के लिए आदेश दें कि प्रदर्शन स्पष्ट है।

व्यर्थ व्यवस्था() {
display.begin (SH1106_SWITCHCAPVCC, 0x3C); // अपनी डिस्प्ले लाइब्रेरी के आधार पर बदलें
डिस्प्ले.क्लियरडिस्प्ले ();
}

यहां से, हम अपने में कोड जोड़ सकते हैं प्रदर्शन समारोह। यह दूसरे से शुरू होता है डिस्प्ले.क्लियरडिस्प्ले कमांड, एक नए पूर्णांक चर को एक मान के साथ घोषित करने से पहले जो कॉल करता है अस्थायी समारोह (हम इसे बाद में कवर करेंगे)। फिर हम निम्न कोड का उपयोग करके डिस्प्ले पर तापमान प्रदर्शित करने के लिए इस चर का उपयोग करने में सक्षम हैं।

शून्य प्रदर्शन () {
डिस्प्ले.क्लियरडिस्प्ले ();
int intTemp = अस्थायी (); // हमारे अस्थायी फ़ंक्शन को कॉल करें
display.setTextSize (3); // हमारे टेक्स्ट का आकार सेट करता है
display.setTextColor (सफेद); // हमारे टेक्स्ट का रंग सेट करता है
डिस्प्ले.सेट कर्सर (5, 5); // डिस्प्ले पर हमारी टेक्स्ट पोजीशन सेट करें
डिस्प्ले.प्रिंट (इंटटेम्प); // Temp फ़ंक्शन द्वारा प्रदान किए गए मान को प्रिंट करता है
display.drawCircle (44, 7, 3, सफेद); // एक डिग्री प्रतीक खींचता है
display.setCursor (50, 5);
डिस्प्ले.प्रिंट ("सी"); // यह इंगित करने के लिए C जोड़ता है कि हमारा तापमान सेल्सियस में है
}

DS18B20 तापमान जांच कोडिंग

हमारे प्रदर्शन की तरह, हमारे तापमान जांच को भी घटक को प्रारंभ करने के लिए सेटअप कोड की आवश्यकता होती है।

व्यर्थ व्यवस्था() {
display.begin (SH1106_SWITCHCAPVCC, 0x3C);
डिस्प्ले.क्लियरडिस्प्ले ();
सेंसर। शुरू ();
}

इसके बाद, जांच को प्रोग्राम करने का समय आ गया है, और हमें अपने में कोड जोड़ने की आवश्यकता है अस्थायी समारोह। सबसे पहले, हम अपनी जांच से तापमान का अनुरोध करेंगे, उसके बाद परिणाम को एक फ्लोट वेरिएबल के रूप में रिकॉर्ड करेंगे और इसे एक पूर्णांक में परिवर्तित करेंगे। यदि यह प्रक्रिया सफल होती है, तो तापमान पर वापस आ जाता है प्रदर्शन समारोह।

इंट टेम्प () {
सेंसर। अनुरोध तापमान (); // तापमान प्राप्त करने के लिए कमांड भेजें
फ्लोट tempC = sensor.getTempCByIndex (0); // यह सेल्सियस में तापमान का अनुरोध करता है और इसे एक फ्लोट को असाइन करता है
int intTemp = (int) tempC; // यह फ्लोट को एक पूर्णांक में परिवर्तित करता है
अगर (tempC != DEVICE_DISCONNECTED_C) // जांचें कि क्या हमारे पढ़ने ने काम किया है
{
वापसी intTemp; // हमारे तापमान मान को डिस्प्ले फ़ंक्शन पर लौटाएं
}
}

पूरी तरह खत्म करना

अंत में, हमें बस अपना मुख्य बताने की जरूरत है कुंडली हमारे को कॉल करने के लिए कार्य प्रदर्शन कोड के प्रत्येक चक्र के साथ कार्य करता है, हमें इस तरह दिखने वाले प्रोजेक्ट के साथ छोड़ देता है।

#शामिल करना  // डिस्प्ले लाइब्रेरी
#शामिल करना
#शामिल करना // अस्थायी जांच पुस्तकालय
#परिभाषित OLED_RESET -1
Adafruit_SH1106 डिस्प्ले (OLED_RESET);
#define ONE_WIRE_BUS 15 // अस्थायी जांच डेटा वायर पिन
वनवायर वनवायर (ONE_WIRE_BUS); // वनवायर को बताएं कि हम किस पिन का इस्तेमाल कर रहे हैं
डलास तापमान सेंसर (और वनवायर); // डलास तापमान के लिए वनवायर संदर्भ
व्यर्थ व्यवस्था() {
display.begin (SH1106_SWITCHCAPVCC, 0x3C);
डिस्प्ले.क्लियरडिस्प्ले ();
सेंसर। शुरू ();
}
शून्य लूप () {
प्रदर्शन (); // हमारे डिस्प्ले फंक्शन को कॉल करें
}
शून्य प्रदर्शन () {
डिस्प्ले.क्लियरडिस्प्ले ();
int intTemp = अस्थायी (); // हमारे अस्थायी फ़ंक्शन को कॉल करें
display.setTextSize (3); // हमारे टेक्स्ट का आकार सेट करता है
display.setTextColor (सफेद); // हमारे टेक्स्ट का रंग सेट करता है
डिस्प्ले.सेट कर्सर (5, 5); // डिस्प्ले पर हमारी टेक्स्ट पोजीशन सेट करें
डिस्प्ले.प्रिंट (इंटटेम्प); // Temp फ़ंक्शन द्वारा प्रदान किए गए मान को प्रिंट करता है
display.drawCircle (44, 7, 3, सफेद); // एक डिग्री प्रतीक खींचता है
display.setCursor (50, 5);
डिस्प्ले.प्रिंट ("सी"); // यह इंगित करने के लिए C जोड़ता है कि हमारा तापमान सेल्सियस में है
}
इंट टेम्प () {
सेंसर। अनुरोध तापमान (); // तापमान प्राप्त करने के लिए कमांड भेजें
फ्लोट tempC = sensor.getTempCByIndex (0); // यह सेल्सियस में तापमान का अनुरोध करता है और इसे एक फ्लोट को असाइन करता है
int intTemp = (int) tempC; // यह फ्लोट को एक पूर्णांक में परिवर्तित करता है
अगर (tempC != DEVICE_DISCONNECTED_C) // जांचें कि क्या हमारे पढ़ने ने काम किया है
{
वापसी intTemp; // हमारे तापमान मान को डिस्प्ले फ़ंक्शन पर लौटाएं
}
}

एक DIY डिजिटल थर्मामीटर का निर्माण

यह प्रोजेक्ट मजेदार और जानकारीपूर्ण होना चाहिए, साथ ही आपको एक व्यावहारिक वस्तु बनाने का मौका भी देना चाहिए। हमने इस कोड को यथासंभव सरल बनाने के लिए डिज़ाइन किया है, लेकिन जैसा कि आप सीखते हैं, आप इसे अधिक जटिल परियोजना के आधार के रूप में उपयोग कर सकते हैं।

शुरुआती के लिए 15 महान Arduino प्रोजेक्ट्स

Arduino प्रोजेक्ट्स में दिलचस्पी है, लेकिन यह सुनिश्चित नहीं है कि कहां से शुरू करें? ये शुरुआती प्रोजेक्ट आपको सिखाएंगे कि कैसे शुरुआत करें।

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • DIY
  • अरुडिनो
  • इलेक्ट्रानिक्स
लेखक के बारे में
सैमुअल एल. गारबेट (35 लेख प्रकाशित)

सैमुअल यूके में रहने वाला एक तकनीकी लेखक है, जिसे DIY की सभी चीजों का शौक है। कई वर्षों तक लेखक के रूप में काम करने के साथ-साथ वेब विकास और 3डी प्रिंटिंग के क्षेत्र में व्यवसाय शुरू करने के बाद, सैमुअल प्रौद्योगिकी की दुनिया में एक अद्वितीय अंतर्दृष्टि प्रदान करता है। मुख्य रूप से DIY तकनीकी परियोजनाओं पर ध्यान केंद्रित करते हुए, उन्हें मज़ेदार और रोमांचक विचारों को साझा करने के अलावा और कुछ नहीं पसंद है जिन्हें आप घर पर आज़मा सकते हैं। काम के बाहर, सैमुअल को आमतौर पर साइकिल चलाते हुए, पीसी वीडियो गेम खेलते हुए, या अपने पालतू केकड़े के साथ संवाद करने की सख्त कोशिश करते हुए पाया जा सकता है।

सैमुअल एल. गारबेट

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें