- अवयव आवश्यक
- Atmega328 का पिन आरेख
- घटक विवरण
- भाग -1: ब्रेडबोर्ड पर Arduino सर्किट का निर्माण
- भाग -2: बूट लोडर को एटमेगा 328 आईसी में जलाना
- भाग -3: कैसे Arduino बूटलोडर कार्यक्रम के लिए Atmega 328 अपलोड किया
- Armeino बोर्ड का उपयोग करके Atmega328 चिप प्रोग्रामिंग
- प्रोग्रामिंग Arduino Atmega328 USB सीरियल सीरियल कनवर्टर का उपयोग कर चिप
हम सभी जानते हैं कि, Armeino UNO बोर्ड में Atmega328 IC का उपयोग किया जाता है। यह आईसी Arduino बोर्ड का मस्तिष्क है। दरअसल, Arduino डिज़ाइनर्स शुरुआती लोगों के लिए एक आसान प्रोटोटाइप बोर्ड बनाना चाहते थे, इसलिए उन्होंने सभी घटकों को इस तरह से व्यवस्थित किया कि कोई भी Atmega328 IC के सभी पिन तक पहुंच सके और इसे कंप्यूटर से जोड़कर ही प्रोग्राम कर सके। Arduino बोर्ड शौक परियोजनाओं के निर्माण के लिए बहुत लोकप्रिय है। लेकिन औद्योगिक या उपभोक्ता उत्पादों में इसके पूर्ण Arduino बोर्ड का उपयोग करने के लिए अच्छा विचार नहीं है, इसलिए हम स्टैंडअलोन Atmega328 IC का उपयोग कर सकते हैं, जिसे Arduino IDE के साथ प्रोग्राम किया जा सकता है लेकिन Arduino बोर्ड का उपयोग किए बिना।
इस ट्यूटोरियल में, हम देखेंगे कि कैसे Armeino बोर्ड को Atmega328 IC और कुछ अन्य घटकों के साथ बदलें । Arduino के स्थान पर Atmega328 IC का उपयोग करने के लिए, पहले हमें इसमें Arduino Bootloader जलाना होगा और फिर हम इसे FTDI या Arduino Board का उपयोग करके प्रोग्राम करेंगे। यह ट्यूटोरियल Arduino बोर्ड से क्षतिग्रस्त Atmega328 IC को बदलने में भी मदद करेगा। इसके अलावा नीचे वर्णित सर्किट का उपयोग करके आप पीसीबी पर इसकी प्रतिकृति बनाकर अपना स्वयं का Arduino बोर्ड बना सकते हैं ।
अवयव आवश्यक
- एटमेगा 328 आईसी
- ब्रेड बोर्ड
- LM7805
- 16 मेगाहर्ट्ज क्रिस्टल
- 22pF सिरेमिक कैपेसिटर (2)
- 10uF संधारित्र (2)
- 10 K रोकनेवाला
- 1k रोकनेवाला
- जम्पर के तार
वैकल्पिक रूप से, आप अपने सर्किट में 3.3v रेल को शामिल करने के लिए 3.3v वोल्टेज नियामक LM1117-3.3v का भी उपयोग कर सकते हैं।
Atmega328 का पिन आरेख
घटक विवरण
बिजली आपूर्ति भाग-
- 5V वोल्टेज नियामक: Atmega 328 IC 5V बिजली की आपूर्ति पर चलता है। इसलिए यहाँ, हम 5v आउटपुट पाने के लिए LM7805 का उपयोग कर रहे हैं, यह 30V तक इनपुट के रूप में काम कर सकता है। यदि आपके पास एक अलग 5V आपूर्ति है तो आप इस चरण को छोड़ सकते हैं।
- कैपेसिटर: 10uF कैपेसिटर का उपयोग 7805 के इनपुट और आउटपुट भाग में किया जाता है ताकि किसी भी एसी कंपोनेंट को जमीन पर रखा जा सके।
- LED: यह आपको दिखाएगा कि आपका 5V आउटपुट आ रहा है।
माइक्रोकंट्रोलर भाग-
- Atmega 328: यह ब्रेडबोर्ड पर हमारा मुख्य घटक है। इसका पिन आरेख ऊपर दिया गया है।
- क्रिस्टल थरथरानवाला: एक 16MHz बाहरी क्रिस्टल ATmega328 के पिन 9 और पिन 10 के बीच जुड़ा हुआ है। इस क्रिस्टल का उपयोग कार्यों को तेजी से निष्पादित करने के लिए माइक्रोकंट्रोलर को घड़ी देने के लिए किया जाता है।
- पुश बटन: माइक्रोकंट्रोलर को रीसेट करने के लिए एक पुश बटन पिन 1 और जीएनडी के बीच जुड़ा होता है। आम तौर पर, यह 10k रोकनेवाला का उपयोग करके 5v के साथ जुड़ा हुआ है।
- एलईडी: एक एलईडी डिजिटल पिन 13 के साथ जुड़ा हुआ है।
यह पूरा ट्यूटोरियल ब्रेडबोर्ड पर चलने वाले अपने खुद के Arduino बनाने के लिए तीन भागों में विभाजित है :
- ब्रेडबोर्ड पर Arduino सर्किट का निर्माण
- Atmega328 आईसी में बूटलोडर को जलाना
- कैसे Arduino बूटलोडर कार्यक्रम के लिए Atmega 328 IC को ब्रेडबोर्ड पर अपलोड किया।
अब हम प्रत्येक भाग को एक-एक करके समझाएंगे।
भाग -1: ब्रेडबोर्ड पर Arduino सर्किट का निर्माण
चरण 1: - सर्किट आरेख में दिखाए गए अनुसार विद्युत आपूर्ति भाग को कनेक्ट करें और बाहरी बिजली आपूर्ति का उपयोग करके LM7805 पर परीक्षण करें। यह इस तरह दिखेगा।
चरण 2: - अब, सर्किट आरेख में दिखाए गए अनुसार माइक्रोकंट्रोलर भाग को कनेक्ट करें । कनेक्शन सावधानी से करें।
चरण 3: - अब, जम्पर्स का उपयोग करके बिजली की आपूर्ति और माइक्रोकंट्रोलर भाग को कनेक्ट करें। आपका अंतिम सर्किट कुछ इस तरह दिखेगा।
तो, यह ब्रेडबोर्ड पर हमारा Arduino है । आप ईजीईडीएए आदि जैसे सरल टूल का उपयोग करके पीसीबी पर एक ही सर्किट को लागू कर सकते हैं। अब, हमें बूटलोडर को नए एटमेगा 328 आईसी पर अपलोड करना होगा ताकि हम आईसी को प्रोग्राम करना शुरू कर सकें।
भाग -2: बूट लोडर को एटमेगा 328 आईसी में जलाना
बूटलोडर क्या है और हमें इसकी आवश्यकता क्यों है ??
बूटलोडर निष्पादन योग्य कोड का छोटा टुकड़ा है जो कि माइक्रोकंट्रोलर की मेमोरी में स्थायी रूप से संग्रहीत होता है। यह मेमोरी के 1Kb से कम पर कब्जा कर लेता है। बूटलोडर आईसी को कंप्यूटर से कोड को स्वीकार करने और इसे माइक्रोकंट्रोलर की स्मृति में रखने की अनुमति देता है।
परंपरागत रूप से, Atmel के सभी माइक्रोकंट्रोलर को प्रोग्रामर की मदद से प्रोग्राम किया जाता है जिसमें कुछ फैंसी कनेक्शन होते हैं। बूटलोडर्स जटिलता को कम करते हैं और हमें माइक्रोकंट्रोलर को प्रोग्रामिंग करने का एक आसान और कुशल तरीका प्रदान करते हैं। इसका मतलब है कि आप इसे केवल यूएसबी केबल का उपयोग करके प्रोग्राम कर सकते हैं ।
जब आप बाजार से नया Atmega 328 खरीदते हैं, तो इसमें कोई बूटलोडर नहीं होता है । तो अपने Atmega328 को Arduino IDE का उपयोग करके प्रोग्राम करने के लिए आपको पहले बूटलोडर अपलोड करना होगा।
बूटलोडर अपलोड करने के लिए, हमारे पास दो तरीके हैं:
- USBasp प्रोग्रामर का उपयोग करना
- Arduino UNO बोर्ड का उपयोग करना
पहले वाले की तुलना में दूसरा तरीका आसान है। क्योंकि इसे कम कनेक्शन की आवश्यकता होती है और Arduino IDE का नवीनतम संस्करण भी फैंसी USBasp प्रोग्रामर का समर्थन नहीं करता है।
इसलिए, इस ट्यूटोरियल में हम Arduino Uno बोर्ड का उपयोग करके बूटलोडर अपलोड करेंगे ।
Atmega328 चिप में Arduino बूटलोडर अपलोड करें
चरण 1: - Arduino IDE खोलें। फाइल पर जाएं -> उदाहरण -> ArduinoISP । ArduinoISP चुनें। जैसा की नीचे दिखाया गया।
चरण 2: - अब, आपको इस कोड को अपने Arduino बोर्ड पर अपलोड करना होगा। टूल मेनू से कॉम पोर्ट और बोर्ड चुनें और अपलोड बटन दबाएं।
चरण 3: - one डन अपलोडिंग’के बाद, कंप्यूटर से Arduino बोर्ड को डिस्कनेक्ट करें और Atmega 328 के साथ Arduino बोर्ड के कनेक्शन बनाएं जैसा कि नीचे चित्र में दिखाया गया है।
चरण 4: - अब, Arduino बोर्ड को कंप्यूटर से कनेक्ट करें। Arduino IDE खोलें।
टूल्स पर जाएं, बोर्ड को Arduino / जेनुइन Uno के रूप में चुनें, अपने बोर्ड के लिए सही पोर्ट चुनें । प्रोग्रामर चुनें "Arduino ISP के रूप में" । ArduinoISP के साथ इसे भ्रमित न करें। दोनों अलग हैं।
चरण 5: - अब, फिर से टूल पर जाएं और प्रोग्रामर विकल्प के ठीक नीचे बर्न बूटलोडर पर क्लिक करें । कुछ सेकंड के बाद, बूटलोडर को सफलतापूर्वक अपलोड किया जाता है। यदि अपलोड करने में कोई त्रुटि है, तो कनेक्शन जांचें।
Atmega 328 IC में बूटलोडर अपलोड करने के लिए ऊपर बताए गए चरणों को समझने के लिए नीचे दिए गए वीडियो को देखें ।
आपका ब्रेडबोर्ड Arduino असली Arduino बोर्ड के रूप में काम करने के लिए तैयार है। अब, सवाल उठता है कि एटमेगा 328 आईसी कैसे प्रोग्राम करें ? हम अपने अगले भाग में चर्चा करेंगे।
भाग -3: कैसे Arduino बूटलोडर कार्यक्रम के लिए Atmega 328 अपलोड किया
स्टैंडअलोन Arduino Atmega328 चिप को कई तरीकों से प्रोग्राम किया जा सकता है।
- इसमें Atmega 328 IC के बिना खाली Arduino बोर्ड यानी Arduino बोर्ड का उपयोग करना।
- USB से सीरियल TTL कनवर्टर मॉड्यूल (FTDI मॉड्यूल) का उपयोग करना।
- USBasp प्रोग्रामर का उपयोग करना (कई कनेक्शनों को शामिल करना)।
यहां, हम दो तरीकों का उपयोग करके इसे प्रोग्राम करेंगे: यूएसबी से सीरियल कनवर्टर और अरुडिनो बोर्ड।
Armeino बोर्ड का उपयोग करके Atmega328 चिप प्रोग्रामिंग
चरण 1: - Atmega328 चिप के बिना एक Arduino बोर्ड लें। हमारे ब्रेडबोर्ड Arduino के साथ Arduino बोर्ड के कनेक्शन बनाएं जैसा कि इस चित्र में दिखाया गया है।
चरण 2: - कंप्यूटर के साथ Arduino बोर्ड कनेक्ट करें और Arduino IDE खोलें। टूल , प्रोग्रामर में बोर्ड मेनू से अरड्यूनो यूनो चुनें और बोर्ड के सही कॉम पोर्ट।
चरण 3: - हम ब्लिंक प्रोग्राम अपलोड करके शुरू करेंगे। इसलिए उदाहरणों में से ब्लिंक प्रोग्राम चुनें और अपलोड बटन दबाएं।
अब, आप देख सकते हैं कि ब्रेडबोर्ड पर एलईडी झपकी लेना शुरू कर देगा।
प्रोग्रामिंग Arduino Atmega328 USB सीरियल सीरियल कनवर्टर का उपयोग कर चिप
चरण 1: - यदि आपके पास Arduino बोर्ड नहीं है। यह आपके ब्रेडबोर्ड Arduino को प्रोग्राम करने का सबसे अच्छा तरीका है ।
कनेक्शन इस प्रकार बनाएं:
एफटीडीआई का आरएक्सडी पिन -> एटमेगा 328 का टीएक्स पिन (पिन 3)
FTDI का TXD पिन -> Atmega328 का आरएक्स पिन (पिन 2)
GND -> GND (पिन 8)
5v -> Vcc (पिन 7)
कुछ एफटीडीआई मॉड्यूल में रीसेट पिन भी डीटीआर पिन के रूप में जाना जाता है, जिसे एटमेगा 328 (पिन 1) के रीसेट पिन के साथ जोड़ा जाना चाहिए। यदि मॉड्यूल में कोई रीसेट पिन नहीं है, तो चिंता न करें जब हम चिप प्रोग्राम करेंगे तो मैं समाधान दूंगा।
चरण 2: - अब, FTDI को कंप्यूटर से कनेक्ट करें और कंट्रोल पैनल में डिवाइस मैनेजर खोलें । आपको पोर्ट सेक्शन दिखाई देगा, इसे विस्तृत करें। अगर ड्राइवर के सामने पीला निशान है तो आपको अपने मॉड्यूल ड्राइवर को अपडेट करना होगा।
यदि कोई निशान नहीं है, तो कॉम पोर्ट नंबर नोट करें और Arduino IDE खोलें। पर जाएं उपकरण -> बंदरगाहों -> का चयन करें कॉम है कि आप का उल्लेख किया है।
चरण 3: - अब, हम अपने ब्रेडबोर्ड Arduino पर ब्लिंक प्रोग्राम अपलोड करेंगे । फाइल पर जाएं -> उदाहरण -> मूल बातें -> पलक । उपकरण में बोर्ड मेनू से Arduino Uno चुनें, USBasp के रूप में प्रोग्रामर और बोर्ड का सही कॉम पोर्ट।
फिर अपलोड बटन दबाएं।
नोट: यदि आपके FTDI मॉड्यूल में कोई DTR पिन नहीं है, तो ब्रेडबोर्ड पर रीसेट बटन दबाएं और अपलोड बटन दबाएं। इसे दबाए रखें अगर यह कहता है कि संकलन स्केच… अपलोड होते ही बटन को छोड़ दें …
अब, प्रोग्राम को सफलतापूर्वक Arduino Bootloader Atmega328 चिप में अपलोड किया जाएगा।
नीचे Arduino बोर्ड का उपयोग किए बिना Atmega 328 आईसी प्रोग्रामिंग के लिए वीडियो है:
हमने अपने DIY ब्रेडबोर्ड Arduino सर्किट के साथ किया है । आप पीसीबी पर इस सर्किट को अधिक कॉम्पैक्ट बनाने के लिए डिज़ाइन कर सकते हैं।