एक स्टैंडअलोन Arduino चिप का उपयोग करना काफी आसान है। आधिकारिक बोर्डों के लिए उपयोग की जाने वाली चिप के बारे में एक मुश्किल बात यह है कि वे तेज (और अधिक सटीक) बाहरी थरथरानवाला का उपयोग करने के लिए जुड़े हुए हैं जो बोर्ड पर लगे हुए हैं। यह तब भी लागू होता है जब आप ढीले चिप्स खरीदते हैं, क्योंकि अधिकांश एक Arduino बोर्ड में स्थापित किए जाने के इरादे से पुनर्विकसित होते हैं, बर्न-आउट को बदलने के लिए, शायद डिग्गी के लोगों के अपवाद के साथ।
कैविट्स: द अरुडिनो को एक प्रोटोटाइप बोर्ड के रूप में डिज़ाइन किया गया है, और कुछ चीजें इस कार्य को करने से बेहतर है। आप Arduino बोर्ड पर चिप छोड़ना चाह सकते हैं जब तक कि आप अपने सर्किट को डिजाइन और परीक्षण नहीं करते हैं। तभी आप इसे सीधे कनेक्ट करते हैं। इसका उपयोग उस जगह पर किया जा सकता है, जब आपके पास क्लॉक सर्किट होता है, या आप फ़्यूज़ को बदल सकते हैं (बाद में देखें) और ISP एडेप्टर के साथ Arduino को रिप्रोग्राम कर सकते हैं और 8mhz (PlatformIO) की एक क्लॉक स्पीड आपको ऐसा करने की अनुमति देती है ( और अनुमति देती है) एक Arduino स्केच का आयात) - Atmel AVR प्लगइन के लिए उनके डॉक्स पृष्ठ की जाँच करें, लेकिन आप Arduino पर एक बोर्ड फ़ाइल को जोड़ने के लिए गाइड के एक नंबर को देख सकते हैं, यह बता सकते हैं कि यह नंगे चिप के लिए 8mhz विकल्प का उपयोग करने के लिए)
यदि आप किसी भिन्न सर्किट में उपयोग के लिए चिप को निकालते हैं, तो उसे या तो उस क्लॉक सर्किट को वापस जोड़ना होगा या उसके फ़्यूज़ को बदलना होगा (मैं एक मिनट में इसे प्राप्त करूँगा)। कई कारणों से प्रोग्राम करना कठिन होगा, इसलिए आप काफी सस्ते हार्डवेयर खरीदना चाहते हैं:
एक स्टैंडअलोन चिप प्रोग्रामिंग : Arduino के सीपीयू को मूल रूप से कंप्यूटर से बात करने के लिए डिज़ाइन नहीं किया गया है। आपको एक मध्यस्थ की आवश्यकता है। Uno पर, यह एक दूसरे Atmel चिप के माध्यम से किया जाता है जिसमें USB क्षमता होती है, और मुख्य चिप पर एक बूटलोडर होता है। जो करता है, वह यह है कि यह प्रोग्राम के अपलोड के लिए UART का उपयोग करता है जबकि USB चिप पीसी के संदेशों को UART के संकेतों में परिवर्तित करता है। चूंकि बूटलोडर कुछ हद तक दर्द होता है जब चिप अपने आप होती है (चूंकि UART पिकी है और इसे स्थापित करने के लिए चिप को बाहरी घड़ी का उपयोग करने के लिए सेट करता है), तो आप Arduino (या) के लिए एक ISP प्रोग्रामर खरीदना चाहेंगे Arduino-as-ISP स्केच और अपने स्वयं के बनाने के निर्देशों का पालन करें, जिसमें चिप के साथ एक Arduino की आवश्यकता होती है, इसलिए आपको प्रोग्राम किए जाने के लिए एक दूसरे की आवश्यकता होगी)।
ये ATMega 328 को सीधे SPI पर प्रोग्राम कर सकते हैं, बिना बूटलोडर के (इंटरनेट पर कई निर्देश हैं; उदाहरण के लिए "USBAsp के साथ नंगे ATMega 328P प्रोग्राम को खोजें")। यह चिप को बाहर करने और मूल Arduino बोर्ड में वापस पॉपिंग के बाहर आपके प्रोग्राम को बदलने और डिबग करने में बहुत आसान बनाता है। यदि आप बाहरी क्रिस्टल का उपयोग नहीं करना चाहते हैं, तो आपको घड़ी की सेटिंग्स को बदलने की भी आवश्यकता है।
यदि आप चिप को डीबग करना चाहते हैं , तो यह एफटीडीआई एडॉप्टर या अन्य यूएसबी-टू-यूएआर कनवर्टर भी खरीद सकता है। ध्यान दें कि बोर्ड के रीसेट सर्किट भाग के बिना (या फिर से, अपना खुद का जोड़ना), यह अभी भी आपको बूटलोडर के साथ ATMEga प्रोग्राम नहीं करने देगा, हालांकि। उसके लिए, एडेप्टर के लिए जमीन, RX और TX पिन कनेक्ट करें। आप VCC लाइन को कनेक्ट करना चाहते हैं या नहीं कर सकते हैं, लेकिन ऐसा न करने की सलाह दी जाती है अगर चिप से जुड़ी बहुत सी चीजें हैं और / या इसकी अपनी बिजली आपूर्ति है। ध्यान दें कि जब आप उन्हें कनेक्ट करते हैं तो RX और TX को स्वैप करने की आवश्यकता होती है; यही है, RX से TX और TX से RX - आप चिप को RX (प्राप्त) चाहते हैं कि एडेप्टर क्या है TX (संचारित) आईएनजी, और इसके विपरीत।
घड़ी सर्किट का निर्माण मुश्किल नहीं है, लेकिन इसके लिए कुछ घटकों की आवश्यकता होती है जो आपके पास नहीं हो सकते। इसलिए, घड़ी स्रोत को बदलने के लिए , http://www.engbedded.com/fusecalc/ पर जाएं और ATMega 328P चुनें। डिफॉल्ट अच्छे हैं, लेकिन आप EEPROM को ऑन-एरेस को सक्षम करने और क्लॉक डिवाइड-बाय -8 को अक्षम करने या ब्राउनआउट सेटिंग्स को समायोजित करने के लिए सक्षम कर सकते हैं। किसी और चीज़ को न छूएं (रीसेट या एसपीआई को अक्षम करने या डीबगवायर परिणाम को सक्षम करने में "मज़ेदार" जिसे ठीक करने के लिए एक एचवी प्रोग्रामर की आवश्यकता होती है)। जब किया जाता है, तो AVRDude कमांड को यह कमांड पेस्ट करें। आपको -c विकल्प बदलने की आवश्यकता होगी (-p पहले से ही ATMega 328P पर सेट है, लेकिन गैर-पी 328s के लिए विफल हो जाएगा - उन को न खरीदें), और शायद -प विकल्प (पोर्ट के लिए) जोड़ें। लोअरकेस -u विकल्प को छोड़ें नहीं, या यह फ़्यूज़ को अपडेट करने से इंकार कर देगा।
avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]
ध्यान दें कि यदि आप एक USBASP खरीदते हैं (यह सुनिश्चित करें कि इसमें जंपर्स के तीन सेट हैं!), सभी के लिए वे मेरे पसंदीदा प्रोग्रामर हैं, उनके पास अपडेटेड फर्मवेयर नहीं हो सकता है जो -B विकल्प का समर्थन करता है (जिसकी आपको शायद आवश्यकता होगी)। इसका मतलब है कि आपको इसे छह-पिन प्रोग्रामिंग पोर्ट के माध्यम से एक Arduino में संलग्न करने की आवश्यकता है, ठीक उसी तरह से जैसे कि आप इसे Arduino के बूटलोडर को प्रोग्राम करने के लिए उपयोग करेंगे, लेकिन फिर नए प्रोग्राम के लिए Arduino-as-ISP स्केच का उपयोग करें प्रोग्रामर के लिए फर्मवेयर (खोज "arduino-as-isp" के माध्यम से usbasp फर्मवेयर को अपडेट करें)! संदर्भ के लिए, आमतौर पर इसका मतलब है कि केबल बोर्ड के शरीर से दूर है, और आपको शायद पहले स्केच का कार्यक्रम करना होगाकेबल कनेक्ट कर रहा है। USBASP (5V) और "स्व-प्रोग्राम" एक पर पावर-प्रोग्रामर जम्पर को सक्षम करें। ( पावर और प्रोग्राम जंपर्स (JP2) के स्थान के लिए https://forum.arduino.cc/index.php?topic=560719.0 देखें )।