आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

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

हालांकि यह रॉकेट साइंस की तरह लग सकता है, यह वास्तव में जितना आप सोच सकते हैं उससे कहीं अधिक सरल है - यहां तक ​​कि शुरुआती लोगों के लिए भी। हम आपको कुछ सरल चरणों में अपने Arduino बोर्ड पर बूटलोडर को आसानी से इंस्टॉल (या पुनर्स्थापित) करने का तरीका दिखाएंगे।

लेकिन सबसे पहले, Arduino बोर्ड पर बूटलोडर वास्तव में क्या है?

बूटलोडर क्या है?

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

instagram viewer

यह ध्यान देने योग्य है कि सभी Arduino बोर्ड अपने निर्माताओं से पूर्व-स्थापित बूटलोडर के साथ शिप करते हैं। आपको कभी-कभी बॉक्स के ठीक बाहर दोषपूर्ण बूटलोडर वाले बोर्ड मिल सकते हैं। हालाँकि, ऐसा कम ही होता है।

बूटलोडर का उपयोग क्यों करें?

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

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

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

अंत में, यह Arduino को पुनर्प्राप्त करने का एक तरीका प्रदान करता है यदि मुख्य स्केच दूषित हो जाता है या अन्यथा चलाने में विफल रहता है।

मेरा बूटलोडर क्यों गुम है?

आपके बोर्ड को नए बूटलोडर की आवश्यकता के चार संभावित कारण हो सकते हैं:

  1. कोई पूर्व-स्थापित बूटलोडर नहीं: कई ATMEGA328P स्टैंड-अलोन प्रोजेक्ट होना बहुत आम है, जहाँ आप अपनी चिप को PCB पर सोल्डर करते हैं और चिप को फ्राई करते हैं। इस प्रकार यह संभव हो सकता है कि आपने पूर्व बूटलोडर स्थापना के बिना बोर्ड को चिप से बदल दिया हो।
  2. बदला हुआ बूटलोडर: आप अपने बूटलोडर को संशोधित तृतीय-पक्ष बूटलोडर से बदल सकते हैं जो दूषित हो सकता है।
  3. दूषित बूटलोडर: यह कम से कम संभावित परिदृश्य है। हालाँकि, कुछ मामलों में, Arduino फ्लैश मेमोरी दूषित हो सकती है।
  4. विस्तारित स्मृति: यदि आपने शेष 2K प्रोग्राम मेमोरी का आनंद लेने के लिए अपने एप्लिकेशन के साथ पूरे बूटलोडर को बदल दिया (फ्लैश), तो आपका बूटलोडर निश्चित रूप से गायब है।

यहाँ आपको क्या करना है।

Arduino बूटलोडर को इंस्टॉल / री-इंस्टॉल करना

माइक्रोकंट्रोलर्स को आमतौर पर पीसीबी पर सोल्डर करने से पहले प्रोग्राम किया जाता है। यह आमतौर पर इन-सिस्टम प्रोग्रामिंग (ISP) का उपयोग करके किया जाता है, जैसे कि इन-सर्किट सीरियल प्रोग्रामिंग (ICSP), जो माइक्रोकंट्रोलर को बाहरी प्रोग्रामर का उपयोग करके प्रोग्राम करने की अनुमति देता है। कई माइक्रोकंट्रोलर निर्माता, जैसे एटमेल और माइक्रोचिप, इस उद्देश्य के लिए अपने बोर्डों पर आईएसपी हेडर प्रदान करते हैं।

दूसरे Arduino बोर्ड का उपयोग करना

ATmega328 माइक्रोकंट्रोलर पर बूटलोडर को फ्लैश करने के लिए, आपको ISP प्रोग्रामर के रूप में अन्य बोर्ड का उपयोग करके बूटलोडर को स्थापित करने से पहले बोर्ड पर ICSP हेडर का उपयोग करने की आवश्यकता होती है।

Arduino IDE लॉन्च करें, नेविगेट करें ArduinoISP जैसा कि नीचे दिखाया गया है, और उस बोर्ड पर उदाहरण कोड अपलोड करें जिसे आप प्रोग्रामर के रूप में उपयोग करना चाहते हैं। (हार्डवेयर हुकअप के लिए वीडियो ट्यूटोरियल का पालन करें)।

कोड इस तरह दिखना चाहिए ताकि आप जान सकें कि आप सही रास्ते पर हैं।

से औजार टैब, पर जाएं प्रोग्रामर फिर क्लिक करें Arduino ISP के रूप में जैसा कि नीचे दिया गया है।

अंत में, से औजार टैब फिर से, पर क्लिक करें बूटलोडर जलाएं के रूप में दिखाया।

एक बार प्रक्रिया पूरी हो जाने के बाद, लक्ष्य बोर्ड अब प्रोग्राम किए जाने के लिए तैयार है।

एक समर्पित प्रोग्रामर का उपयोग करना

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

आप ARM माइक्रोकंट्रोलर्स के लिए आधिकारिक Atmel-ICE प्रोग्रामर जैसे अन्य विकल्पों को भी आज़मा सकते हैं - खासकर यदि आप Windows पर नहीं हैं।

Arduino बोर्ड को प्रोग्रामर से कनेक्ट करें और बूटलोडर को फ्लैश करें। नीचे इस वीडियो ट्यूटोरियल को देखें।

प्रक्रिया सरल होनी चाहिए और 20 सेकंड से अधिक नहीं लेनी चाहिए।

टिप्पणी: इस पद्धति का प्रयास करने से पहले लक्ष्य बोर्ड को ठीक से संचालित किया जाना चाहिए। अन्यथा, आप फ़्लैश करने में सक्षम नहीं होंगे हेक्स अपने लक्ष्य के लिए फाइल करें।

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

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

avrdude-बी 19200 -सीusbtiny-पीm328p-वी-इयूसाफ करना: डब्ल्यू: 0x05:एमयूfuse: डब्ल्यू:0xD6:एमयूfuse: डब्ल्यू: 0xFF:एम

फ़्यूज़ बिट्स को कॉन्फ़िगर करने के बाद, अगला चरण संकलित .hex फ़ाइल को लक्ष्य बोर्ड में स्थानांतरित करना और लॉक बिट्स सेट करना है। यह आपको बोर्ड पर कार्यक्रम चलाने की अनुमति देगा। सुनिश्चित करें कि आप उसी निर्देशिका में हैं जैसे Optiboot_atmega328.hex इस आदेश में कुंजीयन करने से पहले फ़ाइल:

avrdude-बी 19200 -सीusbtiny-पीm328p-वी-इयूचमक: डब्ल्यू:hexfilename.hexयूताला: डब्ल्यू: 0x0F:एम

टिप्पणी: ये कमांड Arduino Uno के लिए हैं। आपको अपने बोर्ड में पाए जाने वाले फ़्यूज़ बिट्स को रिफलेक्टर करने की आवश्यकता होगी बोर्ड.txt फ़ाइल और ट्वीक करें AVRDUDE के भाग संख्या पैरामीटर साथ ही उनके काम करने के लिए।

आप Arduino के साथ आगे क्या करेंगे?

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