Mega328 एलसीडी, कीपैड और FTDI इन-सर्किट प्रोग्रामिंग के साथ

Mega328 एलसीडी, कीपैड और FTDI इन-सर्किट प्रोग्रामिंग के साथ: 18 स्टेप्स (पिक्चर्स के साथ)

तो यह यहाँ क्यों है?

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

यह परियोजना कुछ प्रयास करेगी लेकिन अंत में आपके पास एक अकेला माइक्रो कंट्रोलर प्लेटफॉर्म होगा जिसमें एलसीडी स्क्रीन, IC2 कीपैड, मेमोरी रीड / राइट और FTDI इन-सर्किट प्रोग्रामिंग शामिल हैं। आप 5V प्रोग्रामिंग केबल का उपयोग करके अपने प्रोजेक्ट को सीधे कंप्यूटर से कनेक्ट करके कोड अपलोड कर सकते हैं।

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

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

प्रोजेक्ट रॉकेट साइंस नहीं है। बस एक ब्रेडबोर्ड पर सर्किट आरेख को पुन: उत्पन्न करें, 5V एफटीडीआई प्रोग्रामिंग केबल में प्लग करें और स्केच अपलोड करें। स्केच टिप्पणियों में साथ-साथ अनुसरण करने से आपको जल्द ही व्हाट्सएप के बारे में पता चल जाएगा और उम्मीद है कि आप इस प्रक्रिया को अपने अंत में कैसे ढाल सकते हैं।

कौशल और उपकरण आवश्यक: आपको अल्पविकसित सोल्डरिंग कौशल और निश्चित रूप से कुछ प्रकार के टांका लगाने वाले लोहे की आवश्यकता होती है। यदि आप चाहते हैं कि मेरा सुझाव टांका लगाने वाले लोहे के लिए जाना जाए तो कनाडा में सोलकोबायोटिक्स से उपलब्ध हको एफएक्स -888 डी उपलब्ध है। यह एक महान लोहा है (यह मेरी छोटी प्रयोगशाला में मुश्किल से आराम मिलता है)।

यदि आप योजनाबद्ध और निर्देशों का पालन करते हैं, तो आपको केवल इलेक्ट्रॉनिक्स की एक बुनियादी समझ की आवश्यकता होती है, हालांकि मैं दृढ़ता से सुझाव देता हूं कि आप कुछ भी शोध न करें। यह प्रगति का एकमात्र तरीका है।

अंत में आपको तप की आवश्यकता है और अब तक इस सामान में रुचि रखने वाले किसी भी व्यक्ति के पास सबसे बड़ी संपत्ति हो सकती है। हार मत मानो।

आपूर्ति:

चरण 1: अपने भागों को इकट्ठा करना।

सामग्री का बिल

योजनाबद्ध सभी भागों के मूल्यों को नोट करता है (DigiKey एक बहुत ही उपयोगी स्रोत है)। सब कुछ छेद पैकेज (पारंपरिक तार लीड और पिन) के माध्यम से उपलब्ध होना चाहिए। ब्रेड बोर्डिंग के लिए .01 की एक पिन पिच अच्छी तरह से काम करती है।

आपूर्तिकर्ताओं के लिए भाग संख्या और लिंक अधिकांश लेकिन सभी भागों के लिए नहीं दिखाए गए हैं क्योंकि प्रतिरोध और कैपेसिटर जैसी चीजें आसानी से खट्टी हो जाती हैं।

5- .1FF CERAMIC CAPACITOR - (DigiKey BC1084CT-ND)

2 - 10uF अल्युमीनियम कैपेसिटर (डिजीकेय 493-12772-1-एनडी)

1 - 4.7uF ALUMINUM CAPACITOR (DigiKey 493-12781-3-ND)

2 - 22 पीएफ कैपेसिटोर (स्पार्कफुन 22 पीएफ कैप)

1 - 1N914 DO35-4 फास्ट स्विचिंग डायोड (DigiKey 1N914ATR-ND)

1 - त्रि रंगीन आरजीवाई एलईडी 5 मिमी कॉमन कैथोड (डिजीके 67-2184-एनडी) - या 3 अलग एलईडी प्रतिरोधों के साथ

1 - R-78C5.0-1.0 DC / DC- कनवर्टर 1.0 AMP SIP3 सिंगल आउटपुट (DigiKey 945-1395-5-ND) - या समकक्ष।

1 - MEGA328-P DIL28-3 MICROCONTROLLER (स्पार्कफुन मेगा 328) - (बूट लोडर के साथ)

1 - DIL16 I2C- बस रिमोट 8-बिट I / O विस्तारक PCF8574PN (DigiKey 568-1075-5-ND)

1 - TC7HC14 CMOS श्मिट इन्वर्टर DIP14 (DigiKey TC74HC14APF-ND)

  • नोट: इस चिप में वास्तव में 6 इनवर्टर हैं। आप उनमें से केवल एक का उपयोग करेंगे।

1 - 40 हेडर पिंस के ब्रेकवे सेक्शन (स्पार्कफुन .1 "हेडर)

1 - पीला 3 मिमी एलईडी (डिजीके 511-1265-एनडी)

1 - लाल 3 मिमी एलईडी (डिजीके 511-1255-3-एनडी)

1 - रेड 5 मिमी एलईडी (डिजीके 67-1105-एनडी)

1 - ग्रीन 5 मिमी एलईडी (डिजीके 67-1101-एनडी)

1 - AT-2440 PIEZO ट्रांसड्यूसर (डिजी कुंजी भाग # 668-1103-ND)

1 - Q1 16 मेगाहर्ट्ज XTAL / S QS CRYSTAL (स्पार्कफुन क्रिस्टल)

1 - Q2 BC547B TO92 NPN ट्रांजिस्टर - या 2N3904 या 2N2222। कई सामान्य उद्देश्य NPN का काम करेंगे

8 - 10K रिस्टोर - नोट: सभी प्रतिरोध 1/4 वाट, कार्बन फिल्म, +/- 5%, होल प्रकार (डिजीके) के माध्यम से हैं

1 - 100R रिस्टोर

2 - 1K रिस्टोर

3 - 560R रिस्टोर

2 - 150R रिस्टोर

2 - KSA-TACTILE-SWITCH KSA सीरीज (स्पर्श स्विच पर स्पार्कफुन क्षणिक) - या एक पल का स्विच

1 - लघु एसपीएसटी स्विच - या किसी भी चालू / बंद स्विच

1 - 8 ओम वक्ता। (सुझाव 100 - 200 mW लघु शैली हालांकि किसी भी 8 ओम वक्ता करेंगे)

1 - की पैड 4X3 (स्पार्कफुन केपीडी)

1 - सीरियल सक्षम एलसीडी (ब्लैक एलसीडी पर स्पार्कफुन 16X2 सफेद)

1 - एलसीडी के लिए तार दोहन (स्पार्कफुन सेंसर हार्नेस)

1 - 5V FTDI प्रोग्रामिंग केबल (स्पार्कफुन FTDI केबल) - नोट: 5V संस्करण होना चाहिए।

भागों पर कुछ अतिरिक्त नोट्स;

  • ब्रेडबोर्ड पर सर्किट को तार करने के लिए आपको किसी तरह की आवश्यकता होगी। एक उपयोगी विधि एक तार किट है जैसे स्पार्कफुन और / या स्पार्कफुन से 30 जम्पर तारों का एक सेट। इसका सस्ता, सुविधाजनक और वे हमेशा के लिए रहता है। फंसे तारों (जब तक कि मिलाप के साथ टिनर्ड नहीं) ब्रेडबोर्ड के साथ अच्छी तरह से काम नहीं करते हैं।
  • .01 "हेडर पिंस की ब्रेकवे स्ट्रिप को एफटीडीआई हेडर के लिए 6 पिन के सेट में और कीपैड के लिए 7 पिन की एक और स्ट्रिप को तोड़ने की आवश्यकता होगी। बाकी का उपयोग टेस्ट और हुकअप पॉइंट के रूप में किया जा सकता है जैसा कि आप फिट देखते हैं।
  • आपको यह सब करने के लिए एक उचित आकार की ब्रेडबोर्ड की आवश्यकता होगी। यह वह है जो मेरी प्रयोगशाला में सबसे अधिक उपयोग करता है
  • अंत में, सूचीबद्ध आपूर्तिकर्ता केवल चीजों को खोजने में आपकी मदद करने के लिए हैं और किसी भी तरह से एकमात्र स्रोत नहीं हैं। यदि आप एक टांका लगाने वाले लोहे के साथ काम कर रहे हैं, तो आप जंक सर्किट बोर्डों से बहुत सारे हिस्सों को खुरच सकते हैं

चरण 2: योजनाबद्ध को समझना

सर्किट विवरण

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

आपके ब्रेडबोर्ड को आपूर्ति की आवश्यकता होगी। यदि आपके पास बेंच पॉवर सप्लाई है, तो इसे 8-12V के लिए डायल करें और वर्तमान आउटपुट को लगभग .8 amps तक सीमित करें यदि आप कर सकते हैं (बस अगर कुछ गलत हो जाता है तो)। यदि आपके पास बेंच सप्लाई नहीं है तो एक समर्पित ब्रेडबोर्ड पावर सप्लाई (स्पार्कफुन या सोलरबायोटिक्स से उपलब्ध) पर विचार करें। अगर न तो उपलब्ध है, तो एक साधारण 9V बैटरी थोड़ी देर के लिए काम करेगी।

सीधे सेल चार्जर में प्लग की तरह वॉल वार्ट स्टाइल पावर सप्लाई से बोर्ड को पावर देने से बचें क्योंकि वे अक्सर मेन एसी पावर से पर्याप्त रूप से अलग नहीं होते हैं।

नोट: मेगा 328 और एलसीडी दोनों को 5 वी के एक स्वच्छ स्रोत की आवश्यकता होती है, इसलिए यदि आप 9 वी बैटरी का उपयोग करते हैं, तो आपको किसी प्रकार के डीसी / डीसी नियामक का उपयोग करना चाहिए

योजनाबद्ध पीडीएफ फाइल को डाउनलोड और प्रिंट करना सबसे अच्छा है। सर्किट विवरण पढ़ते समय संदर्भ के रूप में इसका उपयोग करें। ध्यान दें कि सर्किट आरेख (K1, K2 आदि) में कनेक्टर ब्रेड बोर्ड के लिए आवश्यक नहीं हैं और सामग्री के बिल में शामिल नहीं हैं।

वोल्टेज अधिनियम

सर्किट पावर को K7 के माध्यम से नियामक DC1 के पिन 1 में पेश किया जाता है। नियामक एक 5V / 1A स्विचिंग DC / DC कनवर्टर है जो रीकॉम (R-78C5.0 डिजीके से उपलब्ध है) से है। यहाँ दिखाए गए कनवर्टर को इनपुट सप्लाई 12V है लेकिन 8-28 वोल्ट से इनपुट वोल्टेज रेंज स्वीकार्य है। ये कन्वर्टर्स 91% दक्षता पर काम करते हैं, वे शांत चलते हैं और आसानी से ब्रेड बोर्ड में प्लग करेंगे। महत्वपूर्ण वोल्टेज 5V ouput विनियमित है। पॉवर ऑन इंडिकेशन लाल LED4 द्वारा प्रदान किया गया है।

प्रसंस्करण

हमारे उद्यम के केंद्र में, बूट लोडर के साथ अकेले MEGA328P है। (इस MCU को अकेले एक स्टैंड कहा जाता है क्योंकि आप इसे विशेष रूप से समर्थन करने के लिए बनाए गए सर्किट में प्लग कर रहे हैं)। SCK (पिन 19) से जुड़ी येल्लो LED1 और R7 वहाँ बस आपको यह जानने में मदद करती हैं कि चिप सक्रिय है। अपलोड के दौरान चिप रीसेट या संचार करते समय यह पल-पल चमकता रहेगा। एमसीयू के अकेले संचालन के लिए सर्किट के उस विशेष हिस्से की कड़ाई से आवश्यकता नहीं है, लेकिन इसकी एक अच्छी विशेषता है। पिंस 9 और 10 पर 16MHz क्रिस्टल, Q1 और 22pf कैपेसिटर एक थरथरानवाला प्रदान करते हैं। आप चिप्स आंतरिक 8MHz थरथरानवाला और नंगे हड्डियों का उपयोग कर सकते हैं यह और भी अधिक है, लेकिन मैं इसकी सिफारिश नहीं करता हूं। स्केच का उचित संचालन सटीक समय पर आधारित है और 8MHZ इसे काटता नहीं है (मैंने कोशिश की)।

नोट: जब आप अपने मेगा 328 को आदेश देते हैं तो सुनिश्चित करें कि यह बूट लोडर के साथ आता है जब तक कि आप यह नहीं जानते कि यह कैसे करना है।

debounce

AtMega328 लोगों की एक डिजिटल दुनिया में रहता है और कोई ग्रे क्षेत्रों के साथ शून्य है। 99 प्रतिशत समय का मतलब यह है कि ठीक से काम करने के लिए एक इनपुट या आउटपुट पिन कोड के लिए हाई या लो के रूप में पढ़ा जाना चाहिए। हमारे मामले में कार्यक्रम लगातार पिन 13 के उच्च / कम स्थिति की जांच कर रहा है जो कि हेडर K1 से जुड़े स्विच द्वारा नियंत्रित किया जाता है।

दुर्भाग्य से हर स्विच फेंकने पर 'उछाल' देता है जिसका अर्थ है कि सिग्नल अपनी नई स्थिति में बसने तक तेजी से और बंद हो जाता है। यह एक प्रोसेसर के साथ मिलिसेकंड्स में कोड के माध्यम से अच्छी तरह से नहीं बैठता है क्योंकि यह हर बार स्विच को फेंकने पर दर्जनों उच्च / कम राज्यों को देख सकता है।

डेबिट सर्किट बिल्कुल निश्चित पिन बनाता है 13 राज्यों के बीच कोई दोलन के साथ एक स्थिर उच्च या कम संकेत देखता है। इस कार्य को नीचे कैसे समझाया गया है।

एक ज्ञात स्थिति को सुनिश्चित करने के लिए मौजूद है जब तक कि हम किसी तरह से बदलाव को ट्रिगर नहीं करते हैं खींचें पिन उच्च या कम। एक पिन को ऊपर या नीचे खींचना हमेशा पर्याप्त नहीं होता है, यदि आपकी ट्रिगर पल्स स्थिर नहीं है और अकेले स्विच करता है तो निश्चित रूप से एक स्थिर ट्रिगर पल्स वितरित नहीं करता है। रेसिडर आर 15, एक संभावित कम प्रभाव से उच्च कभी नहीं जाता है, यह सुनिश्चित करने के लिए जमीनी क्षमता पर पिन 13 रखता है। Schmitt इन्वर्टर IC3 (पिन 1) पर इनपुट पिन को रोकनेवाला R2 के माध्यम से एक उच्च स्थिति में रखा जाता है जब तक कि K1 पर जुड़ा स्विच और प्रतिरोधक R3 जमीन पर एक पथ प्रदान नहीं करता है जो पिन 1 LOW को खींचता है। जब ऐसा इन्वर्टर होता है, तो पिन 1 पर एक LOW संवेदन, पिन 2 पर विपरीत (इसलिए नाम इन्वर्टर) आउटपुट करता है। MCU पिन 13 5 वोल्ट के साथ हिट हो जाता है लेकिन सिग्नल के दोलन के बिना वर्तमान का केवल यूए।

संधारित्र सी 1 उच्च / कम राज्यों के बीच एक चिकनी संक्रमण प्रदान करता है।

नोट: TC7HC14 (IC3) में वास्तव में 6 व्यक्तिगत इनवर्टर शामिल हैं। हम केवल एक का उपयोग करेंगे हालांकि बाकी का उपयोग बाद में स्वच्छ, सकारात्मक ट्रिगर प्रदान करने के लिए किया जा सकता है क्योंकि आप इस परियोजना को अपने स्वयं के छोर पर बदल देते हैं।

श्रव्य / दृश्य प्रतिक्रिया

उपयोगकर्ता को ऑडियो और विज़ुअल फीडबैक एलसीडी 5 या 6 और 14 पिन से जुड़े एक सिंगल-ट्राइ-कलर (आरजीवाई) एलईडी द्वारा प्रोग्रामिंग अनुक्रम के दौरान प्रदान किया जाता है और एमसीयू के पिन 12 पर एक ट्रांजिस्टर नियंत्रित पाईजो। 'बीट इज़ गलत' साउंडिंग बीप और चमकती लाल या पीली एलईडी जैसा कुछ भी नहीं है जिससे आप दो बार सोच सकें कि आप क्या कर रहे हैं। इसके विपरीत एक हरे रंग की एलईडी और (खुश?) ध्वनि आपको बताती है कि चीजें अच्छी तरह से प्रगति कर रही हैं। आप RGY के बजाय 3 LED और प्रतिरोधों का उपयोग कर सकते हैं लेकिन भागों की गिनती क्यों बढ़ाते हैं?

MCU के पिन 11 में जुड़ा एक 8 ओम स्पीकर प्रोग्राम ऑपरेशन के दौरान श्रव्य संकेत प्रदान करता है। जनरेट किए गए टोन स्टार्टअप, रंग स्विचिंग और प्रोग्राम एंड जैसे प्रोग्राम चरणों की घोषणा करते हैं।

पोर्ट एक्सपैंडर और कीपैड

JP1 से जुड़ा एक 12 बटन 4X3 कीपैड योजनाबद्ध पर IC2 चिप करने के लिए वायर्ड है। PCF8574P पोर्ट एक्सपेंडर एक I2C (टू वायर इंटरफेस) डिवाइस है जो हमें MCU के केवल 2 पिन अर्थात् SDA और SCL (MCU पिन 27 और 28) के साथ 7 पिन कीपैड को नियंत्रित करने देता है।

योजनाबद्ध पर लिखे गए चिप्स के पते (0x20) पर ध्यान दें। यह पता ग्राउंडिंग पिन A0, A1 और A2 द्वारा असाइन किया गया है। इन विशिष्ट पिनों को जमीन से जोड़ना एक आवश्यक है क्योंकि डिवाइस के पते को स्केच में पते से मेल खाना है या नियंत्रक इसे कभी नहीं करेगा।

ध्यान दें कि पोर्ट विस्तारक के 4, 6 और 9 पिन 10K प्रतिरोधों R4, R5 और R6 के साथ खींचे गए हैं।

इन-सर्किट प्रोग्रामिंग

हमारे कंट्रोलर का इन-सर्किट प्रोग्रामिंग FTDI हैडर J1 और 5V FTDI प्रोग्रामिंग केबल के माध्यम से पूरा होता है। यह Arduino IDE से कोड अपलोड करने का एक बहुत ही विश्वसनीय तरीका है लेकिन इस बात से अवगत रहें कि एक FTDI केबल सिर्फ तारों से अधिक है। यह एक USB से सीरियल कन्वर्टर है, जो स्वयं प्रोसेसर में बनाया गया है (ध्यान रखें कि इसे हुक करना)।

ध्यान दें कि FTDI हैडर J1 में 5V पिन (योजनाबद्ध में VCC लेबल) है। यह एक उत्पादन पिन ताकि प्रोग्रामिंग केबल आपके MCU पर अपलोड के लिए बिजली की आपूर्ति कर सके। सुनिश्चित करें कि आप केबल को हुक करने से पहले किसी अन्य बिजली स्रोत को डिस्कनेक्ट कर दें। चिप पर एफटीडीआई अपलोड करने का सारा जादू पिन 2 (RXD) और 4 (TXD) पर होगा। जब MCU पिन 1 (RESET) DTR द्वारा जमीन पर खींचा जाता है तो बूट लोडर को 'स्टैंडबाय फॉर अपलोड' सिग्नल मिलता है।

  • नोट: सीरियल एलसीडी के किसी भी भ्रष्टाचार को रोकने के लिए अपलोड के दौरान बोर्ड से एलसीडी को डिस्कनेक्ट करना हमेशा एक अच्छा विचार है।
  • यदि एलईडी 1 आपके सर्किट में शामिल है, तो आप इसे तेजी से फ्लैश करते देखेंगे क्योंकि अपलोड प्रक्रिया के दौरान नियंत्रक आपके कोडिंग आईडीई के साथ संचार करता है।

रिमोट सिम्युलेटर

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

एक क्षणिक संकेत प्रदान करने के लिए, हम केवल 10K रोकनेवाला को ORIDE पिन पर जमीन से जोड़ते हैं और इसे एक क्षणिक पुश बटन स्विच से जोड़ते हैं जिसमें 5V दूसरी तरफ जुड़ा होता है। जब आप बटन दबाते हैं तो 5V को ORIDE पर वितरित किया जाता है, जो वायरलेस रिमोट द्वारा प्रदान किए गए समान फ़ंक्शन की जगह ट्रिगर के रूप में आवश्यक उच्च संकेत प्रदान करेगा। जब आप बटन जारी करते हैं, तो पिन तुरंत (बटन उछाल के अलावा) अवरोधक के माध्यम से जमीन पर जाता है। बाउंस से निपटने के लिए हमारे पास स्केच में कोड है।

लिक्विड क्रिस्टल डिस्प्ले

सीरियल इनेबल्ड एलसीडी एक 2x16 कैरेक्टर का लिक्विड क्रिस्टल डिस्प्ले है जिसे केवल अपना काम करने के लिए MCU पर सिंगल पिन की आवश्यकता होती है। यह विशेष इकाई स्वयं के प्रोसेसर सर्किट बोर्ड के साथ पूर्ण है। एलसीडी हेडर K8 के सर्किट वायरिंग भागों की सूची में एलसीडी वायर दोहन से मेल खाती है।

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

चरण 3: कुंजी पैड हैडर पिन को मिलाप

कीपैड पूरा करने के लिए टांका लगाने का एकमात्र सा है। एक .7 "अनुभाग को ध्यान से एक 7 पिन सेक्शन को तोड़कर कीपैड हेडर बनाएं। हेडर पिंस को दूर करें। कीपैड पीसीबी में शॉर्ट एंड्स को रखें जैसा कि फोटो में दिखाया गया है और उन्हें जगह में मिलाप करना है।

नोट: सोल्डरिंग तकनीकों आदि में शामिल हुए बिना यह निर्देश काफी बड़ा है। यदि आपको अच्छी तरह से मदद की आवश्यकता है तो सोल्डर करने के तरीके पर एक निर्देश योग्य है। जाओ पता लगाओ।

चरण 4: ब्रेडबोर्ड से बाहर रखना

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

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

फोटो पर दिखाए अनुसार अपने हिस्से रखें। तीर प्रत्येक भाग के पिन 1 को दर्शाता है। अधिकांश चिप्स में शरीर के ऊपर U आकार का इंडेंटेशन होता है। इस चिह्न के बाईं ओर पिन सामान्य रूप से पिन होता है। 1. अन्य उपकरणों में पिन के बगल में एक छोटा गोलाकार इंडेंट हो सकता है। संदेह होने पर डेटा शीट की जांच करें।

नोट: 8 ब्रेक दूर पिन का उपयोग करके एक ब्रेकआउट हेडर बनाया जा सकता है। हालांकि यह कड़ाई से आवश्यक नहीं है, बाद में इस हेडर को MCU पिन के लिए एक आसान पहुंच बिंदु के रूप में उपयोग किया जा सकता है।

नोट: हेडर चिह्नित एलसीडी का उपयोग केवल तभी किया जाता है जब आप एलसीडी सर्किट बोर्ड में एलसीडी हार्नेस तारों को मिलाप करने का निर्णय लेते हैं।

चरण 5: बिजली की आपूर्ति तारों और परीक्षण

नोट: इस डीसी डीसी डीसी कन्वर्टर के लिए है। इस डिवाइस के लिए एसी वॉयलेंस को लागू न करें

कनवर्टर को तार के रूप में फोटो में दिखाया गया है। लंबे नारंगी तार शीर्ष पर 12V डीसी पावर रेल से जुड़ा हुआ है। पिन 2 से भूरे रंग का तार मुख्य डीसी ग्राउंड है।

लाल तार उस सकारात्मक पक्ष से जुड़ता है जो हमारा मुख्य 5V बस होगा और हरे रंग का तार बस का मैदान होगा।

अपने लाल एल ई डी में से एक ले लो और एएनओडीई (आमतौर पर सबसे लंबी तार की लीड) को कन्वर्टर्स पिन 3 ब्रेडबोर्ड ट्रैक में दिखाया गया है और कैथोड को जमीन से जोड़ने वाले 560 ओम अवरोधक के साथ सर्किट को पूरा करें। यह हमारा 'पॉवर ऑन' संकेत है।

अंत में 5V रेल के पार एक 10uF संधारित्र रखें जैसा कि सकारात्मक और नकारात्मक लीड को सही ढंग से प्राप्त करना सुनिश्चित करता है।

8-12V (अनुशंसित) वोल्ट को हुक करें केवल डीसी सकारात्मक और नकारात्मक सुनिश्चित करने के लिए शीर्ष रेल को बिजली की आपूर्ति सही है। अगर सबकुछ सही तरीके से तार-तार हो जाए, तो आपका पॉवर ऑन एलईडी रोशन हो जाएगा।

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

12V आपूर्ति को डिस्कनेक्ट करें।

चरण 6: हुक 5 वोल्ट रेल

अपने बोर्ड पर अतिरिक्त 5 वोल्ट रेल बनाएँ, क्योंकि उच्च वोल्टेज रेल से गलती से कनेक्ट न होने के लिए अतिरिक्त सावधानी बरती जाए। सही वोल्टेज के लिए सभी नई रेल का परीक्षण करें।

चरण 7: AtMega 328 चरण 1 को तार करना

नोट: आपको कुछ प्रतिरोधों के तार लीड को मोड़ने की आवश्यकता हो सकती है जैसा कि आसान प्लेसमेंट के लिए दिखाया गया है।

सुनिश्चित करें कि आप वायरिंग प्रक्रिया को पूरी तरह से समझने के लिए योजनाबद्ध का पालन करते हैं।

हम MCU के पिन 1 पर शुरू करते हैं (पीले तीर द्वारा इंगित)।

  1. FTDI हैडर पिन 6 (DTR) और MCU पिन 1 (RESET) के बीच .1uF कैप कनेक्ट करें। यह संधारित्र एक सफल अपलोड के लिए महत्वपूर्ण है क्योंकि यह चिप्स बूट लोडर को एक ट्रिगर सिग्नल (एक क्षणिक एलओवी सिग्नल) भेजता है जो इसे लंबित अपलोड की तलाश में बताता है।
  2. 5V और MCU पिन के बीच 1N914 डायोड को कनेक्ट करें यह सुनिश्चित करें कि डायोड काली रेखा 5 V रेल की ओर है
  3. 5V से MCU पिन 1 तक 10K पुल रेसिस्टर को कनेक्ट करें।
  4. अपने रीसेट स्विच के एक तरफ MCU pin1 से एक तार चलाएँ।
  5. रीसेट स्विच के दूसरे पक्ष को जमीन से कनेक्ट करें

चरण 8: AtMega 328 वायरिंग

फोटो में दिखाए अनुसार वायरिंग को पूरा करें। (चित्र में एलईडी को नोट करें, योजनाबद्ध में LED1 के रूप में दिखाया गया है, केवल इसलिए हरा है क्योंकि मेरे पास उस समय एक पीला नहीं था।)

  • एफटीडीआई पिन 5 (TXD) को MCU पिन 3 वायर सही करने के लिए ध्यान रखें।
  • MCU पिन 2 (RXD) और FTDI हैडर पिन 4 के बीच 10K रेसिस्टर कनेक्ट करें
  • 16MHz क्रिस्टल पिंस 9 और 10 के साथ जुड़ा हुआ है और दोनों पिंस 22pF कैप के साथ जमीन पर है।

योजनाबद्ध के विरुद्ध आपके द्वारा की गई सभी वायरिंग की दोबारा जाँच करें।

अपने बोर्ड को पावर करें और रीसेट बटन दबाएं। आपको पीले एलईडी ब्लिंक को कई बार देखना चाहिए क्योंकि पिन 1 को कम खींचा गया है।

अगर यह नहीं है;

  • पिन पर 5 वी के लिए टेस्ट। रीसेट बटन दबाए जाने पर आपको इस पिन पर वोल्टेज ड्रॉप देखना चाहिए। यदि आप नहीं तो आप एक बुरा या गलत तरीके से वायर्ड रीसेट स्विच है।
  • एक का उपयोग कर एलईडी का परीक्षण करें 3V बटन सेल (सकारात्मक को एनोड)।
  • सुनिश्चित करें कि एलईडी सही ढंग से स्थापित है और रोकनेवाला मान सही है
  • शुद्धता के लिए सभी वायरिंग को रीचेक करें

चरण 9: अपने पहले एफटीडीआई को लोड करें

महत्वपूर्ण: अपने ब्रेड बोर्ड में सभी बिजली स्रोतों को हटा दें। FTDI केबल बोर्ड को शक्ति देगा।

USB को सीरियल की क्षमता में जोड़ना एक कदम है, जो अकेले MCU प्रोजेक्ट्स के लिए सबसे महत्वपूर्ण है। मेगा 328 पर कोड अपलोड करने के तरीके के बिना आपको इसे सर्किट से बाहर निकालना होगा और स्केच अपलोड करने के लिए एड्रिनो बोर्ड या समकक्ष में प्लग करना होगा। इस परियोजना में, एक FTDI कनवर्टर (प्रोग्रामिंग केबल में) USB प्रोटोकॉल का ख्याल रखता है और हमें सर्किट से हटाए बिना MCU में नए स्केच अपलोड करने की अनुमति देता है। जब आप अपने सर्किट को एक मुद्रित सर्किट बोर्ड में स्थानांतरित करते हैं, तो MCU को स्थायी रूप से FTDI पिन के साथ स्थापित किया जा सकता है जो आसान पहुंच के लिए वायर्ड है। लगता है कि जब आप अपने लैपटॉप को अपने नए दृष्टिकोण में लाते हैं, तो क्षेत्र में प्रोग्रामिंग अपडेट करने के लिए।

दिखाए गए अनुसार 5V FTDI प्रोग्रामिंग केबल कनेक्ट करें। यह हेडर पिंस की पहचान करने के लिए किसी भी प्रकार के चिह्नों के साथ नहीं आता है (यही कारण है कि मैंने खदान पर ग्राउंड पिन लेबल किया है)।

USB अंत को अपने कंप्यूटर में प्लग करें और आपको तुरंत पीले एलईडी ब्लिंक को एक दो बार देखना चाहिए।

यदि आप Arduino IDE (Ver 1.8.1) और Sparkfun से 5V प्रोग्रामिंग केबल का उपयोग कर रहे हैं:

  • टूल - बोर्ड - पर क्लिक करें और लक्ष्य के रूप में Arduino / Genuino Uno चुनें
  • उपकरण पर क्लिक करें - प्रोग्रामर और AVRISP mkII का चयन करें
  • उपकरण पर क्लिक करें - पोर्ट - और आपको एक पोर्ट का चयन करना पड़ सकता है यदि यह स्वचालित रूप से चयन नहीं करता है

अपलोड करने के लिए एक अच्छा पहला स्केच सरल आर्डिनो ब्लिंक स्केच है।

अपलोड शुरू होने पर कुछ समय के लिए अपने सर्किट पर पीले रंग की एलईडी को तेजी से नोट करें।

यदि सब कुछ काम करता है, तो आपको आईडीई में लेखन / पढ़ने की प्रक्रिया को देखना चाहिए और अब आपके पास एक कामकाज, सर्किट-प्रोग्राम प्रोग्राम माइक्रो कंट्रोलर है। बधाई।

नोट: इस बिंदु पर हमारे निर्माण में I / O पिंस में से कोई भी गुप्त रूप से जुड़ा हुआ है इसलिए यह कोई फर्क नहीं पड़ता कि हम क्या अपलोड करते हैं लेकिन स्केच अपलोड करने से पहले हमेशा सोचते हैं। आपको इस बात से अवगत होना चाहिए कि एमसीयू पिन कैसे जुड़े हैं और नए कार्यक्रम के लिए इसका क्या मतलब है।

महत्वपूर्ण: चूंकि हमारे एफटीडीआई हेडर को टांका नहीं लगाया गया है, इसलिए जब आप केबल को डिस्कनेक्ट करने का प्रयास करते हैं तो यह ब्रेड बोर्ड से बाहर निकलता है। सुनिश्चित करें कि आपने हेडर को वापस ब्रेड बोर्ड में सही ढंग से रीसेट कर दिया है।

चरण 10: एमसीयू में पोर्ट एक्सपैंडर को जोड़ना

एक बंदरगाह विस्तारक (जिसे अक्सर IO विस्तारक कहा जाता है) हमारी परियोजना में अतिरिक्त इनपुट / आउटपुट पिन जोड़ने का एक तरीका है। यह आमतौर पर I2C संचार के रूप में जाना जाता है और केवल MCU के सीरियल क्लॉक (SCL) और सीरियल डेटा (SDA) पिन की आवश्यकता होती है। यह हमें कीपैड की तरह एक पिन गहन डिवाइस को जोड़ने की अनुमति देता है। वास्तव में, आप इनमें से 16 उपकरणों (सभी अलग-अलग पते वाले) के साथ I2C बस में IO पिनों की भीड़ बना सकते हैं। क्या आपके प्रोजेक्ट को टाइम डिस्प्ले की जरूरत है? यह इसे करने का एक तरीका है।

पोर्ट विस्तारक जोड़ना;

चिप्स के पते को सही तरीके से सेट करना महत्वपूर्ण है। हमारी कोड 0x20 पते की उम्मीद कर रहा है और ऐसा करने के लिए हम 1, 2, 3 को पिन करते हैं। (पते और उन्हें सेट करने के तरीके प्रत्येक चिप्स डेटा शीट में पाए जाते हैं।)

इसके बाद हम MCU और पोर्ट विस्तारक के बीच हमारी I2C सीरियल डेटा लाइन (SDA) और सीरियल क्लॉक लाइन (SCL) को जोड़ते हैं। ये क्रमशः एमसीयू पिन 27 और 28 विस्तारक पिन 15 और 14 हैं। ये चिप्स के बीच संचार लिंक हैं।

VDD पिन को 16 से 5V से कनेक्ट करें और ग्राउंड को .1uF बाईपास कैपेसिटर। अंत में पिन 8 को जमीन से जोड़ दें।

नोट: कैपेसिटर C2 और C3 हैं उपमार्ग कैपेसिटर जमीन पर अवांछित एसी संकेतों को दूर करने के लिए। ब्रेड बोर्ड आस-पास के एसी स्रोतों जैसे ओवरहेड लाइटिंग आदि से शोर उठाने के लिए कुख्यात हैं।

चरण 11: पोर्ट एक्सपैंडर में कीपैड को कनेक्ट करना

पोर्ट एक्सपैंडर चिप के पिन 4, 6 और 9 पर 10K पुल प्रतिरोध R4, R5 और R6 कनेक्ट करें। ये प्रतिरोधक 5V रेल से जुड़े होते हैं।

** कृपया ध्यान दें कि तस्वीर में पिन 9 पर अवरोधक गलत तरीके से जुड़ा हुआ है (जमीन पर)।

पोर्ट विस्तारक के लिए कीपैड को हुक करने में 7 तार लगते हैं इसलिए हम इसे तस्वीरों में भ्रम से बचने के लिए दो चरणों में करेंगे।

  1. विस्तारक पिन 9, 10 और 11 पोर्ट करने के लिए कीपैड 5, 6 और 7 को कनेक्ट करें, जैसा कि पहले फोटो में दिखाया गया है
  2. कीपैड पिन को 1, 2, 3 और 4 से कनेक्ट करें और विस्तारक पिन 4, 5, 6 और 7 को उसी क्रम में दें जैसा कि फोटो दो में दिखाया गया है।

चरण 12: श्रव्य प्रतिक्रिया स्थापित करना

piezo

फोटो 1: एक सकारात्मक और नकारात्मक तार चलाकर पीजो के लिए 12V आपूर्ति बनाएं जैसा कि कीपैड (भूरे और सफेद तारों) के नीचे चलने वाली रेल को दिखाया गया है। यह केवल 9 वोल्ट के साथ ठीक काम करेगा हालांकि 12 एक अच्छी सकारात्मक ध्वनि देता है।

फोटो 2: अगला एक 1K रोकनेवाला के लीड को मोड़ता है ताकि यह पीजो के पिंस की पिच से मेल खाए। ब्रेड बोर्ड में पूरी तरह से डालने के लिए पर्याप्त लीड तार की अनुमति दें।

फोटो 3: कीपैड के नीचे स्पष्ट ब्रेडबोर्ड क्षेत्र में दिखाए गए अनुसार पीजो सर्किट बिछाते हैं। आपके पास जो भी एनपीएन ट्रांजिस्टर है, उसकी डेटा शीट की जांच करें और उसे बोर्ड में रखें ताकि कलेक्टर, बेस और एमिटर कनेक्ट दिखाए अनुसार कनेक्ट हो जाएं। फोटो में एक सामान्य BC547B है। आप किसी भी समकक्ष NPN प्रकार का उपयोग कर सकते हैं।

MCU पिन 12 से ट्रांजिस्टर बेस लीड तक एक तार चलाएं।

फोटो 4: अंत में पीजो को यह सुनिश्चित करने के लिए स्थापित करें कि पिन अवरोधक से जुड़ते हैं और सकारात्मक पिन सकारात्मक तार से जुड़ा होता है।

आप बस एक ट्रांसड्यूसर पीजो को रोकनेवाला के आधार पर वोल्टेज डालकर परीक्षण नहीं कर सकते। यह केवल एक बेहोश क्लिक देगा। इस पीज़ो को चलाने के लिए PWM (पल्स चौड़ाई मॉड्यूलेटेड) सिग्नल की आवश्यकता होती है। इसका परीक्षण करने के लिए आपको अपने MCU पर लोड किए गए KPD_LCD_tutorial स्केच (या सिग्नल जनरेटर जैसे PWM सिग्नल का उत्पादन करने का कोई अन्य तरीका) की आवश्यकता होगी।

एक बार जब आपके पास स्केच अपलोड हो जाए और आपका बोर्ड संचालित हो जाए, तो आपको प्रत्येक कुंजी प्रेस के साथ एक साफ बीप प्राप्त करना चाहिए।

यदि आप नहीं करते हैं, तो रीसेट बटन पुश करने का प्रयास करें और MCU के लिए कुछ सेकंड प्रतीक्षा करें।

नोट: एमसीयू पिंस 13 और 17 हमारे लेआउट में इस बिंदु पर फ्लोटिंग (कनेक्टेड नहीं) हैं। रोटी बोर्ड पर आवारा पर्यावरणीय प्रभाव या धारिता को हाई या लो पिन राज्यों के रूप में कोड द्वारा व्याख्या की जा सकती है। इससे पीजो को रुक-रुक कर बीप हो सकती है। इन पिनों पर 10K pulldown प्रतिरोधों R15 और R16 को स्थापित करने से इसे रोका जा सकेगा।

अध्यक्ष (मोहिनी)

बोर्ड पर एक सुविधाजनक स्थान पर पिन 11 से एक जम्पर चलाएं और स्पीकर को कनेक्ट करें जैसा कि 4.7 uF युग्मन संधारित्र पर ध्रुवीयता को सही करने के लिए देखभाल करते हुए दिखाया गया है। बस के बारे में किसी भी छोटे 8 ओम वक्ता करेंगे। चित्र में एक छोटा १०० mW है जो मेरे पास परीक्षण उद्देश्यों के लिए है (इसमें ब्रेड बोर्ड के लिए मिलाप होता है)।

चरण 13: दृश्य प्रतिक्रिया प्रदान करना

पीजो की श्रव्य प्रतिक्रिया के अलावा एक त्रि-रंग आरजीवाई एलईडी उपयोगकर्ता को रंग के आधार पर कुछ दृश्य संकेत प्रदान करता है अर्थात् एक सफल ऑपरेशन के लिए GREEN, आंशिक विफलता के लिए YELLOW और अधिक गंभीर जानकारी के लिए RED।

आप योजनाबद्ध से देख सकते हैं कि सर्किट एक 'कॉमन कैथोड' प्रकार एलईडी के लिए डिज़ाइन किया गया है, जिसका अर्थ है कि डिवाइस में सभी 3 डायोड एक आम जमीन साझा करते हैं। यह हमें एकल अवरोधक का उपयोग करने और सभी तीन एनोड को सीधे MCU आउटपुट पिन से जोड़ने की अनुमति देता है।

टिप: एक बार जब आपके पास एलईडी और इसके रेज़िस्टर होते हैं, तो आप एक जम्पर वायर का उपयोग करके रंग से जुड़े एनोड को जल्दी से पहचान सकते हैं। बोर्ड को पावर करें और जम्पर के एक छोर को 5V रेल में प्लग करें और दूसरे छोर को एनोड से संबंधित टच करें।

परीक्षण: एलईडी का पूरी तरह से परीक्षण करने के लिए आपको MCU में लोड KPD_LCD_tutorial स्केच की आवश्यकता है। यदि यह है तो आप कुछ ज्ञात इनपुट दर्ज करके इसका परीक्षण कर सकते हैं। आप सीखेंगे कि स्केच टिप्पणियों को पढ़ने से यह कैसे काम करता है।

नोट: KPD_LCD_tutorial स्केच को निम्नलिखित परीक्षण के लिए अपलोड किया जाना चाहिए;

  1. चिप को रिबूट करने के लिए रीसेट बटन दबाएं। कुछ सेकंड रुकें।
  2. प्रेस 55 * - लाल एलईडी को कम / कम टोन के साथ दो बार फ्लैश करना चाहिए
  3. प्रेस 100 * - पीले एलईडी को एक बार कम / कम टोन के साथ फ्लैश करना चाहिए
  4. प्रेस 1 # - ग्रीन एलईडी को एक बार कम / उच्च टोन के साथ फ्लैश करना चाहिए

यदि आपको कोई गलत रंग मिलता है या किसी भी कदम पर कोई आवाज नहीं आती है तो अपनी वायरिंग की जांच करें

जारी रखने से पहले ब्रेड बोर्ड पावर निकालें।

चरण 14: एलसीडी में प्लग करना

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

हमारे उद्देश्यों के लिए एलसीडी में हार्नेस को प्लग करना और ब्रेडबोर्ड में टिन किए गए सिरों का उपयोग करना सबसे सरल है। के रूप में दिखाया।

योजनाबद्ध में पालन करें और एलसीडी को तार करने के लिए फोटो को देखें। जब आप ब्रेड बोर्ड को पावर करते हैं तो एलसीडी फैक्ट्री स्प्लैश स्क्रीन को "KPD_LCD_tutorial वर्जन 1.0.01" से बदल दिया जाएगा और इसके बाद हमारे स्केच का पहला प्रोग्राम प्रॉम्प्ट होगा। (यह मानता है कि स्केच अपलोड किया गया था।)

छप स्क्रीन को निजीकृत करने के लिए स्केच में टिप्पणियों का पालन करें।

नोट: क्षति को रोकने के लिए हमेशा ब्रेडबोर्ड से बिजली निकालें और कोड को एमसीयू पर अपलोड करने से पहले एलसीडी मॉड्यूल को अनप्लग करें।

चरण 15: श्मिट इन्वर्टर को तार करना

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

आप किसी भी शैली स्विच का उपयोग कर सकते हैं बशर्ते कि यह हो नहीं एक क्षणिक प्रकार, यह एक चालू स्थिति प्रदान करने वाला एक चालू / बंद स्विच होना चाहिए। इस स्विच को RUN / STBY कहा जाता है जिसमें STBY स्विच ओपन पोजीशन है।

योजनाबद्ध में दिखाया गया इन्वर्टर IC3 पर 6 इनवर्टर में से 1 है। हम केवल एक (14 पिन चिप के पिंस 1 और 2 से जुड़े) का उपयोग कर रहे हैं, हालांकि बाद में अपने स्वयं के प्रोजेक्ट में किसी भी संख्या में एमसीयू पिंस पर समान तरीके से बाकी का उपयोग करने से कुछ भी नहीं रोक रहा है।

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

परिक्षण: यदि आपके पास KPD_LCD_tutorial स्केच लोड है तो परीक्षण सरल है। सुनिश्चित करें कि RUN / STBY स्विच STBY में है और बोर्ड को पावर करता है। सिस्टम को बूट करने के लिए रुकें फिर RUN चुनें।

आपको डबल बीप सुनना चाहिए और हर कुछ सेकंड में 3 बार लाल एलईडी फ्लैश देखना चाहिए। यह आपको सलाह दे रहा है कि यह एक रन कमांड प्राप्त किया है जिसमें कोई पैरामीटर दर्ज नहीं किया गया है और इसलिए आगे नहीं बढ़ सकता है। आपको एक एलसीडी प्रॉम्प्ट भी देखना चाहिए जो स्विच को स्टैंडबाय में स्थानांतरित करने के लिए कहे। STBY चुनें और पहला LCD प्रोग्रामिंग प्रॉम्प्ट दिखाई देगा, यह पहले से ही एक स्मार्ट सर्किट है।

चरण 16: रिमोट इनपुट का अनुकरण

फोटो में दिखाए अनुसार क्षणिक (पुश बटन) स्विच को वायर करें।

कोड में सावधानी बरतने के बाद से हमें यहां पर एक डिबेट सर्किट की आवश्यकता नहीं है। यहाँ उद्देश्य उस इनपुट का अनुकरण करना है जो रिमोट से आ सकता है। बटन को दबाने से पिन 17 से 5 वी से जुड़ जाता है जिसे MCU एक उच्च के रूप में व्याख्या करता है।

स्केच हर लूप पर इस पिन को देखता है (एक सेकंड में कई बार) और पहले पुश पर एक पॉज़ रूटीन में प्रवेश करेगा और दूसरे पर पॉज़ रूटीन को छोड़ देगा। बटन पुश के बीच 7 सेकेंड की देरी से प्रोग्राम की आवश्यकता होती है।

नोट: इस क्षणिक संकेत देने के लिए शाब्दिक सैकड़ों विधियाँ हैं। कैसे एक एक्स-बी वायरलेस ट्रांसीवर मॉड्यूल या एक निष्क्रिय आईआर सेंसर के बारे में?

चरण 17: फोटोएमओएस सिम्युलेटर

दिखाए गए अनुसार दो लाल और हरे 5 मिमी एलईडी तार। ये LED यहाँ हैं इसलिए आप कोड के चलते ही MCU आउटपुट को एक्शन में देख सकते हैं।

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

चरण 18: रेखाचित्र और कार्यक्रम संचालन

दोनों KPD_LCD_tutorial स्केच और KPD_LCD_basic स्केच प्लस आवश्यक पुस्तकालयों को यहाँ Arduino फ़ाइलों के रूप में शामिल किया गया है। पुस्तकालय Wire.h तथा SoftwareSerial.h पहले से ही Arudino IDE में हैं इसलिए प्रदान नहीं किए गए हैं।

इन रेखाचित्रों को काम करने के लिए आपको IDE में निम्नलिखित पुस्तकालय स्थापित करने होंगे

  • wire.h
  • SoftwareSerial.h
  • i2ckeypad.h
  • EEPROMVar.h
  • serLCD.h

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

नोट: यहाँ प्रदान की गई i2ckeypad.h लाइब्रेरी को Arduino संस्करण 1.0 और उच्चतर के साथ काम करने के लिए संशोधित किया गया है।

स्केच प्राप्त करने के लिए, फ़ाइल को अपने कंप्यूटर पर एक फ़ोल्डर में डाउनलोड करें और इसे अपने कंप्यूटर पर Arduino फ़ोल्डर में खींचें।

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

रेखाचित्र पर कुछ नोट:

ट्यूटोरियल स्केच काफी व्यापक है और चिप्स मेमोरी का एक अच्छा हिस्सा लेगा। यदि आपको एक गुच्छा जोड़ने की आवश्यकता है तो आप एक वैकल्पिक नियंत्रक के रूप में मेगा 16 पर विचार करना चाह सकते हैं।

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

बुनियादी स्केच बहुत सरल है और सर्किट में सब कुछ एकीकृत करने के लिए आवश्यक नंगे कोड शामिल हैं।

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

कॉलिंग:

समझ कैसे बुला स्केचेस में क्या हो रहा है इसे समझने की कोशिश करते हुए कोड में काम करने से आपको बहुत मदद मिलेगी।

एलसीडी पर दिखाई देने वाले प्रॉम्प्ट के माध्यम से प्रोग्रामिंग करते समय उपयोगकर्ता हाथ से बहुत आगे होता है। सभी आवश्यक इनपुट के लिए संकेत दिया जाता है और त्रुटियों को उसी तरह से नियंत्रित किया जाता है। प्रोग्रामिंग करते समय मेमोरी अक्सर एक समस्या होती है जिससे आप हमेशा डुप्लिकेट कोड से बचना चाहते हैं। ऐसा करने का सबसे आम तरीका एक फ़ंक्शन में अक्सर उपयोग किए गए कोड को लिखना और जरूरत पड़ने पर इसके लिए 'कॉल करना' है। इस तरह से शीघ्र (और कुछ अन्य संचालन) संभाले जाते हैं। बल्कि ऐसी कई पंक्तियाँ हैं जो LCD को समान रूप से आउटपुट करती हैं (जैसा कि उपयोगकर्ता इनपुट त्रुटियों को संभालते समय होता है) संकेत एक फ़ंक्शन में एक बार लिखे जाते हैं और विशेष रूप से विभिन्न बिंदुओं से आवश्यक होने पर कॉल किए जाते हैं। स्केच में किसी अन्य स्थान पर प्रोग्राम 'जंप' करता है और प्रारंभिक कॉलिंग लाइन पर ले जाने के लिए वापस आने से पहले अन्य कोड की कई लाइनें चला सकता है।

आप तुरंत देखेंगे कि, संचालन करते समय, प्रोग्राम लगातार स्केच के चारों ओर घूम रहा है। पूरी तरह से समझने के लिए कि आपको क्या करना है (सफेद खरगोश का पालन करें?) और स्केच में घूमें जैसा कि आप पढ़ते हैं।

संदर्भ:

यदि आप अटक जाते हैं तो आप Arduino सहायता मेनू का उपयोग करना चाह सकते हैं। संदर्भ लिंक पर क्लिक करने से Arduino में उपयोग की जाने वाली भाषा के बारे में अधिकांश सवालों के जवाब मिल जाएंगे।

कार्यक्रम संचालन:

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

नीचे सूचीबद्ध पैरामीटर हैं जो आपको इनपुट करने के लिए प्रेरित किया जाता है;

रंग शुरू:

  1. लाल शुरू करो
  2. ग्रीन शुरू करें
  3. यादृच्छिक चयन

स्विच समय:

  • रंग स्विचिंग या शून्य के बीच बिना किसी स्विचिंग के मिनट की संख्या (ब्लिंक अंतराल हार्ड कोडित है)

देर से शुरू करें:

  • शुरू होने से पहले प्रतीक्षा करने के लिए मिनटों में समय

रन समय:

  • संचालित करने के लिए समय की कुल लंबाई।

स्क्रीन अक्षम करें ?:

  • एलसीडी चलाते समय एलसीडी को निष्क्रिय करने या न करने का संकेत देता है

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