विषयसूची:

Arduino एयर कंडीशनिंग मॉडल: 6 कदम
Arduino एयर कंडीशनिंग मॉडल: 6 कदम

वीडियो: Arduino एयर कंडीशनिंग मॉडल: 6 कदम

वीडियो: Arduino एयर कंडीशनिंग मॉडल: 6 कदम
वीडियो: What is Arduino | All Basic Concept of ArduinoUno in hindi | Arduino tutorial in hindi | ArduinoUno 2024, जुलाई
Anonim
Arduino एयर कंडीशनिंग मॉडल
Arduino एयर कंडीशनिंग मॉडल

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

Arduino माइक्रोकंट्रोलर किट और MATLAB संस्करण 2016b और 2017b का उपयोग करके, हम इन परिणामों को सापेक्ष सफलता के साथ प्रदर्शित करने में सक्षम थे।

चरण 1: उपकरण

उपकरण
उपकरण

निम्नलिखित के साथ माइक्रोकंट्रोलर किट:

-स्पार्कफन रेड बोर्ड

-स्पार्कफन ब्रेडबोर्ड

-एलसीडी बोर्ड

-पोटेंशियोमीटर

-तापमान संवेदक

-सर्वो

-USB/Arduino अडैप्टर

-जम्पर तार (25, न्यूनतम)

यूएसबी इनपुट के साथ लैपटॉप (विंडोज 10)

3डी प्रिंटेड ऑब्जेक्ट (वैकल्पिक)

चरण 2: माइक्रोकंट्रोलर सेटअप

माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप
माइक्रोकंट्रोलर सेटअप

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

प्रत्येक व्यक्तिगत मॉडल की छवियां माइक्रोकंट्रोलर टूल किट के मैनुअल या इसकी वेबसाइट https://learn.sparkfun.com/tutorials/tags/arduino?page=all पर पाई जा सकती हैं।

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

सन्दर्भ के लिए:

एलसीडी: c1-16

सर्वो: i1-3 (जीएनडी + -)

अस्थायी सेंसर: i13-15 (- GND +)

पोटेंशियोमीटर: g24-26 (- GND +)

इसके बाद, जम्पर तारों को माइक्रोकंट्रोलर इकाइयों के प्रत्येक पिन से जोड़ना शुरू करें; हालांकि समग्र भव्य योजना में मनमाना, इन महत्वपूर्ण कनेक्शनों के साथ डिजाइन बनाया गया था:

पोटेंशियोमीटर को LCD से जोड़ना: f25 -- e3

सर्वो GND वायर: j1 -- डिजिटल इनपुट 9

टेम्प सेंसर GND: j14 -- एनालॉग इनपुट 0

एलसीडी इनपुट: e11-e15 -- डिजिटल इनपुट 2-5

e4 -- डिजिटल इनपुट ७

e6 -- डिजिटल इनपुट ६

(नोट: यदि सफल हो, तो LCD के किनारे पर दोनों लाइटें फ्लैश होनी चाहिए और पोटेंशियोमीटर एडॉप्टर से पावर दिए जाने पर इसकी चमक को समायोजित करने में मदद कर सकता है।)

वैकल्पिक: आवश्यकता के भाग के रूप में एक 3D मुद्रित वस्तु का उपयोग किया गया था। अधिक नाजुक भागों को संभावित नुकसान से बचने के लिए, एलसीडी के चारों ओर एक विस्तारित केस को आस्तीन के रूप में रखा गया था। LCD की स्क्रीन का माप लगभग 2-13/16" x 1-1/16" x 1/4" साबित हुआ, और इस प्रकार केवल ऊंचाई में काफी बदलाव किया गया। यदि एक 3D प्रिंटर आसानी से उपलब्ध है, तो एक व्यक्तिगत वस्तु जोड़ने पर विचार करें।, हालांकि अनावश्यक। साथ ही, ध्यान रखें कि माप भिन्न हो सकते हैं।

चरण 3: MATLAB सेटअप

MATLAB सेटअप
MATLAB सेटअप
MATLAB सेटअप
MATLAB सेटअप

MathWorks वेबसाइट https://www.mathworks.com/products/matlab.html?s_tid=srchtitle पर उपलब्ध MATLAB (2016a और उसके बाद) का अधिक अद्यतन संस्करण स्थापित करें। एक बार खोलने के बाद, होम टैब पर ऐड-ऑन पर जाएं और माइक्रोकंट्रोलर कमांड को एक्सेस करने के लिए "MATLAB सपोर्ट पैकेज फॉर Arduino हार्डवेयर" डाउनलोड करें।

एक बार पूरा हो जाने पर, माइक्रोकंट्रोलर की किसी के कंप्यूटर/लैपटॉप से कनेक्टिविटी का पता लगाने के लिए एक परीक्षण किया जा सकता है। टूल किट से उन्हें USB अडैप्टर से कनेक्ट करने के बाद, कमांड "fopen(serial('nada')) डालें।"

कनेक्टर को "COM#" के रूप में बताते हुए एक त्रुटि संदेश पॉप-अप होगा, जिसे एक arduino ऑब्जेक्ट बनाने की आवश्यकता होगी जब तक कि यह हर समय एक ही इनपुट हो।

एलसीडी के Arduino लाइब्रेरी से सीधा संबंध नहीं होने के कारण, संदेशों को प्रदर्शित करने के लिए एक नई लाइब्रेरी बनाई जानी चाहिए। एक अनुशंसा है कि "Arduino LCD" खोजने और +arduinoioaddons फ़ोल्डर में रखने के बाद MATLAB सहायता विंडो में पाए गए LCD उदाहरण से LCDAddon.m फ़ाइल बनाएं, या संलग्न संपीड़ित फ़ोल्डर का उपयोग करें और इसकी सभी सामग्री को उपरोक्त में कॉपी करें फ़ोल्डर।

यदि सफल हो, तो MATLAB में Arduino ऑब्जेक्ट बनाने का कोड नीचे दिखाया गया है।

a=arduino('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAAddon');

चरण 4: कार्य

कार्यों
कार्यों
कार्यों
कार्यों

MATLAB फ़ंक्शन बनाएं। इनपुट के लिए, हम चर "eff" और "T_min" का उपयोग करते हैं; आउटपुट के लिए, हालांकि समग्र डिजाइन में अनावश्यक, हमने परिणामों से डेटा को शामिल करने के तरीके के रूप में चर "बी" का उपयोग किया। "eff" इनपुट सर्वो की अधिकतम गति को प्रबंधित करने की अनुमति देता है, और "T_min" इनपुट वांछित न्यूनतम तापमान को नियंत्रित करता है। मूल्य "बी" इस प्रकार एक मैट्रिक्स का उत्पादन करना चाहिए जिसमें समय, तापमान और पंखे की दक्षता के लिए तीन कॉलम हों। इसके अलावा, विस्तार के लिए एक बोनस के रूप में, नीचे सूचीबद्ध कोड में एक if-statement भी है जैसे कि वांछित न्यूनतम तापमान के करीब पहुंचने पर पंखे की गति पचास प्रतिशत कम हो जाएगी।

यदि सभी इनपुट और जम्पर तारों को ठीक से रखा गया है और यह मानते हुए कि arduino कनेक्शन का पोर्ट COM4 है और फ़ंक्शन का नाम "फैनरीड" है, तो निम्न कोड पर्याप्त होना चाहिए:

समारोह [बी] = फैनरीड (टीमिन, eff)

एक साफ़ करें; स्पष्ट LCD;a=arduino('com4', 'uno', 'Libraries', 'ExampleLCD/LCDAAddon');

टी = 0; t_max=15; सेकंड में % समय

एलसीडी = एडन (ए, 'उदाहरण एलसीडी/एलसीडीएडॉन', {'डी7', 'डी6', 'डी5', 'डी4', 'डी3', 'डी2'});

इनिशियलाइज़एलसीडी (एलसीडी, 'पंक्तियाँ', 2, 'कॉलम', 2);

अगर eff>=1 || ई<0

त्रुटि ('प्रशंसक सक्रिय नहीं होगा जब तक कि eff 0 और 1 के बीच सेट न हो।')

समाप्त

t=1:10% छोरों/अंतरालों की संख्या के लिए

स्पष्ट सी; % दोहराई जाने वाली त्रुटि को रोकें

वी = रीड वोल्टेज (ए, 'ए0');

TempC=(v-0.5)*100; वोल्टेज रेंज के लिए% अनुमान 2.7-5.5 V

अगर TempC>Tmin अगर TempC

सी = ['अस्थायी', num2str (TempC, 3), 'सी ऑन'];

राइटपीडब्लूएमडीयूटीसाइकिल (ए, 'डी 9', eff/2); सर्वो को आधी गति से चालू करें

एसपीडी = 50;

अन्यथा

सी = ['अस्थायी', num2str (TempC, 3), 'सी ऑन'];

राइटपीडब्लूएमड्यूटीसाइकिल (ए, 'डी 9', एफईएफ); दी गई गति से सर्वो चालू करें

एसपीडी = १००;

समाप्त

अन्यथा

सी = ['अस्थायी', num2str (TempC, 3), 'सी ऑफ'];

राइटपीडब्लूएमड्यूटीसाइकिल (ए, 'डी 9', 0); % शट डाउन अगर पहले से चालू है

एसपीडी = 0;

समाप्त

प्रिंटएलसीडी (एलसीडी, सी);

विराम(3); % तीन सेकंड प्रति लूप बीत जाता है

समय (टी) = टी। * 3;

टेम्पप्लॉट (टी) = टेम्पसी;

अधिनियम (टी) = एसपीडी;

सबप्लॉट(2, 1, 1)

प्लॉट (समय, टेम्पप्लॉट, 'बी-ओ')% लाइन ग्राफ

अक्ष ([0 33 0 40])

xlabel ('समय (सेकंड)')

येलेबल ('तापमान (सी)')

रूको

प्लॉट ([० ३३], [टमिन त्मिन], 'आर-')

रूको

प्लॉट ([० ३३], [टमिन+२ टीमिन+२], 'जी-')

सबप्लॉट(2, 1, 2)

बार (समय, अधिनियम)% बार ग्राफ

xlabel ('समय (सेकंड)')

ylabel ('दक्षता (%)')

समाप्त

बी = स्थानांतरण ([समय; टेम्पप्लॉट; अधिनियम]);

समाप्त

अब जब कार्य पूरा हो गया है, तो परीक्षण का समय आ गया है।

चरण 5: परीक्षण

परिक्षण
परिक्षण
परिक्षण
परिक्षण

अब "function_name(input_value_1, input_value_2)" डालकर कमांड विंडो में फ़ंक्शन का परीक्षण करें और देखें। सुनिश्चित करें कि कोई Arduino ऑब्जेक्ट पहले से मौजूद नहीं है; यदि हां, तो इसे हटाने के लिए "क्लियर ए" कमांड का उपयोग करें। यदि त्रुटियां होती हैं, तो जांचें और देखें कि क्या कोई कनेक्टर गलत जगह पर है या गलत डिजिटल या एनालॉग इनपुट का उपयोग किया गया है। परिणाम अलग-अलग होने की उम्मीद है, हालांकि यह कुछ जम्पर तारों और तापमान संवेदक की नियुक्ति के कारण हो सकता है।

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

चरण 6: निष्कर्ष

निष्कर्ष
निष्कर्ष

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

अंतिम परियोजना के अपेक्षाकृत सरल डिजाइन के कारण, जो लोग इसके प्रदर्शन में सुधार करने में रुचि रखते हैं, वे अंतिम उत्पाद में बदलाव और बदलाव कर सकते हैं जो परियोजना को बेहतर और अधिक विस्तृत बना सकते हैं। हालांकि, यह सर्किट में कमजोरियों को प्रकट करता है जैसे कि सर्वो की सक्रियता जिसके परिणामस्वरूप सर्किट के वोल्टेज रीडिंग में छिटपुट उतार-चढ़ाव होता है, जिससे सिस्टम कभी भी समान परिणाम नहीं दे सकता है। इसके अलावा, जब "eff" 0.4 और उच्चतर सेट किया जाता है, तो सर्वो गति में बदलाव देखने में समस्याएँ होती हैं। यदि तापमान और आर्द्रता सेंसर का उपयोग किया जाता है, तो अंतिम मॉडल अधिक जटिल होगा, फिर भी अधिक सुसंगत मान प्रस्तुत करेगा। फिर भी, यह एक ऐसा अनुभव है जो दिखाता है कि एक जटिल मशीन अपने साधारण भागों के संयोजन के रूप में कार्य कर सकती है।

सिफारिश की: