विषयसूची:

BH1715 और रास्पबेरी पाई का उपयोग करके प्रकाश की तीव्रता का मापन: 5 कदम
BH1715 और रास्पबेरी पाई का उपयोग करके प्रकाश की तीव्रता का मापन: 5 कदम

वीडियो: BH1715 और रास्पबेरी पाई का उपयोग करके प्रकाश की तीव्रता का मापन: 5 कदम

वीडियो: BH1715 और रास्पबेरी पाई का उपयोग करके प्रकाश की तीव्रता का मापन: 5 कदम
वीडियो: Raspberry Pi BH1715 Digital Ambient Light Sensor Python Tutorial 2024, नवंबर
Anonim
Image
Image

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

इस ट्यूटोरियल में, हम जावा को प्रोग्रामिंग भाषा के रूप में उपयोग करते हुए रास्पबेरी पाई के साथ BH1715 के कामकाज को प्रदर्शित करने जा रहे हैं।

इस उद्देश्य के लिए आपको जिन हार्डवेयर की आवश्यकता होगी वे इस प्रकार हैं:

1. BH1715 - परिवेश प्रकाश संवेदक

2. रास्पबेरी पाई

3. I2C केबल

4. रास्पबेरी पाई के लिए I2C शील्ड

5. ईथरनेट केबल

चरण 1: BH1715 अवलोकन:

जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!

सबसे पहले, हम आपको सेंसर मॉड्यूल की बुनियादी विशेषताओं से परिचित कराना चाहते हैं जो कि BH1715 है और संचार प्रोटोकॉल जिस पर यह काम करता है।

BH1715 I²C बस इंटरफेस के साथ एक डिजिटल एम्बिएंट लाइट सेंसर है। BH1715 का उपयोग आमतौर पर मोबाइल उपकरणों के लिए एलसीडी और कीपैड बैकलाइट पावर को समायोजित करने के लिए परिवेश प्रकाश डेटा प्राप्त करने के लिए किया जाता है। यह डिवाइस 16-बिट रिज़ॉल्यूशन और एक समायोज्य माप सीमा प्रदान करता है, जिससे.23 से 100, 000 लक्स तक का पता लगाया जा सकता है।

संचार प्रोटोकॉल जिस पर सेंसर काम करता है I2C है। I2C का मतलब इंटर-इंटीग्रेटेड सर्किट है। यह एक संचार प्रोटोकॉल है जिसमें संचार एसडीए (सीरियल डेटा) और एससीएल (सीरियल क्लॉक) लाइनों के माध्यम से होता है। यह एक ही समय में कई उपकरणों को जोड़ने की अनुमति देता है। यह सबसे सरल और सबसे कुशल संचार प्रोटोकॉल में से एक है।

चरण 2: आपको क्या चाहिए..

जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!
जिसकी आपको जरूरत है..!!

अपने लक्ष्य को पूरा करने के लिए हमें जिन सामग्रियों की आवश्यकता होती है, उनमें निम्नलिखित हार्डवेयर घटक शामिल हैं:

1. BH1715 - परिवेश प्रकाश संवेदक

2. रास्पबेरी पाई

3. I2C केबल

4. रास्पबेरी पाई के लिए I2C शील्ड

5. ईथरनेट केबल

चरण 3: हार्डवेयर हुकअप:

हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप
हार्डवेयर हुकअप

हार्डवेयर हुकअप सेक्शन मूल रूप से सेंसर और रास्पबेरी पाई के बीच आवश्यक वायरिंग कनेक्शन की व्याख्या करता है। वांछित आउटपुट के लिए किसी भी सिस्टम पर काम करते समय सही कनेक्शन सुनिश्चित करना मूलभूत आवश्यकता है। तो, अपेक्षित कनेक्शन इस प्रकार हैं:

BH1715 I2C पर काम करेगा। यहाँ उदाहरण वायरिंग आरेख है, जिसमें दिखाया गया है कि सेंसर के प्रत्येक इंटरफ़ेस को कैसे वायर किया जाए।

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

केवल चार कनेक्शन की आवश्यकता होती है Vcc, Gnd, SCL और SDA पिन और ये I2C केबल की मदद से जुड़े होते हैं।

इन कनेक्शनों को ऊपर की तस्वीरों में दिखाया गया है।

चरण 4: जावा कोड का उपयोग करके प्रकाश तीव्रता मापन:

जावा कोड का उपयोग कर प्रकाश तीव्रता मापन
जावा कोड का उपयोग कर प्रकाश तीव्रता मापन
जावा कोड का उपयोग कर प्रकाश तीव्रता मापन
जावा कोड का उपयोग कर प्रकाश तीव्रता मापन

रास्पबेरी पाई का उपयोग करने का लाभ यह है कि यह आपको उस प्रोग्रामिंग भाषा का लचीलापन प्रदान करता है जिसमें आप सेंसर को इंटरफेस करने के लिए बोर्ड को प्रोग्राम करना चाहते हैं। इस बोर्ड के इस लाभ का उपयोग करते हुए, हम यहां जावा में इसकी प्रोग्रामिंग का प्रदर्शन कर रहे हैं। BH1715 के लिए जावा कोड हमारे GitHub समुदाय यानी Dcube Store से डाउनलोड किया जा सकता है।

साथ ही उपयोगकर्ताओं की आसानी के लिए, हम यहां कोड भी समझा रहे हैं:

कोडिंग के पहले चरण के रूप में, आपको जावा के मामले में pi4j पुस्तकालय डाउनलोड करने की आवश्यकता है, क्योंकि यह पुस्तकालय कोड में प्रयुक्त कार्यों का समर्थन करता है। तो, पुस्तकालय डाउनलोड करने के लिए आप निम्न लिंक पर जा सकते हैं:

pi4j.com/install.html

आप इस सेंसर के लिए काम कर रहे जावा कोड को यहां से भी कॉपी कर सकते हैं:

// एक फ्री-विल लाइसेंस के साथ वितरित किया गया।

// इसे किसी भी तरह से उपयोग करें, लाभ या मुफ्त, बशर्ते यह इसके संबंधित कार्यों के लाइसेंस में फिट बैठता है।

// बीएच1715

// इस कोड को ControlEverything.com से उपलब्ध BH1715_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है।

//

आयात com.pi4j.io.i2c. I2CBus;

आयात com.pi4j.io.i2c. I2CDउपकरण;

आयात com.pi4j.io.i2c. I2CFactory;

java.io. IOException आयात करें;

पब्लिक क्लास BH1715

{

सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क ) अपवाद फेंकता है

{

// I2C बस बनाएं

I2CBus बस = I2CFactory.getInstance(I2CBus. BUS_1);

// I2C डिवाइस प्राप्त करें, BH1715 I2C पता 0x23 (35) है

I2CDevice डिवाइस = bus.getDevice(0x23);

// कमांड पर पावर भेजें

डिवाइस.राइट ((बाइट) 0x01);

// निरंतर माप आदेश भेजें

डिवाइस.राइट ((बाइट) 0x10);

थ्रेड.स्लीप (500);

// डेटा के 2 बाइट्स पढ़ें

// ल्यूमिनेन्स एमएसबी, ल्यूमिनेन्स एलएसबी

बाइट डेटा = नया बाइट [2];

डिवाइस.रीड (डेटा, 0, 2);

// डेटा कनवर्ट करें

डबल ल्यूमिनेन्स = ((डेटा [0] और 0xFF) * 256 + (डेटा [1] और 0xFF)) / 1.20;

// स्क्रीन पर आउटपुट डेटा

System.out.printf ("एंबिएंट लाइट ल्यूमिनेंस:%.2f लक्स% n", ल्यूमिनेन्स);

}

}

पुस्तकालय जो सेंसर और बोर्ड के बीच i2c संचार की सुविधा प्रदान करता है, वह है pi4j, इसके विभिन्न पैकेज I2CBus, I2CDevice और I2CFactory कनेक्शन स्थापित करने में मदद करते हैं।

आयात com.pi4j.io.i2c. I2CBus;आयात com.pi4j.io.i2c. I2CDउपकरण; आयात com.pi4j.io.i2c. I2CFactory; java.io. IOException आयात करें;

कोड का यह हिस्सा लिखने () फ़ंक्शन का उपयोग करके संबंधित कमांड लिखकर सेंसर को प्रकाश की तीव्रता माप के लिए संचालित करता है और फिर डेटा को रीड () फ़ंक्शन का उपयोग करके पढ़ा जाता है।

डिवाइस.राइट ((बाइट) 0x01); // कमांड पर पावर

डिवाइस.राइट ((बाइट) 0x10); // निरंतर माप आदेश

बाइट डेटा = नया बाइट [2]; // डेटा के 2 बाइट्स पढ़ें

डिवाइस.रीड (डेटा, 0, 2);

सेंसर से प्राप्त डेटा को निम्नलिखित का उपयोग करके उपयुक्त प्रारूप में परिवर्तित किया जाता है:

डबल ल्यूमिनेन्स = ((डेटा [0] और 0xFF) * 256 + (डेटा [1] और 0xFF)) / 1.20;

आउटपुट को System.out.println () फ़ंक्शन का उपयोग करके निम्न प्रारूप में प्रिंट किया जाता है।

System.out.printf ("एंबिएंट लाइट ल्यूमिनेंस:%.2f लक्स% n", ल्यूमिनेन्स);

सेंसर का आउटपुट ऊपर की तस्वीर में दिखाया गया है।

चरण 5: आवेदन:

अनुप्रयोग
अनुप्रयोग

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

सिफारिश की: