विषयसूची:
- चरण 1: एक वायरिंग आरेख डिज़ाइन करें
- चरण 2: बोर्ड पर सर्किट को काटें
- चरण 3: घटकों को मिलाएं और परीक्षण करें
- चरण 4: असेंबली कोड और वीडियो
वीडियो: AVR असेंबलर ट्यूटोरियल 8: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:18
ट्यूटोरियल 8 में आपका स्वागत है!
इस संक्षिप्त ट्यूटोरियल में हम असेंबली भाषा प्रोग्रामिंग के नए पहलुओं को पेश करने से थोड़ा सा मोड़ लेने जा रहे हैं ताकि यह दिखाया जा सके कि हमारे प्रोटोटाइप घटकों को एक अलग "मुद्रित" सर्किट बोर्ड में कैसे स्थानांतरित किया जाए। कारण यह है कि, इस बिंदु पर, हमारा मुख्य प्रोटोटाइप ब्रेडबोर्ड इतने सारे चिप्स, तारों, बटनों और एलईडी से भरा हो रहा है कि नई चीजों का परीक्षण करना मुश्किल हो रहा है और चूंकि हमें अंततः घटकों को अपने स्वयं के बोर्डों में स्थानांतरित करना है।, हम भी अभी शुरू कर सकते हैं। आप में से कई शायद पहले से ही इस ट्यूटोरियल में शामिल होने वाली चीजों में कुशल हैं और इसलिए आप इस ट्यूटोरियल को कोडिंग से केवल एक आराम के ब्रेक के रूप में देख सकते हैं।
इसलिए आज हम अपने पासा रोलर ATmega328P और पासा के साथ के जोड़े को एक बाहरी बोर्ड में ले जाएंगे, जो हमारे मुख्य बोर्ड के साथ संचार के लिए और इसे पावर देने के लिए है। इसके अलावा, पासे की वायरिंग और कार्यप्रणाली उस घटक के भीतर स्व-निहित होगी।
आप शायद इससे अनुमान लगा सकते हैं कि हमारा अंतिम लक्ष्य यह है कि हम जिस तरह से निर्माण करते हैं, उनमें से प्रत्येक के साथ ऐसा करें ताकि जब हम समाप्त कर लें तो हम उन सभी को एक अच्छे दिखने वाले पैकेज में छिपा सकते हैं जो बटन प्रेस के माध्यम से सभी को देखे बिना काम करेगा। तारों और आंतरिक कामकाज की।
हम इस ट्यूटोरियल के अधिकांश भाग को सर्किट डिजाइन करने, एक प्रोटोटाइप बोर्ड की मैपिंग और एक साथ सोल्डरिंग सामान जैसे भौतिक कार्यों को करने में खर्च करेंगे, लेकिन कुछ प्रोग्रामिंग है जो हमें चीजों को स्थानांतरित करने के बाद अंत में करने की आवश्यकता है। इसका कारण यह है कि हम अंततः अपने मुख्य "मास्टर" नियंत्रक और सभी "दास" नियंत्रकों के बीच संवाद करने के लिए 2-वायर सीरियल इंटरफ़ेस का उपयोग करने जा रहे हैं जो ट्यूटोरियल की इस श्रृंखला में हमारे समग्र प्रोजेक्ट के घटक बनाते हैं और, जैसा कि आपको याद है, ट्यूटोरियल ६ में हमने पासा रोलर (ट्यूटोरियल ४) से रजिस्टर एनालाइज़र (ट्यूटोरियल ५) तक हमारे पासा रोल को संप्रेषित करने के लिए एक प्रकार की मोर्स कोड प्रकार की विधि का आविष्कार किया था, जिसने ८ एल ई डी पर बाइनरी में पासा रोल के परिणाम को प्रदर्शित किया था।. खैर, यह संचार करने का सिर्फ एक "रोल योर ओन" तरीका था जिसे मैंने उपयोग करने का फैसला किया क्योंकि उस समय, 2-वायर सीरियल संचार में शामिल होना बहुत जल्दी था। अब हम धारावाहिक संचार के गहरे अंत में गोता लगाने के लिए लगभग तैयार हैं, और हम इसे ट्यूटोरियल १० में करेंगे, लेकिन अभी के लिए हमें भविष्य के विकास का अनुमान लगाने की जरूरत है और दो को मुक्त करने के लिए हमारे पासा रोलर एलईडी को फिर से तार दें। पिन जो हमें धारावाहिक संचार के लिए चाहिए।
ये ATmega328P पर SCL और SDA पिन हैं। आप पिनआउट आरेख द्वारा देख सकते हैं कि एनालॉग-टू-डिजिटल रूपांतरणों में उपयोग किए जाने पर उन्हें ADC5 और ADC4 भी कहा जाता है, जब उन्हें "पिन चेंज इंटरप्ट" पिन के रूप में उपयोग किया जाता है, तो उन्हें PCINT13 और PCINT12 कहा जाता है, और अंत में हम आम तौर पर उन्हें PC5 और PC4 कहते हैं। जब केवल पोर्टसी पर पिन के रूप में माना जाता है। चूंकि हमने इन दो पिनों को विभिन्न कारणों से अपने पासा रोलर के हिस्से के रूप में इस्तेमाल किया है (मुख्य यह है कि यह कोडिंग को आसान बनाता है और बोर्ड पर एल ई डी को आसान बनाता है) अब हमें अपने कोड को संशोधित करना होगा और इसे थोड़ा सा फिर से तार करना होगा भविष्य के संचार के लिए इन पिनों को मुक्त करें।
तो हम डिजाइनिंग, कटिंग, वायरिंग और सोल्डरिंग करके शुरू करेंगे। फिर हम अपने नए सेट अप के साथ काम करने के लिए पासा रोलर को फिर से लिखेंगे और अंत में यह सुनिश्चित करने के लिए परीक्षण करेंगे कि यह अभी भी काम करता है।
इस ट्यूटोरियल को पूरा करने के लिए आपको निम्नलिखित मदों की आवश्यकता होगी:
- मानक सामान जो आपको हमेशा चाहिए होता है कि मैं हर समय दोहराना बंद करने जा रहा हूं: आपका प्रोटोटाइप बोर्ड, डेटाशीट की आपकी प्रति और निर्देश सेट, और आपका दिमाग।
- एक वायरलेस सर्किट प्रोटोटाइप पीसीबी बोर्ड इस तरह: https://www.ebay.com/itm/191416297627 मैं इस बोर्ड के माप एक्सप्लोरर 103RAWD संस्करण का उपयोग करने जा रहा हूं: https://www.ebay.com/itm/103RAT -सर्किट-प्रोटो-प्रोटो … चूंकि मेरे पास उनमें से एक गुच्छा है, लेकिन 103RAW-0 संस्करण जिसे मैं ऊपर से लिंक करता हूं, ठीक भी काम करेगा।
- कतरनी, तार, मिलाप, टांका लगाने वाला लोहा, "हाथों की मदद करना" या जो कुछ भी सामान रखना है, आदि आदि आदि फिर से, यहाँ से मैं इस सामान को भी सूचीबद्ध करना बंद करने जा रहा हूँ। यदि आप वास्तव में इन ट्यूटोरियल्स में इसे प्राप्त कर चुके हैं तो संभवतः आपके पास यह सब सामान पहले से ही है।
यहाँ मेरे AVR असेंबलर ट्यूटोरियल के संपूर्ण संग्रह का लिंक दिया गया है:
चरण 1: एक वायरिंग आरेख डिज़ाइन करें
मेजर एक्सप्लोरर बोर्ड के बारे में अच्छी बात यह है कि यदि आप शुरुआत में कुछ समय लेते हैं और चीजों को मैप करते हैं तो आप अंत में बहुत सारी वायरिंग से खुद को बचा सकते हैं। इसलिए हम कुछ भी सोल्डरिंग शुरू करने से पहले अपने लेआउट को डिजाइन करने में कुछ समय ले कर शुरू करेंगे। इस तरह के बोर्ड के साथ, आपको कनेक्टिंग तारों का एक गुच्छा काटना पड़ता है, जो इतना आसान नहीं है, लेकिन परिणाम एक बहुत अच्छा कॉम्पैक्ट बोर्ड है जिसमें कम से कम उलझे हुए तार होते हैं। पहली चीज जो हमें करने की ज़रूरत है वह है हमारा डिज़ाइन सर्किट ताकि यह बोर्ड पर फिट हो जाए। ऐसा करने का एक अच्छा तरीका यह है कि बोर्ड का नक्शा डाउनलोड करें और फिर इसका उपयोग विभिन्न डिज़ाइनों के साथ खेलने के लिए करें जब तक कि आपको वह काम न मिल जाए। यहाँ ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp
चरण 2: बोर्ड पर सर्किट को काटें
पहले एक शार्प लें और, अपने लेआउट का उपयोग करके जिसे आपने पिछले चरण में मैप किया था, बोर्ड पर अपना सर्किट बनाएं। अर्थात। तारों का प्रतिनिधित्व करने के लिए रेखाएँ खींचना। घटकों के संदर्भ में कुछ भी न बनाएं, केवल कनेक्टिंग तार जैसा कि पहली तस्वीर में दिखाया गया है। ध्यान दें कि जब आप स्क्रू अप करते हैं (और यदि आप मेरे जैसे कुछ भी हैं तो आप इन चरणों में चीजों को बहुत बार खराब कर देंगे) आप इरेज़र का उपयोग कर सकते हैं और लाइन मिटा सकते हैं। इसे बोर्ड के दोनों किनारों के लिए करें।
आगे आपको लाइनों के चारों ओर कनेक्शन काटने की जरूरत है। यदि आप बोर्ड को करीब से देखते हैं तो आप देखेंगे कि प्रत्येक पिन होल बोर्ड के दोनों किनारों पर 4 आसन्न वाले से जुड़ा हुआ है, ताकि जब आप शुरू करें तो बोर्ड के सभी छेद एक दूसरे से जुड़े हों। तो आपको उन्हें अलग करने के लिए अपने प्रत्येक तार के दोनों किनारों को काटने की जरूरत है। इस कटिंग को करने का सबसे आम तरीका एक्ज़ैक्टो चाकू से है। लेकिन मैं Exacto चाकू चूसता हूं और शायद खुद को काट लेता हूं। इसलिए मैं एक पतले कटिंग टूल अटैचमेंट के साथ एक ड्रेमेल का उपयोग करता हूं। काश मेरे पास किसी प्रकार का पीसने वाला लगाव होता जो एक तेज बिंदु पर आया क्योंकि वह सबसे अच्छा काम करेगा - लेकिन मेरे पास ऐसा कोई नहीं है इसलिए मैंने काटने वाले लगाव का उपयोग किया। (नोट जोड़ा गया: इस परियोजना को पूरा करने के बाद मैंने पाया कि ड्रेमेल्स के लिए छोटे "हैवी ड्यूटी कटिंग व्हील" हेड्स सबसे अच्छा काम करते हैं, वे सैंडपेपर के छोटे सर्कल की तरह दिखते हैं और वे यहां दिखाए गए कटिंग टूल की तरह काम करते हैं, सिवाय इसके कि वे छोटे व्यास के होते हैं और इसलिए यह देखना और नियंत्रित करना बहुत आसान है कि आप कहां काट रहे हैं)
रास्ते में बोर्ड को प्रकाश तक पकड़ना और यह सुनिश्चित करना उपयोगी है कि तार वास्तव में कटे हुए हैं। आप इस बात से नाराज़ हो सकते हैं कि बोर्ड के दोनों किनारों पर कनेक्शन हैं इसलिए आपको दूसरी तरफ से काटने की प्रक्रिया को फिर से दोहराना होगा, लेकिन मुझे लगता है कि जब तक आप समाप्त कर लेंगे तब तक आप इस बात को देख पाएंगे। मैंने तारों को काटने में बहुत सारी गलतियाँ कीं जिन्हें काटा नहीं जाना चाहिए था और दूसरी तरफ अभी भी जुड़ा होना अच्छा है।
सर्किट को बोर्ड में काटने में काफी समय और धैर्य लगेगा लेकिन जब आप इसमें अच्छे हो जाते हैं तो यह एक तरह से मजेदार होता है।
चरण 3: घटकों को मिलाएं और परीक्षण करें
अब जब आपने अपने सर्किट बोर्ड के सभी तारों को अलग कर लिया है तो आप अलग-अलग घटकों पर सोल्डरिंग शुरू कर सकते हैं।
मैंने पहले पासे में से एक के लिए एल ई डी पर टांका लगाया, फिर मैंने अपने ब्रेडबोर्ड से सकारात्मक और नकारात्मक लीड ली और प्रत्येक एलईडी के लिए कनेक्शन का परीक्षण किया ताकि यह सुनिश्चित हो सके कि वे एक दूसरे से अलग हैं और वे काम करते हैं।
इसी तरह दूसरे के साथ मर जाते हैं।
फिर रोकनेवाला को प्रत्येक मरने के लिए तार दें, और बोर्ड के पीछे 10K रोकनेवाला।
फिर क्रिस्टल थरथरानवाला, 22pf कैप, पुशबटन और ATmega328P संलग्न करें। आप एक चिप सॉकेट को मिलाप करना चाहते हैं और फिर अपने ATmega328P को उसमें फिट कर सकते हैं ताकि आप चाहें तो इसे हटा सकें और इसे किसी अन्य चीज़ में पुन: उपयोग कर सकें। मैंने अपनी चिप को बोर्ड में मिला दिया क्योंकि मुझे पता है कि हम अंततः इन सभी ट्यूटोरियल के साथ क्या बना रहे हैं और मुझे पता है कि मैं इसे इतना पसंद करूंगा कि मैं चिप को बाहर नहीं निकालना चाहता।
ध्यान दें, बोर्ड के पिछले हिस्से को देखकर, जिस तरह से हमने हेडर संलग्न किए हैं। मैंने लंबे पिन हेडर का इस्तेमाल किया और उन्हें क्षैतिज मोड़ दिया ताकि वे बोर्ड से बाहर न हों। ऐसा इसलिए है ताकि मैं अंततः बोर्ड को एक कंटेनर के साथ पुशबटन और एल ई डी के स्तर तक कवर कर सकूं और हेडर को रास्ते में न आएं। हमारे पास टीएक्स, आरएक्स के लिए एक हेडर है ताकि हम चिप को प्रोग्राम कर सकें, हमारे पास एसडीए, एससीएल के लिए हेडर है ताकि हम बाद में 2-वायर संचार का उपयोग कर सकें। और हमारे पास बोर्ड के दूसरी तरफ AVCC, AREF, GND के लिए 3 पिन हैडर है। मेरे पास चिप पर सभी ग्राउंड पिन और वीसीसी पिन एक साथ वायर्ड हैं, इसलिए हमें केवल एक पावर इनपुट की आवश्यकता है।
अंत में एक बार जब सब कुछ तार-तार हो जाता है, तो हम ब्रेडबोर्ड पर जिस तरह से करते हैं, हम 1 से मरने के लिए तार मर जाते हैं ताकि हम केवल 9 पिन के साथ दोनों पासा को नियंत्रित कर सकें।
अब हमें अपने कोड को संशोधित करने की आवश्यकता है ताकि वह इस नए सेटअप को नियंत्रित कर सके।
चरण 4: असेंबली कोड और वीडियो
मैंने असेंबली कोड और पासा रोलर का वीडियो संलग्न किया है। मैंने केवल ट्यूटोरियल 6 से हमारे पासा रोलर के लिए कोड लिया था, नए लेआउट से मिलान करने के लिए पिन को संशोधित करें, और संचार सबरूटीन को हटा दें क्योंकि हम लिख रहे होंगे ट्यूटोरियल 10 में एक नया। अगली बार हम अपने कीपैड को फिर से तोड़ेंगे और सीखेंगे कि 7-सेगमेंट डिस्प्ले को कैसे नियंत्रित किया जाए।फिर मिलते हैं!
सिफारिश की:
एवीआर असेंबलर ट्यूटोरियल 2: 4 कदम
AVR असेंबलर ट्यूटोरियल २: यह ट्यूटोरियल "AVR असेंबलर ट्यूटोरियल १" यदि आपने ट्यूटोरियल 1 नहीं पढ़ा है, तो आपको अभी रुकना चाहिए और इसे पहले करना चाहिए। इस ट्यूटोरियल में हम atmega328p u की असेंबली लैंग्वेज प्रोग्रामिंग के अपने अध्ययन को जारी रखेंगे।
एवीआर असेंबलर ट्यूटोरियल 1: 5 कदम
AVR असेंबलर ट्यूटोरियल 1: मैंने Atmega328p के लिए असेंबली भाषा प्रोग्राम लिखने के तरीके पर ट्यूटोरियल की एक श्रृंखला लिखने का फैसला किया है जो कि Arduino में उपयोग किया जाने वाला माइक्रोकंट्रोलर है। अगर लोगों की दिलचस्पी बनी रहती है, तो मैं सप्ताह में एक या दो बार निकालता रहूंगा, जब तक कि मेरे पास खत्म न हो जाए
AVR असेंबलर ट्यूटोरियल 6: 3 चरण
AVR असेंबलर ट्यूटोरियल ६: ट्यूटोरियल ६ में आपका स्वागत है! आज का ट्यूटोरियल छोटा होगा जहाँ हम एक atmega328p और दूसरे के बीच डेटा को कनेक्ट करने के लिए दो पोर्ट का उपयोग करके संचार करने के लिए एक सरल विधि विकसित करेंगे। फिर हम ट्यूटोरियल ४ से पासा रोलर लेंगे और रजिस्टर
एवीआर असेंबलर ट्यूटोरियल 7: 12 कदम
AVR असेंबलर ट्यूटोरियल 7: ट्यूटोरियल 7 में आपका स्वागत है! आज हम सबसे पहले यह दिखाने जा रहे हैं कि कीपैड को कैसे साफ किया जाए, और फिर कीपैड के साथ संचार करने के लिए एनालॉग इनपुट पोर्ट्स का उपयोग कैसे करें। हम इसे इंटरप्ट और सिंगल वायर का उपयोग करके करेंगे इनपुट। हम कीपैड को वायर कर देंगे ताकि
एवीआर असेंबलर ट्यूटोरियल 9: 7 चरण
AVR असेंबलर ट्यूटोरियल 9: ट्यूटोरियल 9 में आपका स्वागत है। आज हम दिखाएंगे कि हमारे ATmega328P और AVR असेंबली भाषा कोड का उपयोग करके 7-सेगमेंट डिस्प्ले और 4-अंकीय डिस्प्ले दोनों को कैसे नियंत्रित किया जाए। ऐसा करने के दौरान हमें स्टैक का उपयोग करने के तरीके में बदलाव करना होगा