windows 7 पर arduino uno इंस्टॉल करना। USB FTDI ड्राइवरों में समस्या आ रही है

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

Arduino IDE स्थापित करना

सबसे पहले आपको कंप्यूटर पर एकीकृत वातावरण स्थापित करने की आवश्यकता है Arduino विकास - अरुडिनो आईडीई. वजह से Arduino SRL और Arduino LLC के बीच युद्ध, प्लेटफ़ॉर्म मॉडल के आधार पर, Arduino IDE संस्करण का चयन करें।

डाउनलोड Arduino IDE 1.7.7- सभी प्लेटफार्मों के लिए (Arduino SRL से स्थिर संस्करण)।
डाउनलोड Arduino IDE 1.6.4- Arduino लियोनार्डो ETH और Arduino M0 (Arduino LLC से स्थिर संस्करण) को छोड़कर सभी प्लेटफार्मों के लिए।

Arduino IDE शुरू करना

एक बार जब आप Arduino IDE को डाउनलोड और इंस्टॉल कर लेते हैं, तो चलिए इसे शुरू करते हैं और चलते हैं! नीचे की तरह एक विंडो खुलनी चाहिए।

कुछ गलत हो गया?

Arduino IDE प्रारंभ नहीं होगा? JRE (जावा रनटाइम एनवायरनमेंट) शायद कंप्यूटर पर ठीक से स्थापित नहीं है। Arduino IDE को फिर से स्थापित करने के लिए चरण (1) का संदर्भ लें: इंस्टॉलर JRE को तैनात करने का सारा काम करेगा।

Arduino को कंप्यूटर से कनेक्ट करना

Arduino IDE को स्थापित करने के बाद, Arduino प्लेटफॉर्म को कंप्यूटर से जोड़ने का समय आ गया है।

USB केबल के माध्यम से Arduino को कंप्यूटर से कनेक्ट करें। आप देखेंगे कि बोर्ड पर "चालू" एलईडी चालू है, और "एल" एलईडी चमकने लगेगी। इसका मतलब है कि बिजली बोर्ड पर लागू होती है, और माइक्रोकंट्रोलर Arduino शुरू हुआफ़ैक्टरी-प्रोग्राम किए गए "ब्लिंक" प्रोग्राम (एलईडी की ब्लिंकिंग) को निष्पादित करें।

एक विशिष्ट Arduino के साथ काम करने के लिए Arduino IDE को कॉन्फ़िगर करने के लिए, हमें यह जानना होगा कि कंप्यूटर ने इस प्लेटफॉर्म को कौन सा COM पोर्ट नंबर सौंपा है। ऐसा करने के लिए, "डिवाइस मैनेजर" विंडोज पर जाएं और "पोर्ट्स (कॉम और एलपीटी)" टैब खोलें। हमें निम्नलिखित चित्र देखना चाहिए:


इसका मतलब यह है कि ऑपरेटिंग सिस्टम ने हमारे Arduino बोर्ड को COM पोर्ट के रूप में मान्यता दी है, इसके लिए सही ड्राइवर का चयन किया है, और इस COM पोर्ट को नंबर 2 असाइन किया है। यदि हम किसी अन्य Arduino बोर्ड को कंप्यूटर से कनेक्ट करते हैं, तो ऑपरेटिंग सिस्टम इसे एक अलग नंबर असाइन करेगा . इसलिए, यदि आपके पास कई Arduino बोर्ड हैं, तो यह बहुत महत्वपूर्ण है कि COM पोर्ट नंबरों से भ्रमित न हों।

कुछ गलत हो गया?

यदि Arduino को कंप्यूटर से कनेक्ट करने के बाद, डिवाइस मैनेजर में कोई नया डिवाइस दिखाई नहीं देता है, तो इसका एक कारण हो सकता है:
दोषपूर्ण यूएसबी केबल या पोर्ट
साइड लॉक ऑपरेटिंग सिस्टम
दोषपूर्ण Arduino बोर्ड

Arduino के साथ काम करने के लिए Arduino IDE सेट करना

अब हमें Arduino IDE को बताना होगा कि वह जिस बोर्ड से बात करेगा वह COM पोर्ट नंबर 2 पर है।
ऐसा करने के लिए, मेनू पर जाएं: उपकरण पोर्ट और "COM2" पोर्ट का चयन करें। अब Arduino IDE जानता है - "COM2" पोर्ट पर कुछ है। और इस "कुछ" के साथ उसे जल्द ही संवाद करना होगा।

ताकि Arduino IDE में कोई संदेह न हो, हमें Arduino IDE को बताना होगा कि हम किस बोर्ड के साथ काम करेंगे। ऐसा करने के लिए, मेनू पर जाएं: टूल्स बोर्ड और बोर्ड "Arduino Uno" चुनें।


अब Arduino IDE को वह सब कुछ पता है जो उसे Arduino को फ्लैश करने के लिए चाहिए।

कुछ गलत हो गया?

क्या सीरियल पोर्ट की सूची खाली है? तो Arduino सही ढंग से जुड़ा नहीं है। कनेक्शन को डीबग करने के लिए चरण (3) पर वापस जाएं।
मेनू नेविगेट करते समय Arduino IDE अविश्वसनीय रूप से धीमा है? डिवाइस मैनेजर में सभी बाहरी "ब्लूटूथ सीरियल" डिवाइस को अक्षम करें। उदाहरण के लिए, कनेक्ट करने के लिए एक वर्चुअल डिवाइस चल दूरभाषब्लूटूथ पर इस व्यवहार का कारण बन सकता है।

वातावरण कॉन्फ़िगर किया गया है, बोर्ड जुड़ा हुआ है। अब आप स्केच अपलोड करने के लिए आगे बढ़ सकते हैं।
Arduino IDE में बहुत सारे तैयार उदाहरण हैं जिनमें आप किसी भी समस्या के समाधान को जल्दी से देख सकते हैं। इसमें "ब्लिंक" का एक सरल उदाहरण भी है। चलो इसे चुनें।


आइए फ़ैक्टरी ब्लिंकिंग एलईडी के साथ अंतर देखने के लिए कोड को थोड़ा संशोधित करें।
एक पंक्ति के बजाय:

कोड का पूर्ण संस्करण:

व्यर्थ व्यवस्था()
{
// पिन 13 को एग्जिट मोड पर सेट करें
पिनमोड (13, आउटपुट);
}

शून्य लूप ()
{
// हम 13 "उच्च सिग्नल" को पिन करने के लिए आवेदन करते हैं
डिजिटलवाइट (13, हाई);

// 100 मिलीसेकंड प्रतीक्षा करें
देरी (100);

// पिन 13 "लो सिग्नल" लागू करें
डिजिटलवाइट (13, कम);

// 100 मिलीसेकंड प्रतीक्षा करें
देरी (100);
}

"एल" एलईडी अब हर 100 मिलीसेकंड पर चालू और बंद होनी चाहिए। यह फैक्ट्री वर्जन से 10 गुना तेज है। आइए हमारे स्केच को Arduino पर अपलोड करें और देखें कि क्या यह सच है?

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

कुछ गलत हो गया?

avrdude जैसी त्रुटि में परिणाम लोड हो रहा है: stk500_get सिंक (): सिंक में नहीं: सम्मान = 0x00? इसका मतलब है कि Arduino गलत तरीके से कॉन्फ़िगर किया गया है। यह सुनिश्चित करने के लिए पिछले चरणों पर वापस जाएं कि डिवाइस को ऑपरेटिंग सिस्टम द्वारा पहचाना गया था और यह कि COM पोर्ट और बोर्ड मॉडल के लिए सही सेटिंग्स Arduino IDE में सेट हैं।

टिप्पणियाँ:

हम शुरुआत करने पर विचार करेंगे अरुडिनो नैनोविंडोज 10 ऑपरेटिंग सिस्टम पर।

1. Arduino IDE स्थापित करें

अपने कंप्यूटर पर Arduino इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट (Arduino IDE) इंस्टॉल करें।

ऐसा करने के लिए, आधिकारिक Arduino वेबसाइट पर जाएं और डाउनलोड करें नवीनतम संस्करणअरुडिनो आईडीई।

https://www.arduino.cc/hi/Main/software#

डाउनलोड की गई फ़ाइल को व्यवस्थापक के रूप में चलाएँ।

हम लाइसेंस के लिए सहमत हैं।


कुछ भी नहीं बदलें और क्लिक करें "आगे".



स्थापना पथ चुनें।


हम स्थापना के अंत की प्रतीक्षा कर रहे हैं।




अगली विंडो में ("ऑलवेज ट्रस्ट अरुडिनो एलएलसी सॉफ्टवेयर" पर टिक करें और क्लिक करेंस्थापित करना.



इंस्टॉलेशन विंडो में, क्लिक करें बंद करना.



2. Arduino शुरू करेंआईडीई

Arduino IDE की मुख्य विंडो। जब तक Arduino Nano कंप्यूटर से कनेक्ट नहीं होता है। इस तथ्य पर ध्यान दें कि निचले दाएं कोने में एक शिलालेख है "COM1 पर Arduino/Genuino Uno". इसका मतलब यह है कि कार्यक्रम के साथ काम करने के लिए कॉन्फ़िगर किया गया है अरुडिनो बोर्डऊनो और इसकी खोज COM1 पोर्ट पर की जाती है।

3. Arduino को कंप्यूटर से जोड़ना

USB केबल के माध्यम से Arduino को कंप्यूटर से कनेक्ट करें। Arduino पर LED को प्रकाश करना चाहिए।

अब आपको उस COM पोर्ट नंबर का पता लगाने की जरूरत है जिसे कंप्यूटर ने इस प्लेटफॉर्म को सौंपा है। के लिए जाओ "डिवाइस मैनेजर"विंडोज और ओपन टैब "बंदरगाह (कॉम और एलपीटी)".


और इसलिए विंडोज 10 ने हमारे Arduino बोर्ड को COM पोर्ट #3 के रूप में पहचाना।

4. Arduino के साथ काम करने के लिए Arduino IDE सेट करना

Arduino IDE को बताएं कि हमारा Arduino नैनो बोर्ड चालू हैकॉम पोर्ट #3.

Arduino IDE लॉन्च करें और मेनू आइटम पर जाएं:

"उपकरण--> पोर्ट--> और COM3 पोर्ट चुनें"।



आपको Arduino IDE को यह भी बताना होगा कि किस बोर्ड के साथ काम करना है।

मेनू से चुनें:

"टूल्स--> बोर्ड-->"Arduino Nano" बोर्ड चुनें।



इस स्थापना पर और आर्डिनो सेटअपखत्म।

Arduino में प्रोग्राम नहीं चमक रहे हैं

किसी प्रोग्राम को कंप्यूटर से Arduino में स्थानांतरित करने की प्रक्रिया में, कई घटक शामिल होते हैं। यदि उनमें से कम से कम एक सही ढंग से काम नहीं करता है, तो फर्मवेयर प्रक्रिया टूट जाएगी। विशेष रूप से, चमकती प्रक्रिया इस पर निर्भर करती है: Arduino ड्राइवर, डिवाइस मॉडल और Arduino वातावरण में पोर्ट चयन, बोर्ड से भौतिक कनेक्शन, 8U2 नियंत्रक फर्मवेयर (Arduino Uno और Mega 2560) पर, डिवाइस के मुख्य माइक्रोकंट्रोलर का बूटलोडर, फ्यूज बिट सेटिंग्स, आदि। डी। किसी विशेष घटक के समस्या निवारण के लिए नीचे कुछ सुझाव दिए गए हैं।

Arduino पर्यावरण

  • सुनिश्चित करें कि आपका Arduino मॉडल टूल्स> बोर्ड मेनू में चुना गया है। यदि आपके पास Arduino Uno है, तो उपयुक्त आइटम का चयन करें। यह भी ध्यान रखें कि Arduino Duemilanove के बाद के मॉडल ATmega328 माइक्रोकंट्रोलर के साथ आते हैं, जबकि पुराने संस्करण ATmega168 के साथ आते हैं। यह पता लगाने के लिए कि आपके Arduino में किस नियंत्रक का उपयोग किया गया है - माइक्रोकंट्रोलर (बोर्ड पर सबसे बड़ी चिप) पर शिलालेख पढ़ें। बोर्ड मेनू के बारे में अधिक जानकारी Arduino Development Environment अनुभाग में मिल सकती है।
  • फिर जांचें कि टूल्स> सीरियल पोर्ट मेनू में सही पोर्ट चुना गया है (यदि पोर्ट दिखाई नहीं देता है, तो कंप्यूटर से जुड़े डिवाइस के साथ आईडीई को पुनरारंभ करने का प्रयास करें)। मैक पर, सीरियल पोर्ट कुछ इस तरह दिखना चाहिए /dev/tty.usbmodem621 (Arduino Uno या Mega 2560) या /dev/tty.usbserial-A02f8e (एक FTDI चिप वाले पुराने Arduinos के लिए)। Linux पर: /dev/ttyACM0 या समान (Arduino Uno या Mega 2560) या /dev/ttyUSB0 (Arduino के पुराने संस्करणों के लिए)। विंडोज़ पर, यह एक COM पोर्ट होगा, लेकिन डिवाइस मैनेजर में चुनने से पहले, आपको यह जांचना होगा कि कौन सा Arduino से जुड़ा हुआ है। यदि ये पोर्ट सूचीबद्ध नहीं हैं, तो ड्राइवरों पर अगला अनुभाग देखें।

ड्राइवरों

ड्राइवर कंप्यूटर पर एप्लिकेशन सॉफ़्टवेयर (यानी Arduino वातावरण) को इससे जुड़े हार्डवेयर (Arduino बोर्ड) के साथ संचार करने की अनुमति देते हैं। Arduino के संबंध में, ड्राइवर सिस्टम में वर्चुअल सीरियल पोर्ट (या वर्चुअल COM पोर्ट) बनाने के लिए ज़िम्मेदार हैं। Arduino Uno और Mega 2560 ATmega8U2 माइक्रोकंट्रोलर के साथ ऑपरेटिंग सिस्टम के मानक ड्राइवर (USB CDC) का उपयोग करते हैं। अन्य Arduino बोर्ड, जहां FTDI चिप USB-UART कनवर्टर की भूमिका निभाता है, FTDI के ड्राइवरों का उपयोग करता है।

यह जांचने का सबसे आसान तरीका है कि ड्राइवर सही तरीके से स्थापित हैं या नहीं, Arduino को पीसी से कनेक्ट करना और विकास के वातावरण में टूल्स> सीरियल पोर्ट मेनू को खोलना है। Arduino को जोड़ने के बाद, नए मेनू आइटम यहां दिखाई देने चाहिए। इस मामले में, इससे कोई फर्क नहीं पड़ता कि कौन सा पोर्ट नाम Arduino को सौंपा जाएगा।

  • विंडोज 7 (विशेष रूप से 64-बिट संस्करण) पर, आपको डिवाइस मैनेजर पर जाने और Arduino Uno या Mega 2560 ड्राइवरों को अपडेट करने की आवश्यकता हो सकती है। ऐसा करने के लिए, डिवाइस मैनेजर में डिवाइस पर राइट-क्लिक करें (बोर्ड कनेक्ट होना चाहिए) कंप्यूटर पर) और विंडोज़ को फिर से संबंधित .inf फ़ाइल को इंगित करें। यह फ़ाइल सॉफ़्टवेयर के ड्राइवर/फ़ोल्डर में स्थित है Arduino सॉफ्टवेयर(लेकिन FTDI USB ड्राइवर उपनिर्देशिका में नहीं)।
  • अगर स्थापना के दौरान Arduino ड्राइवरविंडोज एक्सपी के तहत यूनो या मेगा 2560 आपको निम्न त्रुटि मिलती है: "सिस्टम निर्दिष्ट फ़ाइल नहीं ढूंढ सकता", फिर इस समाधान का प्रयास करें (रजिस्ट्री शाखा "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion" में "रनऑन" कुंजी जोड़ने के बारे में" )
  • Linux पर, Arduino Uno और Mega 2560 को /dev/ttyACM0 डिवाइस के रूप में परिभाषित किया गया है, जो Arduino सीरियल वातावरण द्वारा उपयोग किए जाने वाले RXTX लाइब्रेरी के मानक संस्करण द्वारा समर्थित नहीं हैं। इसलिए, इस वातावरण के Linux संस्करण में एक पैच RXTX पुस्तकालय शामिल है, जो /dev/ttyACM* उपकरणों के साथ भी काम करता है। एक विशेष (11.04) भी है जिसमें ऐसे उपकरणों के लिए समर्थन शामिल है। यदि आप मानक RXTX पैकेज का उपयोग कर रहे हैं, तो आपको सिस्टम में /dev/ttyACM0 से /dev/ttyUSB0 (उदाहरण के लिए) में एक प्रतीकात्मक लिंक बनाने की आवश्यकता है - फिर सीरियल पोर्ट Arduino वातावरण में दिखाई देगा।

सीरियल पोर्ट एक्सेस

  • विंडोज़ पर: यदि प्रोग्राम स्टार्टअप पर खुलने या क्रैश होने में लंबा समय लेता है, या इसमें टूल्स मेनू को खोलने में बहुत अधिक समय लगता है, तो डिवाइस मैनेजर में, सभी ब्लूटूथ सीरियल पोर्ट और अन्य नेटवर्क COM पोर्ट को अक्षम करने का प्रयास करें। टूल्स मेन्यू को शुरू या खोलते समय, Arduino डेवलपमेंट एनवायरनमेंट आपके कंप्यूटर के सभी सीरियल पोर्ट्स को स्कैन करता है, इसलिए ऐसे नेटवर्क पोर्ट्स की उपस्थिति कभी-कभी प्रोग्राम के फ्रीज या क्रैश का कारण बन सकती है।
  • सुनिश्चित करें कि आपके पास कोई सीरियल स्कैनर प्रोग्राम नहीं चल रहा है, जैसे कि यूएसबी सेल्युलर वाईफाई डोंगल (जैसे स्प्रिंट या वेरिज़ोन से), पीडीए सिंक ऐप, ब्लूटूथ यूएसबी ड्राइवर (जैसे ब्लूसोलिल), वर्चुअल डेमॉन आदि।
  • सुनिश्चित करें कि सीरियल पोर्ट को ब्लॉक करने का कारण फ़ायरवॉल नहीं है (उदाहरण के लिए, ज़ोन अलार्म)।
  • Arduino और PC (उदाहरण के लिए, प्रोसेसिंग, PD, vvvv, आदि) के बीच USB के माध्यम से भेजे गए डेटा की निगरानी करने वाले सभी प्रोग्राम को बंद करना भी आवश्यक है।
  • लिनक्स पर: Arduino वातावरण को रूट के रूप में चलाने का प्रयास करें, कम से कम अस्थायी रूप से, यह देखने के लिए कि क्या यह Arduino को फ्लैश करने में मदद करता है या नहीं।

बोर्ड से शारीरिक संबंध

  • सबसे पहले, सुनिश्चित करें कि Arduino चालू है (lit .) हरी एलईडी) और एक कंप्यूटर से जुड़ा है।
  • Mac कंप्यूटर पर, कुछ समस्याएँ होती हैं जब Arduino को जोड़नायूएसबी हब के माध्यम से यूनो और मेगा 2560। यदि "टूल्स> सीरियल पोर्ट" मेनू में कुछ भी दिखाई नहीं देता है, तो बोर्ड को सीधे अपने कंप्यूटर में प्लग करने और Arduino IDE को पुनरारंभ करने का प्रयास करें।
  • फर्मवेयर की अवधि के लिए, सभी उपकरणों को डिजिटल पिन 0 और 1 से डिस्कनेक्ट करें, क्योंकि ये पिन Arduino को कंप्यूटर से जोड़ने के लिए इंटरफ़ेस से जुड़े हैं (कोड को नियंत्रक को सफलतापूर्वक फ्लैश करने के बाद, उनका फिर से उपयोग किया जा सकता है)।
  • सभी उपकरणों को डिस्कनेक्ट करके Arduino को फ्लैश करने का प्रयास करें (बिल्कुल यूएसबी केबल को छोड़कर)।
  • सुनिश्चित करें कि बोर्ड किसी भी प्रवाहकीय धातु की वस्तुओं के संपर्क में नहीं है।
  • एक अलग यूएसबी केबल आज़माएं, कभी-कभी वे विफल भी हो जाते हैं।

ऑटो रीसेट

  • यदि आपका अरुडिनो ऑटो-रीसेट सुविधा का समर्थन नहीं करता है, तो सुनिश्चित करें कि आपने फ्लैशिंग से कुछ सेकंड पहले बोर्ड को रीसेट कर दिया है। (Arduino Diecimila, Duemilanove और Nano ऑटो-रीसेट का समर्थन करते हैं, जैसे लिलीपैड, प्रो और प्रो मिनी 6-पिन प्रोग्रामिंग कनेक्टर के साथ)।
  • कृपया ध्यान दें: कुछ Arduino Diecimila गलती से गलत बूटलोडर के साथ फ्लैश हो गए थे। ऐसे मॉडलों को प्रोग्राम लोड करने से पहले रीसेट बटन को भौतिक रूप से दबाने की आवश्यकता होती है; इस पर और अधिक के लिए नीचे देखें।
  • कुछ कंप्यूटरों पर, आपको Arduino वातावरण में अपलोड बटन दबाने के बाद रीसेट बटन (बोर्ड पर) को दबाने की आवश्यकता होती है। नल के बीच अलग-अलग समय अंतराल के साथ प्रयोग - लगभग 2 सेकंड के अंतराल के साथ 0 से 10 सेकंड या उससे अधिक तक।
  • यदि आपको यह त्रुटि मिलती है: "डिवाइस ठीक से प्रतिसाद नहीं दे रहा है।" प्रोग्राम को फिर से फ्लैश करने का प्रयास करें (दूसरे शब्दों में, बोर्ड को रीसेट करें और फिर से अपलोड बटन दबाएं)।

लोडर

  • सुनिश्चित करें कि आपके Arduino में बूटलोडर है। ऐसा करने के लिए, बस अपने डिवाइस को पुनरारंभ करें। अंतर्निर्मित एलईडी (नियंत्रक के 13वें पिन से जुड़ा) फ्लैश होना चाहिए। यदि ऐसा नहीं होता है, तो सबसे अधिक संभावना है कि आपके बोर्ड में बूटलोडर नहीं है।

यदि प्रोग्राम अभी भी फ्लैश नहीं करते हैं, तो फोरम पर एक प्रश्न पूछें। कृपया अपने संदेश में निम्नलिखित जानकारी शामिल करें:

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

"बिल्ड फ़ोल्डर गायब हो गया या लिखा नहीं जा सका" त्रुटि होती है (मैक ओएस एक्स पर)

क्या आपने Arduino.app को डिस्क छवि (जैसे एप्लिकेशन फ़ोल्डर में) से निकाला है? यदि नहीं, तो आप उदाहरण डाउनलोड नहीं कर पाएंगे।

Mac पर जावा अपडेट के बाद Arduino प्रारंभ नहीं होगा

ऐप्पल का नवीनतम जावा अपडेट देशी पुस्तकालयों के 64-बिट संस्करणों का उपयोग करने का प्रयास करता है। हालाँकि, Arduino सॉफ़्टवेयर RXTX लाइब्रेरी के 32-बिट संस्करण का उपयोग करता है। Arduino प्रारंभ करते समय, निम्न त्रुटि होती है:

मुख्य विधि में ध्यान में न आया अपवाद: java.lang.UnsatisfiedLinkError: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: कोई उपयुक्त छवि नहीं मिली। क्या मिला: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: यूनिवर्सल रैपर में कोई मैचिंग आर्किटेक्चर नहीं

इस समस्या को हल करने के लिए, Finder विंडो में Arduino एप्लिकेशन (यानी Arduino 16.app) पर क्लिक करें और फ़ाइल मेनू से Get Info चुनें। पैनल पर, "32 बिट मोड में खोलें" बॉक्स को चेक करें। उसके बाद, Arduino वातावरण सामान्य रूप से शुरू होना चाहिए।

प्रोग्राम को संकलित करते समय, एक java.lang.StackOverflowError होती है

Arduino IDE नियमित अभिव्यक्तियों के साथ कोड में हेरफेर करके आपके स्केच को प्रीप्रोसेस करता है। कभी-कभी पाठ की कुछ पंक्तियाँ इस प्रक्रिया को विफल कर देती हैं। यदि आपको इस तरह की त्रुटि दिखाई देती है:

Java.lang.StackOverflowError पर java.util.Vector.addElement(अज्ञात स्रोत) java.util.Stack.push (अज्ञात स्रोत) पर com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java) पर

com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) पर com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) ) पर com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher._match. java) com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) पर com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher. java) पर com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher._match(Perl5Matcher) पर ।जावा)

तो ठीक यही स्थिति है। "डबल कोट्स", "सिंगल कोट्स", बैकस्लैश \, कमेंट आदि से संबंधित असामान्य वर्ण अनुक्रमों के लिए कोड की जांच करें। उदाहरण के लिए, लापता उद्धरण या, उदाहरण के लिए, ऐसा अनुक्रम "\"" (""" के बजाय) .

जब बोर्ड बाहरी स्रोत (Arduino Diecimila मॉडल या पहले) से संचालित होता है तो स्केच नहीं चलता है

चूंकि RX पिन डिस्कनेक्ट हो गया है, Arduino बूटलोडर डेटा के बजाय शोर प्राप्त कर सकता है, जिसका अर्थ है कि यह कभी भी समय समाप्त नहीं होगा और, तदनुसार, प्रोग्राम शुरू नहीं होगा। इस समस्या को हल करने के लिए, RX पिन को 10 kΩ रेसिस्टर (या RX और TX पिन को जोड़ने) के साथ जमीन से जोड़ने का प्रयास करें।

प्रोग्राम को फ्लैश करने का प्रयास करते समय Arduino विकास वातावरण (विंडोज़ पर) जम जाता है

Arduino और Logitech "LVPrcSrv.exe" प्रक्रिया के बीच विरोध के कारण यह समस्या हो सकती है। टास्क मैनेजर खोलें और इसे प्रक्रियाओं की सूची में खोजें। यदि यह वहां है, तो आपको प्रोग्राम को फ्लैश करने से पहले प्रक्रिया को पूरा करना चाहिए।

Arduino चालू नहीं होता है (ग्रीन पावर एलईडी प्रकाश नहीं करता है)

यदि आप Arduino Diecimila या USB (जैसे NG) के साथ पुराने का उपयोग कर रहे हैं, तो सुनिश्चित करें कि बोर्ड पर जम्पर (USB कनेक्टर के पास प्लास्टिक का छोटा हिस्सा) सही ढंग से सेट है। यदि बोर्ड बाहरी शक्ति स्रोत (उपयुक्त कनेक्टर से जुड़ा) से संचालित होता है, तो जम्पर को उन दो पिनों को बंद कर देना चाहिए जो पावर कनेक्टर के करीब हैं। यदि बोर्ड USB द्वारा संचालित है, तो जम्पर को उन दो पिनों को बंद कर देना चाहिए जो USB कनेक्टर के करीब हैं। जब बोर्ड USB से संचालित होता है तो यह चित्र जम्पर की स्थिति दिखाता है।

(पोस्ट और तस्वीर के लिए एमआरबीबीपी का धन्यवाद)

Arduino Diecimila पर प्रोग्राम स्टार्टअप में बहुत अधिक समय लगता है (6-8 सेकंड)

कुछ Arduino Diecimila बोर्डों पर, Arduino NG बूटलोडर गलती से फ्लैश हो गया था। यह ठीक काम करता है, केवल बोर्ड को रीसेट करने के बाद इसका लंबा समय समाप्त होता है (क्योंकि Arduino NG स्वचालित रीसेट को लागू नहीं करता है, जिसके लिए फर्मवेयर प्रक्रिया के मैन्युअल सिंक्रनाइज़ेशन की आवश्यकता होती है)। आप पिन 13 से जुड़े एलईडी द्वारा एनजी से बूटलोडर को पहचान सकते हैं: Arduino NG में, बोर्ड को रीसेट करने के बाद, यह 3 बार झपकाता है, और डायसीमिला में - 1 बार। यदि आपके डायसीमिला में एनजी से बूटलोडर स्थापित है, तो स्केच वैन को चमकाने से पहले, आपको बोर्ड पर स्थित रीसेट बटन को भौतिक रूप से दबाने की आवश्यकता है। डिवाइस में सही डायसीमिला बूटलोडर को फ्लैश करना भी संभव है, अधिक विवरण के लिए बूटलोडर पृष्ठ देखें।

विंडोज़ पर arduino.exe लॉन्च करते समय त्रुटि

यदि Windows के अंतर्गत arduino.exe चलाते समय कोई त्रुटि उत्पन्न होती है, जैसे कि:

Arduino को एक समस्या का सामना करना पड़ा है और उसे बंद करने की आवश्यकता है।

फिर run.bat फ़ाइल का उपयोग करके Arduino को प्रारंभ करने का प्रयास करें। कृपया धैर्य रखें Arduino परिवेश को प्रारंभ करने में कुछ समय लगता है।

Arduino Mac OS X के पुराने संस्करणों पर काम क्यों नहीं करता है?

अगर आपको इस तरह की त्रुटि मिलती है:

लिंक (dyld) त्रुटि: dyld: /Applications/arduino-0004/Arduino 04.app/Contents/MacOS/Arduino अपरिभाषित प्रतीक: /Applications/arduino-0004/librxtxSerial.jnilib अपरिभाषित संदर्भ _printf$LDBL128 में परिभाषित होने की उम्मीद है / usr/lib/libSystem.B.dylib

तो आपको शायद अपने सिस्टम को Mac OS X 10.3.9 या बाद के संस्करण में अपडेट करना होगा। पुराने सिस्टम लाइब्रेरी Arduino के साथ संगत नहीं हैं।

संदेश के लिए Gabe462 को धन्यवाद।

Arduino वातावरण प्रारंभ करते समय, एक असंतुष्ट लिंक त्रुटि उत्पन्न होती है (librxtxSerial.jnilib पुस्तकालय के बारे में एक संदेश के साथ)

यदि आपको Arduino प्रारंभ करते समय निम्न त्रुटि मिलती है:

मुख्य विधि में ध्यान में न आया अपवाद: java.lang.UnsatisfiedLinkError: मूल पुस्तकालय /उपयोगकर्ता/अनु/डेस्कटॉप/arduino-0002/librxtxSerial.jnilib पहले से ही किसी अन्य वर्ग लोडर में लोड

तो आपके पास शायद लाइब्रेरी का पुराना संस्करण है जो कनेक्शन के लिए ज़िम्मेदार है। /System/Library/Frameworks/JavaVM.framework/ फ़ोल्डर में या CLASSPATH और PATH पर्यावरण चर में सूचीबद्ध निर्देशिकाओं में com.jar या jcl.jar फ़ाइलों की तलाश करें। (अनुराग सहगल द्वारा खोजा गया बग)

"मुख्य वर्ग नहीं ढूंढ सका" त्रुटि का क्या अर्थ है?

यदि Arduino को प्रारंभ करते समय निम्न त्रुटि होती है:

जावा वर्चुअल मशीन लॉन्चर: मुख्य वर्ग नहीं मिल सका। प्रोग्राम निकल जाएगा।

जांचें कि क्या आपने Arduino .zip की सामग्री को सही ढंग से अनपैक किया है - विशेष रूप से, सुनिश्चित करें कि lib फ़ोल्डर सीधे Arduino निर्देशिका के अंदर स्थित है और इसमें pde.jar फ़ाइल है।

विंडोज़ पर साइबरविन संघर्षों से कैसे निपटें?

यदि आपकी मशीन पर साइबरविन पहले से स्थापित है, तो जब आप Arduino वातावरण में स्केच को संकलित करने का प्रयास करते हैं, तो निम्न त्रुटि हो सकती है:

6? (3512) C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe: *** घातक त्रुटि - C:\Dev\arduino-0006\tools\avr\bin\avr-gcc.exe : *** सिस्टम साझा स्मृति संस्करण बेमेल का पता चला - 0x75BE0084/0x75BE009C।

साइगविन डीएलएल के असंगत संस्करणों के उपयोग के कारण यह समस्या सबसे अधिक संभावना है।

विंडोज सर्च (स्टार्ट -> फाइंड) में, cygwin1.dll टाइप करें और सबसे हाल के संस्करण को छोड़कर सभी मिली फाइलों को हटा दें। नवीनतम संस्करण x:\cygwin\bin फ़ोल्डर में स्थित होना चाहिए, जहां "x" वह ड्राइव है जहां साइबरविन वितरण स्थापित किया गया था। यह भी अनुशंसा की जाती है कि आप अपने कंप्यूटर को पुनरारंभ करें।

यह भी सुनिश्चित करें कि जब Arduino वातावरण चल रहा हो तो साइबरविन प्रक्रियाओं में नहीं बैठा है। आप Arduino फ़ोल्डर से cygwin1.dll फ़ाइल को निकालने का प्रयास कर सकते हैं और इसे मौजूदा cygwin वितरण से cygwin1.dll फ़ाइल से बदल सकते हैं (जो संभवतः c:\cygwin\bin फ़ोल्डर में स्थित है)।

Arduino वातावरण और टूल मेनू लंबे समय तक खुला रहता है (Windows पर)

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

उपकरण टूल्स में प्रकट नहीं होता है | आनुक्रमिक द्वार

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

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

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

विंडोज़ सिस्टम पर, अरुडिनो द्वारा असाइन किया गया COM पोर्ट नंबर बहुत बड़ा हो सकता है। उपयोगकर्ता ज़ेवलैंड से:

"उन लोगों के लिए एक छोटा नोट जो एक उच्च COM पोर्ट नंबर के साथ एक Arduino प्रोग्राम फ्लैश नहीं कर सकते हैं: FTDI चिप से जुड़े पोर्ट नंबर को कम करने का प्रयास करें।"

"मेरे सिस्टम में ब्लूटूथ एडेप्टर से वर्चुअल COM पोर्ट का एक गुच्छा है, इसलिए Arduino को COM17 सौंपा गया था। IDE Arduino को नहीं ढूंढ सका, इसलिए मैंने कंट्रोल पैनल (XP के तहत) में अन्य वर्चुअल पोर्ट हटा दिए और पोर्ट बदल दिया। FTDI चिप के लिए COM2। बस सुनिश्चित करें कि arduino असाइन किए गए पोर्ट का उपयोग कर रहा है और आपको ठीक होना चाहिए।"

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

क्या gnu.io.PortInUseException कोड फ्लैश करते समय या "सीरियल मॉनिटर" (मैक सिस्टम पर) में फेंक दिया जाता है?

सीरियल के अंदर त्रुटि। () gnu.io.PortInUseException: gnu.io.CommPortIdentifier.open (CommPortIdentifier.java:354) पर प्रोसेसिंग.एप.सीरियल पर अज्ञात एप्लिकेशन। (सीरियल.जावा:127) प्रोसेसिंग.एप.सीरियल पर। (सीरियल.जावा:72)

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

यदि यह त्रुटि प्रसंस्करण वातावरण में, या Arduino संस्करण 0004 या इससे पहले के संस्करण में होती है, तो आपको macosx_setup.command स्क्रिप्ट चलाने और कंप्यूटर को पुनरारंभ करने की आवश्यकता है। Arduino 0004 में, यह स्क्रिप्ट बदल गई है, और सभी उपयोगकर्ताओं को इसे चलाना चाहिए (यहां तक ​​कि जिन्होंने उसी स्क्रिप्ट को चलाया जो Arduino संस्करण 0003 के साथ आई थी)। आपको /var/spool/uucp फ़ोल्डर की सामग्री को भी हटाना होगा।

USB FTDI ड्राइवरों के साथ समस्याएँ उत्पन्न होती हैं

Arduino को चालू या रीसेट करते समय स्केच प्रारंभ नहीं होता है

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

फर्मवेयर सफल प्रतीत होता है, लेकिन कुछ भी काम नहीं करता

आपने उपकरण > माइक्रोकंट्रोलर मेनू से किसी उपकरण का गलत चयन किया है। सुनिश्चित करें कि आपके द्वारा चुना गया माइक्रोकंट्रोलर आपके बोर्ड (ATmega8 या ATmega168) से मेल खाता है - नियंत्रक मॉडल सबसे बड़ी चिप पर सूचीबद्ध है।

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

और एक संभावित कारण- आपके डिवाइस के लिए स्केच का आकार बहुत बड़ा है। एक स्केच अपलोड करते समय, Arduino 0004 यह देखने के लिए जांच करता है कि प्रोग्राम को लोड करने के लिए ATmega8 की मेमोरी में पर्याप्त जगह है या नहीं। उसी समय, Arduino अपनी गणना इस तथ्य के आधार पर करता है कि नियंत्रक मेमोरी में लोडर 1 KB पर कब्जा कर लेता है। शायद आपके डिवाइस में 1 केबी के बजाय फ्लैश किए गए 2 केबी बूटलोडर का पुराना संस्करण है, फिर एटीमेगा 8 माइक्रोकंट्रोलर की 8 केबी फ्लैश मेमोरी में से 2 केबी पहले से ही कब्जा कर लिया जाएगा। तदनुसार, इस मामले में, स्केच का केवल एक हिस्सा नियंत्रक में लोड किया जाएगा, लेकिन प्रोग्राम इसे प्राथमिकता नहीं जानता है, जिससे डिवाइस के निरंतर रीसेट हो जाएंगे।

यदि आपके पास एक प्रोग्रामर (समानांतर पोर्ट या AVR-ISP के लिए) है, तो आप टूल्स का उपयोग करके माइक्रोकंट्रोलर में बूटलोडर संस्करण को अपडेट कर सकते हैं। बूटलोडर जलाएं। अन्यथा, आप कॉन्फ़िगरेशन फ़ाइल के अंदर स्थित upload.maximum_size चर में उपलब्ध प्रोग्राम मेमोरी को निर्दिष्ट करके Arduino पर्यावरण सेटिंग्स को आसानी से समायोजित कर सकते हैं (इस फ़ाइल को कहां खोजें इसके लिए निर्देश देखें)। वहां निर्दिष्ट मान 7168 को 6144 में बदलें, जिसके बाद स्वीकार्य स्केच आकार से अधिक होने पर विकास पर्यावरण आपको सही ढंग से चेतावनी देगा।

मैं फर्मवेयर का आकार कैसे कम कर सकता हूं?

Arduino में ATmega168 माइक्रोकंट्रोलर एक काफी सस्ता मॉडल है जिसमें केवल 16 KB प्रोग्राम मेमोरी है, जो वास्तव में बहुत अधिक नहीं है (जिसमें से 2 KB पहले से ही बूटलोडर द्वारा लिया गया है)।

यदि आप अपने प्रोग्राम में फ्लोटिंग पॉइंट कैलकुलेशन का उपयोग करते हैं, तो पूर्णांक गणनाओं का उपयोग करने के लिए अपने कोड को फिर से लिखने का प्रयास करें - इससे लगभग 2 KB मेमोरी की बचत होगी। कार्यक्रम की शुरुआत में, सभी अप्रयुक्त पुस्तकालयों के #include निर्देशों को हटा दें।

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

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

3, 5, 6, 9, 10, और 11 के अलावा किसी भी पिन पर एनालॉगवर्इट () फ़ंक्शन को कॉल करते समय कोई पीडब्लूएम सिग्नल (एनालॉग आउटपुट) उत्पन्न नहीं होता है

Arduino माइक्रोकंट्रोलर (ATmega168) में, PWM / AnalogWrite () के लिए हार्डवेयर समर्थन केवल कुछ पिनों पर लागू किया जाता है। इसलिए, किसी भी अन्य नियंत्रक पिन पर analogWrite () फ़ंक्शन को कॉल करने का परिणाम होगा उच्च स्तरसंकेत (5 वी - 128 से अधिक मूल्यों के लिए), या कम स्तर(0 वी - 128 से कम मूल्यों के लिए)। ATmega8 माइक्रोकंट्रोलर के साथ Arduino के पुराने संस्करणों में, PWM समर्थन केवल 9, 10 और 11 पिन पर लागू किया गया है।

अघोषित कार्यों या प्रकारों के बारे में त्रुटियाँ क्यों होती हैं?

Arduino विकास वातावरण उपयोगकर्ता द्वारा परिभाषित कार्यों के प्रोटोटाइप स्वचालित रूप से उत्पन्न करने का प्रयास करता है, ताकि उन्हें आपके प्रोग्राम में किसी भी क्रम में रखा जा सके। हालांकि, प्रोटोटाइप प्रक्रिया सही नहीं है और कभी-कभी भ्रमित करने वाली बग की ओर ले जाती है।

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

यदि आप एक ऐसा फ़ंक्शन घोषित करते हैं जो 16-बिट परिणाम देता है (उदाहरण के लिए, "अहस्ताक्षरित int"), तो पर्यावरण यह नहीं समझेगा कि यह एक फ़ंक्शन है और तदनुसार, इसका प्रोटोटाइप नहीं बनाएगा। इस मामले में, आपको इसे मैन्युअल रूप से लिखना होगा, या इस फ़ंक्शन की घोषणा को उपरोक्त प्रोग्राम कोड में रखना होगा - इससे पहले कि इसे प्रोग्राम में पहली बार बुलाया जाए।

प्रोग्राम को फ्लैश करने का प्रयास करते समय, एक त्रुटि होती है "अमान्य डिवाइस हस्ताक्षर"

अगली त्रुटि:

अवरुड: ओह! अमान्य डिवाइस हस्ताक्षर। कनेक्शन दोबारा जांचें और फिर से प्रयास करें, या इस चेक को ओवरराइड करने के लिए -F का उपयोग करें।

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

या बल्कि, इसके चीनी समकक्ष।

चीनी समकक्ष और मूल के बीच आवश्यक अंतर इसकी कीमत है। मूल Arduino UNO की आधिकारिक वेबसाइट पर वर्तमान में $ 24.95 की लागत है, जबकि डिलीवरी वाले चीनी समकक्ष की कीमत मुझे $ 3 (8 गुना सस्ता) से कम है। इसके एनालॉग के साथ मूल की अधिक विस्तृत तुलना अगले लेख में होगी, लेकिन अब, मुख्य लक्ष्यों से दूर नहीं जाने के लिए, आइए शुरू करें।



एक पीसी से कनेक्ट करना और ड्राइवर को स्थापित करना।

इस तथ्य के कारण कि Arduino के इस चीनी एनालॉग में, USB से कनेक्ट करने के लिए एक चिप का उपयोग किया जाता है CH340G, प्रदान किए गए ड्राइवर मूल Arduino और उनके एनालॉग्स के लिए उपयुक्त नहीं हैं, जिनमें एक माइक्रोक्रिकिट होता है ATMEGA16U2.


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

संग्रह डाउनलोड करें, फ़ाइल को अनपैक करें और चलाएं CH341SER.EXE. चुनना इंस्टॉल.


ड्राइवर इंस्टालेशन के दौरान एलईडी फ्लैश होगी। आरएक्स, स्थापना के बाद एक संबंधित संदेश दिखाई देगा, "क्लिक करें" ठीक है".

डिवाइस मैनेजर में एक नया डिवाइस दिखाई देगा" यूएसबी-सीरियल CH340"। मेरे मामले में, पोर्ट से जुड़ा डिवाइस COM7, हर किसी के पास कोई अन्य पोर्ट नंबर हो सकता है, मुख्य बात यह है कि इसे भविष्य के काम के लिए याद रखना है।

पहला स्केच।

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

डिफ़ॉल्ट प्रोग्राम रूसी इंटरफ़ेस से भरा हुआ है।

कोई भिन्न भाषा चुनने के लिए, मेनू आइटम का उपयोग करें " फ़ाइल" - "समायोजन".

सूची में" संपादक भाषा"आप कोई अन्य भाषा चुन सकते हैं, क्लिक करें" ठीक है" और विकास पर्यावरण को पुनरारंभ करें। रचना में बेलारूसी, यूक्रेनी और अन्य भाषाएं शामिल हैं।


आपको यह भी जांचना होगा कि Arduino प्लेटफॉर्म सही तरीके से चुना गया है, इसके लिए हम " औजार" – "भुगतान करना:"मैंने एंडुइनो यूएनओ को डिफ़ॉल्ट रूप से सही ढंग से चुना था, अगर आपके पास कुछ और है, तो सूची से अपना मंच चुनें।


आपको सही पोर्ट भी चुनना होगा जिससे हमारा प्लेटफॉर्म जुड़ा हुआ है। ऐसा करने के लिए, ड्राइवर की स्थापना के दौरान, मैंने इस पर ध्यान दिया (आपको डिवाइस मैनेजर में पोर्ट को देखने की आवश्यकता है)। मेरे मामले में यह COM7. अभी इसमें " औजार" - "पत्तन:"आपको सही पोर्ट निर्दिष्ट करने की आवश्यकता है।

अब आइए Arduino पर अपना पहला स्केच चलाने का प्रयास करें, जो एलईडी को झपकाएगा।

विकास पर्यावरण के इस संस्करण में पहले से ही सरल रेखाचित्रों का संग्रह है, जिनमें से हमारा स्केच है।
ऐसा करने के लिए, पर जाएँ " फ़ाइल" - "नमूने" - "01. मूल बातें" – "झपकी".

प्रोग्राम कोड एक नई विंडो में खुलेगा। अब हमारे कार्यक्रम के लिए एलईडी तैयार करते हैं। कई बोर्डों पर, मेरी तरह, वांछित एलईडी पहले से ही बाकी रेडियो घटकों के साथ मिलाप किया गया था ...


लेकिन ऐसे बोर्ड हो सकते हैं जिनमें यह एलईडी नहीं है, ऐसे में आपको इसे बोर्ड पर लगे पिन के माध्यम से जोड़ना होगा। आइए सबसे आम रंगीन एलईडी लें और इसे एक सीमित अवरोधक 220Ohm - 1Kom के माध्यम से बोर्ड पर पिन से कनेक्ट करें 13 तथा जीएनडी(एलईडी को Arduino से जोड़ने की प्रक्रिया में, USB केबल को डिस्कनेक्ट करने की अनुशंसा की जाती है)।


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

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

एंडुइनो को बंद करने के लिए, यूएसबी केबल से बोर्ड को डिस्कनेक्ट करने के लिए पर्याप्त है।

यह वह जगह है जहां आप मंच के साथ पहले परिचित को पूरा कर सकते हैं, यह सुनिश्चित कर लें कि सब कुछ ठीक से काम करता है।

सिद्धांत रूप में, यह सार्वभौमिक है और इस पर बड़ी संख्या में परियोजनाओं को लागू किया जा सकता है।

आएँ शुरू करें!

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

अब आप Arduino ide खोल सकते हैं और हमारे सामने तुरंत संपादक विंडो दिखाई देगी। 1) संपादक विंडो वह जगह है जहाँ हम कोड लिखेंगे।

2) स्थिति विंडो, त्रुटियां और हमारे कार्यक्रम के बारे में अन्य जानकारी और बोर्ड को फर्मवेयर अपलोड करने की प्रक्रिया यहां प्रदर्शित की जाएगी।

3) टूलबार, आदि।

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


यदि नहीं, तो इसे मैन्युअल रूप से चुनें।

अब वह हमारे बोर्ड को टेस्ट फर्मवेयर के साथ फ्लैश करने की कोशिश करेगा, इसके लिए हम फाइल -> उदाहरण -> मूल बातें -> ब्लिंक पर जाते हैं। टिप्पणियाँ और कार्यक्रम का पाठ तुरंत संपादक विंडो में दिखाई दिया। टिप्पणियाँ हमेशा */ या c// टैग के बीच स्थित होती हैं, और उन्हें बिना किसी समस्या के हटाया जा सकता है, वे किसी भी तरह से कार्यक्रम के संचालन को प्रभावित नहीं करेंगे और अब मुख्य चीज़ पर ध्यान केंद्रित करने में हस्तक्षेप नहीं करेंगे।

उसके बाद, निम्न कोड रहेगा:

सी++

शून्य सेटअप () (पिनमोड (13, आउटपुट);) शून्य लूप () (डिजिटलवाइट (13, हाई); देरी (1000); डिजिटलवाइट (13, कम); देरी (1000);)

व्यर्थ व्यवस्था()(

पिनमोड (13, आउटपुट);

शून्य लूप () (

यदि आपको कोई त्रुटि मिलती है: बोर्ड पर डाउनलोड करने में कोई समस्या है, तो निराश न हों, यह एक आसान समाधान है। ऐसा करने के लिए, टूल्स -> पोर्ट -> पर जाएं और वहां हम उस पोर्ट का चयन करते हैं जिसके आगे Arduino / Genuino Uno कोष्ठक में लिखा गया है और नियंत्रक को फिर से फ्लैश करने का प्रयास करें। अगर कुछ काम नहीं करता है, तो टिप्पणियों में लिखें, हम इसका पता लगा लेंगे।

आइए अब पता करें कि हमने आर्डिनो में क्या डाला है।

व्यर्थ व्यवस्था() ( )

विकास के माहौल ने हमारे लिए कोड के इस हिस्से को अपने आप उत्पन्न किया, यहां, घुंघराले ब्रेसिज़ के बीच, इनपुट प्रारंभ किए जाते हैं, बोर्ड का आउटपुट, हमारे मामले में, यह पिनमोड (13, आउटपुट) कहता है; इसका मतलब है कि हम उस बोर्ड का पिन 13 असाइन करते हैं जिससे एलईडी जुड़ा हुआ है (जिसके बारे में हमने पिछले लेख में बात की थी) आउटपुट के लिए।

कोड का यह हिस्सा भी स्वचालित रूप से उत्पन्न होता है, घुंघराले ब्रेसिज़ के बीच कोड लिखा जाता है जिसे हमारा प्रोग्राम सीधे अनिश्चित काल तक निष्पादित करेगा। अर्थात् यह एक अंतहीन चक्र है। यह कहता है digitalWrite(13, High); , जिसका रूसी में अर्थ है 13 को पिन करने के लिए 5 वोल्ट लगाना, यह क्रिया एलईडी को रोशन करती है।

देरी (1000); यह देरी, अगले निर्देश के निष्पादन को 1000 मील सेकंड (1 सेकंड) के लिए रोक देती है।

डिजिटलवाइट (13, कम); 13 पिन को जमीन पर खींचता है, रूसी में 5 वोल्ट निकालता है, जिससे एलईडी का विलुप्त होना होता है।

और चूंकि शून्य लूप () एक अनंत लूप है, Arduino पर प्रकाश अंतहीन रूप से झपकाएगा!

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

ऐसा करने के लिए, हमें arduino के लिए फर्मवेयर लिखना होगा और परीक्षण के लिए पोर्ट मॉनिटर का उपयोग करना होगा, और फिर हम C # में एक प्रोग्राम लिखेंगे लेकिन यह अगले लेख में होगा।