विषयसूची:

RGB तापमान संकेतक (XinaBox के साथ): 5 कदम (चित्रों के साथ)
RGB तापमान संकेतक (XinaBox के साथ): 5 कदम (चित्रों के साथ)

वीडियो: RGB तापमान संकेतक (XinaBox के साथ): 5 कदम (चित्रों के साथ)

वीडियो: RGB तापमान संकेतक (XinaBox के साथ): 5 कदम (चित्रों के साथ)
वीडियो: RGB LED Strip Controller using PIC12F675 - temperature indicator 2024, जुलाई
Anonim
RGB तापमान संकेतक (XinaBox के साथ)
RGB तापमान संकेतक (XinaBox के साथ)

यह आधिकारिक तौर पर मेरा पहला इंस्ट्रक्शंस का लेख है, इसलिए मैं यह स्वीकार करने जा रहा हूं कि मैं अभी इस अवसर का उपयोग कर रहा हूं। प्लेटफ़ॉर्म कैसे काम करता है, इसका पूरा उपयोगकर्ता अनुभव प्राप्त करें। लेकिन जब मैं ऐसा कर रहा था, तो मुझे लगा कि मैं एक साधारण परियोजना के बारे में साझा करने के अवसर का भी उपयोग कर सकता हूं, जिस पर मैं आज काम कर रहा हूं (XinaBox के उत्पादों का उपयोग करके, जिसका उच्चारण "X-in-a-" के रूप में किया जाता है। डिब्बा")।

इस सरल 5-चरणीय निर्देश में, मैं निम्नलिखित विषयों को शामिल करूँगा:

  • आवश्यक घटक
  • विभिन्न xChips को एक साथ जोड़ना।
  • Arduino IDE वातावरण की स्थापना।
  • कोड लिखना
  • और अंत में, विचार का परीक्षण करना

मैं इस निर्देश में क्या साझा नहीं करूंगा:

  • जितना मुझे यह समझाने में गोता लगाना अच्छा लगता है कि उनमें से प्रत्येक xChips क्या कर सकता है और आप कुछ कार्यों को करने के लिए उन्हें कैसे हेरफेर कर सकते हैं, यह इस निर्देश का लक्ष्य नहीं होगा। मैं निकट भविष्य में अन्य इंस्ट्रक्शंस को प्रकाशित करने की योजना बना रहा हूं जो कि XinaBox के उत्पाद कैटलॉग के माध्यम से उपलब्ध विभिन्न xChips में से प्रत्येक में गोता लगाएंगे।
  • मैं Arduino कोड की मूल बातों में नहीं जाऊंगा क्योंकि मुझे लगता है कि आपके पास पहले से ही Arduino IDE का उपयोग करने के साथ-साथ C/C++ प्रोग्रामिंग की बुनियादी स्तर की समझ के साथ कुछ स्तर का अनुभव है।

चरण 1: आपको क्या चाहिए …

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

तकनीकी रूप से, अधिकांश बुनियादी उत्पाद ट्यूटोरियल आमतौर पर "हैलो वर्ल्ड!" से शुरू होते हैं। उदाहरण, या यहां तक कि एक "ब्लिंक" उदाहरण, जिसे आप पहले से ही बहुत परिचित हो सकते हैं क्योंकि आपने किसी बिंदु पर Arduino या रास्पबेरी पाई के साथ काम किया है। लेकिन मैं इसके साथ शुरू नहीं करना चाहता क्योंकि हर कोई पहले से ही वही काम कर रहा है, जो वास्तव में थोड़ा उबाऊ बनाता है।

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

यहां वे आइटम हैं जिनकी हमें आवश्यकता है (निर्देश के इस खंड के लिए प्रदान की गई तस्वीरों को देखें):

  1. IP02 - उन्नत USB प्रोग्रामिंग इंटरफ़ेस
  2. CC03 - आर्म कोर्टेक्स M0+ कोर
  3. SW02 - VOC और वेदर सेंसर (जो बॉश द्वारा BME680 सेंसर का उपयोग करता है)
  4. xBUS कनेक्टर - विभिन्न xChips (x2) के बीच I2C संचार को सक्षम करने के लिए
  5. xPDI कनेक्टर - प्रोग्रामिंग और डिबगिंग को सक्षम करने के लिए (X1)

चरण 2: टुकड़ों को जोड़ना

टुकड़ों को जोड़ना
टुकड़ों को जोड़ना
टुकड़ों को जोड़ना
टुकड़ों को जोड़ना
टुकड़ों को जोड़ना
टुकड़ों को जोड़ना

सभी टुकड़ों को एक साथ जोड़ने के लिए, हम पहले xBUS कनेक्टर और xPDI कनेक्टर के 1 टुकड़े से शुरू करेंगे।

मेरे द्वारा प्रदान की गई छवियों के बाद, xChips के उन्मुखीकरण पर ध्यान दें और जहां कनेक्टर जाएंगे।

IP02 और CC03 xChips के बीच, कनेक्टिंग पॉइंट्स की पहचान करना काफी आसान है।

CC03 के लिए, यह दक्षिण की ओर होगा। IP02 के लिए, यह xChip के उत्तर की ओर होगा।

एक बार ऐसा करने के बाद, हम CC03 xChip के पश्चिम की ओर एक और xBUS कनेक्टर जोड़ देंगे।

किया हुआ?

अब, बस SW02 xChip को CC03 के पश्चिम की ओर से कनेक्ट करें।

इससे पहले कि हम अपने लैपटॉप में IP02 डालें, सुनिश्चित करें कि दो स्विच के लिए निम्नलिखित विकल्प चुने गए हैं:

  • बी चयनित है (बाएं स्विच)
  • DCE चयनित है (दायाँ स्विच)

अंत में, अब हम अपने लैपटॉप में IP02 डालने के लिए तैयार हैं और Arduino IDE सेट करना शुरू करते हैं।

चरण 3: Arduino IDE सेट करना

Arduino IDE सेट करना
Arduino IDE सेट करना
Arduino IDE सेट करना
Arduino IDE सेट करना

फिर से, इस निर्देश में, मैंने यह धारणा बना ली है कि आप पहले से ही Arduino IDE पर्यावरण से परिचित हैं और साथ ही विकास के वातावरण में पुस्तकालयों का प्रबंधन कैसे करें।

इस परियोजना के प्रयोजन के लिए, हमें दो मुख्य पुस्तकालयों की आवश्यकता होगी:

  • arduino-CORE -
  • SW02 लाइब्रेरी -

दोनों पुस्तकालयों को अपने डेस्कटॉप के भीतर किसी स्थान पर डाउनलोड करें।

इसके बाद, अपना Arduino IDE लॉन्च करें।

मुख्य मेनू से, "स्केच" > "लाइब्रेरी शामिल करें" > "जोड़ें. ZIP लाइब्रेरी…" चुनें

दोनों लाइब्रेरी फाइलों के लिए समान प्रक्रिया दोहराएं।

इसके बाद, हमें प्रासंगिक "बोर्ड" के साथ-साथ "पोर्ट" का चयन करना होगा। (ध्यान दें कि मैंने नारंगी बॉक्स का उपयोग करके आवश्यक चयनों को भी हाइलाइट किया है।

  • बोर्ड: "Arduino / Genuino Zero (मूल USB पोर्ट)"
  • पोर्ट: "COMXX" (यह आपकी मशीन पर दिखाई देने वाले COM पोर्ट के अनुसार होना चाहिए। मेरा COM31 का उपयोग कर रहा है)

ठीक है! मुझे पता है कि आप कोडिंग में कूदने के लिए उत्सुक हैं, इसलिए अगले चरण में, हम इसी पर ध्यान केंद्रित करेंगे।

चरण 4: कोड करने का समय

इस खंड में, मैं पूर्ण प्रोजेक्ट कोड से कोड स्निपेट साझा करके शुरू करूंगा। और अंत में, मैं पूर्ण स्रोत प्रकाशित करूंगा, जिससे आपके लिए कोड को अपनी Arduino IDE स्रोत फ़ाइल में कॉपी और पेस्ट करना आसान हो जाएगा।

हैडर फ़ाइलें:

#include /* यह मुख्य XinaBox Core Functions के लिए लाइब्रेरी है। */

#शामिल /* यह वीओसी और मौसम सेंसर xChip के लिए पुस्तकालय है। */

आरजीबी एलईडी सिग्नल को नियंत्रित करने के लिए कुछ स्थिरांक परिभाषित करना:

#define redLedPin A4

#define GreenLedPin 8 #define blueLedPin 9

अगला, हमें आरजीबी मूल्यों को पारित करने के लिए एक फ़ंक्शन प्रोटोटाइप घोषित करने की आवश्यकता है।

शून्य सेटआरजीबीकलर (इंट रेडवैल्यू, इंट ग्रीनवैल्यू, इंट ब्लूवैल्यू);

SW02 ऑब्जेक्ट घोषित करना:

xSW02 SW02;

सेटअप () विधि:

व्यर्थ व्यवस्था() {

// I2C संचार वायर शुरू करें। शुरू (); // SW02 सेंसर SW02.begin () शुरू करें; // देरी को सामान्य करने के लिए सेंसर के लिए देरी (5000); }

अब मुख्य लूप के लिए ():

शून्य लूप () {

अस्थायी अस्थायी; }

इसके बाद, हमें SW02 ऑब्जेक्ट का उपयोग करके मतदान करना होगा जिसे हमने सेंसर चिप के साथ अपना संचार शुरू करने के लिए प्रोग्राम में पहले बनाया है:

// SW02 sensorSW02.poll () से डेटा पढ़ें और गणना करें;

अब, हम सेंसर का तापमान रीडिंग प्राप्त करने के लिए पढ़ रहे हैं।

tempC = SW02.getTempC ();

एक बार हमारे पास पढ़ने के बाद, आखिरी चीज जो हम करने जा रहे हैं वह तापमान सीमा निर्धारित करने के लिए if…else… की एक श्रृंखला का उपयोग करना है, और फिर setRGBColor() फ़ंक्शन को कॉल करें।

// आप अपनी जलवायु के अनुसार तापमान सीमा को समायोजित कर सकते हैं। मेरे लिए, मैं सिंगापुर में रहता हूँ, // जो पूरे वर्ष उष्णकटिबंधीय रहता है, और यहां तापमान सीमा काफी संकीर्ण हो सकती है। अगर (tempC>= 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

नोट: यदि आप यह जानना चाहते हैं कि किसी विशेष रंग के लिए प्रासंगिक RGB मान क्या हैं, तो मेरा सुझाव है कि आप "RGB रंग मान" के लिए Google खोज करें। ऐसी बहुत सी साइटें उपलब्ध हैं जहां आप अपने इच्छित रंग को चुनने के लिए रंग चयनकर्ता का उपयोग कर सकते हैं।

// यदि आप चाहें, और यह वैकल्पिक है, तो आप सेंसर की रीडिंग के लिए मतदान के बीच में देरी भी जोड़ सकते हैं।

विलंब (DELAY_TIME);

आप निश्चित रूप से कार्यक्रम की शुरुआत में DELAY_TIME स्थिरांक घोषित कर सकते हैं, इस तरह, आपको अपने पूरे कार्यक्रम में कई स्थानों के बजाय केवल एक बार इसके मूल्य को संशोधित करना होगा। अंत में, हमें अपने आरजीबी एलईडी को नियंत्रित करने के लिए फ़ंक्शन की आवश्यकता है:

शून्य सेटआरजीबीकलर (इंट रेडवैल्यू, इंट ग्रीनवैल्यू, इंट ब्लूवैल्यू) {

एनालॉगवर्इट (रेडलेडपिन, रेडवैल्यू); एनालॉगवर्इट (ग्रीनलेडपिन, ग्रीनवैल्यू); एनालॉगवर्इट (ब्लू लेडपिन, ब्लूवैल्यू); }

अंतिम कार्यक्रम

#शामिल

#include #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 void setRGBColor(int redValue, int greenValue, int blueValue); कॉन्स्ट इंट DELAY_TIME = 1000; xSW02 SW02; शून्य सेटअप () {// I2C संचार वायर शुरू करें। शुरू (); // SW02 सेंसर SW02.begin () शुरू करें; // देरी को सामान्य करने के लिए सेंसर के लिए देरी (5000); } शून्य लूप () {// SW02 फ्लोट tempC से पढ़े गए डेटा को संग्रहीत करने के लिए एक चर बनाएँ; अस्थायी = 0; // SW02 सेंसर SW02.poll () से डेटा पढ़ें और गणना करें; // तापमान माप प्राप्त करने और // तापमान चर tempC = SW02.getTempC () में स्टोर करने के लिए SW02 का अनुरोध करें; अगर (tempC>= 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // सेंसर के बीच छोटा विलंब विलंब पढ़ता है (DELAY_TIME); } शून्य सेटआरजीबीकलर (इंट रेडवैल्यू, इंट ग्रीनवैल्यू, इंट ब्लूवैल्यू) {एनालॉगवाइट (रेडलेडपिन, रेडवैल्यू); एनालॉगवर्इट (ग्रीनलेडपिन, ग्रीनवैल्यू); एनालॉगवर्इट (ब्लू लेडपिन, ब्लूवैल्यू); }

अब जब हमारा प्रोग्राम तैयार हो गया है, तो चलिए xChip को प्रोग्राम करते हैं! अपलोड प्रक्रिया बिल्कुल वैसी ही है जैसे आप अपने Arduino बोर्डों पर किसी प्रोग्राम को कैसे अपलोड करेंगे।

जब आपका काम हो जाए, तो क्यों न इसे अनप्लग करें और परीक्षण के लिए बाहर लाएं।

सिफारिश की: