इस ट्यूटोरियल में हम BMP180 और ARDUINO का उपयोग करके एक बैरोमेट्रिक प्रेशर मेज़रिंग सिस्टम डिज़ाइन करने जा रहे हैं । BMP180 को ARDUINO में रखने के लिए सबसे पहले, हमें विशेष रूप से BMP180 के लिए डिज़ाइन की गई एक लाइब्रेरी डाउनलोड करनी होगी। यह पुस्तकालय यहां उपलब्ध है: https://github.com/adafruit/Adafruit-BMP085-Library उस पुस्तकालय को संलग्न करने के बाद, हम विशेष कार्यों को कॉल कर सकते हैं जो BMP180 सेंसर के साथ काम करने में आसानी करेंगे।
अवयव आवश्यक
हार्डवेयर: Arduino uno बोर्ड, कनेक्टिंग पिन, 220or रेसिस्टर, BMP180 बैरोमीटर का प्रेशर सेंसर, 16x2 LCD, ब्रेड बोर्ड।
सॉफ्टवेयर: Arduino रात में
सर्किट आरेख और कार्य स्पष्टीकरण
हेडर के लिए कॉल करने के बाद हमें Arduino Uno और BMP180 सेंसर के बीच संचार स्थापित करने के लिए चिंता करने की आवश्यकता नहीं है। हम बस विशेष कार्यों में कॉल कर सकते हैं जो हमारे लिए ऐसा करेंगे। हमें केवल एक एलसीडी को इनिशियलाइज़ करना है और उस पर SENSOR से कॉल वैल्यूज़ दिखाना है।
16x2 एलसीडी में बैक लाइट होने पर सभी में 16 पिन होते हैं, अगर बैक लाइट नहीं है तो कुल 14 पिन होंगे। एक बिजली या वापस प्रकाश पिन छोड़ सकते हैं। अब 14 पिनों में 8 डेटा पिन (7-14 या D0-D7), 2 पावर सप्लाई पिन (1 & 2 या VSS & VDD या GND & + 5v), कंट्रास्ट कंट्रोल के लिए 3 rd पिन (VEE- नियंत्रण हैं कि पात्रों को कितना मोटा होना चाहिए दिखाया गया है) और 3 नियंत्रण पिन (आरएस और आरडब्ल्यू और ई)।
सर्किट में, आप देख सकते हैं कि मैंने केवल दो नियंत्रण पिन लिए हैं, इसके विपरीत बिट और आरईएडी / WRITE का उपयोग अक्सर नहीं किया जाता है, ताकि उन्हें जमीन पर छोटा किया जा सके। यह एलसीडी को कंट्रास्ट और रीड मोड में डालता है। हमें केवल वर्ण और डेटा भेजने के लिए सक्षम और आरएस पिन को नियंत्रित करने की आवश्यकता है।
एलसीडी के लिए जो कनेक्शन दिए गए हैं, वे नीचे दिए गए हैं:
PIN1 या VSS जमीन पर
PIN2 या VDD या VCC से + 5v पावर
पिन 3 या वीईई को ग्राउंड (शुरुआती के लिए अधिकतम विपरीत देता है)
PIN4 या RS (रजिस्टर चयन) ARDUINO UNO के PIN8 को
पिन 5 या आरडब्ल्यू (पढ़ें / लिखें) को जमीन पर रखें (रीड मोड में एलसीडी लगाता है उपयोगकर्ता के लिए संचार को आसान बनाता है)
PIN6 या E (सक्षम) ARDUINO UNO का toPIN9
PIN11 या D4 से AR10INO UNO का PIN10
PIN12 या D5 से AR11INO UNO का पिन 11
PIN13 या D6 से AR12INO UNO का पिन 12
पिन 14 या एआर 7 के यूएन 13 को पिन 13
ARDUINO IDE उपयोगकर्ता को 4 बिट मोड में एलसीडी का उपयोग करने की अनुमति देता है। इस प्रकार का संचार उपयोगकर्ता को ARDUINO पर पिन उपयोग को कम करने में सक्षम बनाता है, इसके विपरीत अन्य ARDUINO को इसे 4 मोड में उपयोग करने के लिए अलग से प्रोग्राम करने की आवश्यकता नहीं है क्योंकि डिफ़ॉल्ट रूप से ARDUINO 4 बिट मोड में संचार करने के लिए सेट है। सर्किट में आप देख सकते हैं wehave 4bit संचार (D4-D7) का इस्तेमाल किया।
इसलिए उपरोक्त तालिका से मात्र अवलोकन से हम एलसीडी के 6 पिन को कंट्रोलर से जोड़ रहे हैं जिसमें 4 पिन डेटा पिन और 2 पिन नियंत्रण के लिए हैं।
BMP180 को Arduino Uno से जोड़ने के लिए हमें निम्नलिखित करने की आवश्यकता है:
|
पहले हमें विशेष कार्यों "#include" को सक्षम करने के लिए हेडर फ़ाइल को कॉल करना होगा।
इस हेडर फ़ाइल से हम ऐसे फंक्शन्स कह सकते हैं जो सेंसर से वैल्यूज़ को बिना किसी फज़ के सीधे पढ़ सकते हैं।
अब हमें C संचार सक्षम करने की आवश्यकता है, यह "#include" कहकर किया जाता है
हम "स्ट्रिंग PRESSUREVALUE = स्ट्रिंग (bmp.readPressure ());" कहकर दबाव पढ़ सकते हैं। यहां प्रेशर वैल्यू सेंसर से पढ़ी जाएगी और इसे "PRESSUREVALUE" स्ट्रिंग में स्टोर किया जाएगा।
हम "String TEMPARATUREVALUE = String (bmp.readTENS ());" कहकर टेंपरेचर पढ़ सकते हैं। यहां प्रेशर वैल्यू सेंसर से पढ़ी जाएगी और इसे स्ट्रिंग "TEMPARATUREVALUE" में स्टोर किया जाएगा।
पहले हमें हेडर फ़ाइल को सक्षम करना होगा ('#include'
दूसरा हमें यह बताने की आवश्यकता है कि हम किस प्रकार के एलसीडी का उपयोग कर रहे हैं। चूँकि हमारे पास विभिन्न प्रकार के एलसीडी हैं (जैसे 20 * 4, 16 * 2, 16 * 1 आदि)। यहाँ हम UNO में एक 16 * 2 LCD इंटरफ़ेस करने जा रहे हैं, इसलिए हमें 'lcd.begin (16,2);' मिलता है। 16 * 1 के लिए हमें 'lcd.begin (16,1);' मिलता है।
इस निर्देश में हम बोर्ड को यह बताने जा रहे हैं कि हम पिन कहाँ से जुड़े हैं, जो पिन जुड़े हुए हैं उन्हें "RS, En, D4, D5, D6, D7" के रूप में दर्शाया जाना चाहिए। इन पिनों का सही ढंग से प्रतिनिधित्व किया जाना है। चूंकि हम RS को PIN0 से जोड़ते हैं और इसलिए सर्किट आरेख में दिखाते हैं, इसलिए हम "LiquidCrystallcd (0,1,8,9,10,11);"
ऊपर के बाद वहाँ सब छोड़ दिया जाता है डेटा भेजने के लिए, एलसीडी में प्रदर्शित होने वाले डेटा को "cd.print (" हैलो, दुनिया! ") के रूप में लिखा जाना चाहिए। इस कमांड के साथ LCD 'हैलो, वर्ल्ड!' प्रदर्शित करता है।
जैसा कि आप देख सकते हैं कि हमें किसी और के बारे में चिंता करने की आवश्यकता नहीं है, हमें बस आरंभ करना है और यूएनओ डेटा प्रदर्शित करने के लिए तैयार होगा। हमें BYTE द्वारा यहाँ डेटा भेजने के लिए एक प्रोग्राम लूप लिखना नहीं है। सेंसर से मूल्य पढ़ने के बाद हम उन्हें 16x2 एलसीडी पर प्रदर्शित करने जा रहे हैं।