Arduino नैनो पिन विवरण। ब्लॉग › Arduino सीखने का अनुभव। एक और पोस्ट। हार्डवेयर। पावर को Arduino नैनो से कनेक्ट करना

अच्छा दिन!

इस लेख में मैं Arduino नैनो परिवार के बोर्डों के हार्डवेयर आधार पर थोड़ा ध्यान देना चाहता हूं। मैंने फोटो के तहत हार्डवेयर के प्रदर्शन में बदलाव का वर्णन किया है।

भोजन

Arduino नैनो को एक मिनी (माइक्रो) -USB केबल के माध्यम से संचालित किया जा सकता है, बाहरी 6-20V अनियमित बिजली की आपूर्ति से (पिन 30 के माध्यम से, इस पिन को 12V से अधिक की आपूर्ति नहीं करने की अत्यधिक अनुशंसा की जाती है) या एक स्थिर 5V वोल्टेज के साथ (पिन 27 के माध्यम से)। ) डिवाइस स्वचालित रूप से उच्चतम वोल्टेज वाले पावर स्रोत का चयन करता है।

शक्ति स्रोत स्वचालित रूप से उच्चतम वोल्टेज स्रोत के लिए चुना जाता है। इसके अलावा, कुछ संपर्कों में विशेष कार्य होते हैं। इन पिनों को कम मूल्य, बढ़ते या गिरने वाले किनारे, या मूल्य में परिवर्तन पर एक बाधा को ट्रिगर करने के लिए कॉन्फ़िगर किया जा सकता है। एनालॉग पिन 6 और 7 को डिजिटल पिन के रूप में उपयोग नहीं किया जा सकता है।

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

वोल्टेज केवल FTDI FT232RL चिप पर लागू होता है यदि आर्डिनो आपूर्तियूएसबी के माध्यम से नैनो। इसलिए, जब डिवाइस अन्य बाहरी स्रोतों (USB नहीं) द्वारा संचालित होता है, तो 3.3 V आउटपुट (FTDI चिप द्वारा निर्मित) निष्क्रिय हो जाएगा, जिसके परिणामस्वरूप RX और TX LED झिलमिला सकते हैं जब उच्च स्तरपिन 0 और 1 पर संकेत।

इनपुट और आउटपुट

हालांकि इसे खराब डेटा को अनदेखा करने के लिए प्रोग्राम किया गया है, यह कनेक्शन के खुलने के बाद बोर्ड को भेजे गए डेटा के पहले कुछ बाइट्स को इंटरसेप्ट करेगा। यदि बोर्ड पर चल रहे स्केच को पहली बार चलाने पर एक बार का कॉन्फ़िगरेशन या अन्य डेटा प्राप्त होता है, तो सुनिश्चित करें कि सॉफ़्टवेयरइसके साथ जुड़ा हुआ है कनेक्शन खोलने के बाद और उस डेटा को भेजने से पहले एक सेकंड प्रतीक्षा करता है। पर अरुडिनो नैनोकई लाभ हैं। जानना चाहते हैं कि उसके पास और क्या है? यह जानना महत्वपूर्ण है कि ये पिन 5V के साथ काम करते हैं और उनमें से प्रत्येक में केवल 40mA अधिकतम करंट की आपूर्ति या प्राप्त कर सकते हैं।

20 में से प्रत्येक (0-19, आरेख में बैंगनी समांतर चतुर्भुज में, ग्रे समांतर चतुर्भुज में एक ही आरेख में माइक्रोकंट्रोलर पिन) Arduino नैनो डिजिटल पिन इनपुट या आउटपुट के रूप में काम कर सकते हैं। कार्यरत वोल्टेजआउटपुट - 5 वी। अधिकतम करंट, जो 40 mA के एक आउटपुट की आपूर्ति कर सकता है, लेकिन 20 mA से अधिक के आउटपुट को लोड करने की अनुशंसा नहीं की जाती है। इस मामले में, सभी आउटपुट पर कुल भार 200 एमए से अधिक नहीं होना चाहिए। सभी पिनों को 20-50 kΩ के आंतरिक पुल-अप प्रतिरोधों (डिफ़ॉल्ट रूप से अक्षम) के साथ जोड़ा जाता है। मुख्य के अलावा, कुछ Arduino पिननैनो अतिरिक्त कार्य कर सकती है:

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

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

आनुक्रमिक अंतरापृष्ठ: पिन 0 (RX) और 1 (TX)। एक सीरियल इंटरफ़ेस पर (RX) प्राप्त करने और (TX) डेटा संचारित करने के लिए उपयोग किया जाता है। ये पिन FTDI के USB-to-UART कनवर्टर चिप पर संबंधित पिन से जुड़े होते हैं।

बाहरी व्यवधान: पिन 2 और 3। इन पिनों को इंटरप्ट स्रोतों के रूप में कॉन्फ़िगर किया जा सकता है विभिन्न शर्तें: कम, उठना, गिरना या सिग्नल बदलना। अधिक जानकारी के लिए अटैचमेंट () फ़ंक्शन देखें।

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

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

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

एसपीआई इंटरफ़ेस: पिन 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)। ये पिन SPI इंटरफ़ेस के माध्यम से संचार की अनुमति देते हैं। डिवाइस में SPI के लिए हार्डवेयर सपोर्ट है।

प्रकाश उत्सर्जक डायोड: पिन 13. डिजिटल पिन से जुड़ी बिल्ट-इन एलईडी 13. जब हाई भेजा जाता है, तो एलईडी चालू हो जाती है, जब LOW भेजा जाता है, तो यह बंद हो जाता है।

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

निम्नलिखित आरेख दिखाता है कि एक रोकनेवाला को एक सर्किट से कैसे जोड़ा जाए। हालाँकि, यह स्वचालित रूप से प्रोग्राम नहीं किए जाने का नुकसान है। प्रतिरोधक का मान प्रयोगात्मक रूप से चुना जाना चाहिए क्योंकि कुछ मामलों में 120 ओम अवरोधक की आवश्यकता होती है और अन्य में 68 ओम अवरोधक की आवश्यकता होती है।

I2C: पिन 4 (एसडीए) और 5 (एससीएल)। वायर लाइब्रेरी (वायरिंग वेबसाइट पर प्रलेखन) का उपयोग करके, ये पिन I2C इंटरफ़ेस (TWI) पर संचार कर सकते हैं।
बोर्ड में सूचीबद्ध लोगों के अलावा, कई और निष्कर्ष हैं:

आरिफ. एनालॉग इनपुट के लिए संदर्भ वोल्टेज। AnalogReference() फ़ंक्शन के साथ उपयोग किया जा सकता है।

रीसेट. गठन कम स्तर(LOW) इस पिन पर माइक्रोकंट्रोलर रीसेट हो जाएगा। आमतौर पर, इस पिन का उपयोग विस्तार बोर्ड पर रीसेट बटन को संचालित करने के लिए किया जाता है।

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

एनालॉग इनपुट A0-A7: 10-बिट एनालॉग-टू-डिजिटल कनवर्टर (एडीसी) इनपुट। एक एनालॉग इनपुट पर लागू वोल्टेज, आमतौर पर 0 से 5 वोल्ट, को 0 से 1023 के मान में बदल दिया जाएगा, जो कि 0.0049 वोल्ट के रिज़ॉल्यूशन के साथ 1024 कदम है। वोल्टेज संदर्भ स्रोत को बदला जा सकता है।

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

आज के लिए मेरे पास सब कुछ है। हम के बारे में एक संक्षिप्त लेख की योजना बना रहे हैं आंतरिक व्यवस्थाएमके और इसके परिधीय।

सबके लिए शांति।
अलविदा!

पी.एस. मेगन के सब्सक्राइबर्स की संख्या साढ़े तीन हजार पहुंच गई है.

सामान्य जानकारी

ATmega328 (Arduino Nano 3.0) या ATmega168 (Arduino Nano 2.x) माइक्रोकंट्रोलर पर बनाया गया नैनो प्लेटफॉर्म आकार में छोटा है और इसे प्रयोगशाला के काम में इस्तेमाल किया जा सकता है। इसमें Arduino Duemilanove के समान कार्यक्षमता है, लेकिन असेंबली में भिन्न है। अंतर पावर कनेक्टर की अनुपस्थिति में है एकदिश धाराऔर एक मिनी-बी यूएसबी केबल के माध्यम से काम करते हैं। नैनो का विकास और विपणन ग्रेविटेक द्वारा किया जाता है।

योजनाबद्ध आरेख और प्रारंभिक डेटा

संबंध

कंप्यूटर, अन्य Arduino डिवाइस, या माइक्रोकंट्रोलर के साथ संचार करने के लिए Arduino नैनो प्लेटफॉर्म पर कई डिवाइस स्थापित हैं। ATmega168 और ATmega328 पिन 0 (RX) और 1 (TX) के माध्यम से एक TTL (5V) UART सीरियल इंटरफ़ेस का समर्थन करते हैं। बोर्ड पर स्थापित एक FTDI FT232RL चिप इस इंटरफ़ेस को USB के माध्यम से रूट करता है, और FTDI ड्राइवर(Arduino प्रोग्राम में शामिल) प्रदान करें आभासी कॉमकंप्यूटर पर प्रोग्राम के लिए पोर्ट। Arduino सीरियल मॉनिटर आपको प्लेटफ़ॉर्म से कनेक्ट होने पर टेक्स्ट डेटा भेजने और प्राप्त करने की अनुमति देता है। जब FTDI चिप के माध्यम से डेटा प्रेषित किया जा रहा है, तो प्लेटफॉर्म पर RX और TX एलईडी झपकाएंगे या यूएसबी कनेक्शन(लेकिन पिन 0 और 1 के माध्यम से धारावाहिक संचार का उपयोग करते समय नहीं)।

SoftwareSerial लाइब्रेरी के साथ नैनो के किसी भी डिजिटल पिन के माध्यम से सीरियल डेटा ट्रांसफर बनाना संभव है।

ATmega168 और ATmega328 I2C (TWI) और SPI इंटरफेस दोनों का समर्थन करते हैं। Arduino में I2C बस के आसान उपयोग के लिए वायर लाइब्रेरी शामिल है। अधिक जानकारी प्रलेखन में है। SPI इंटरफ़ेस का उपयोग करने के लिए, कृपया ATmega168 और ATmega328 माइक्रोकंट्रोलर डेटा शीट देखें।

प्रोग्रामिंग

प्लेटफ़ॉर्म को Arduino सॉफ़्टवेयर का उपयोग करके प्रोग्राम किया गया है। टूल्स> बोर्ड मेनू से "Arduino Diecimila, Duemilanove या Nano w/ ATmega168" या "Arduino Duemilanove या Nano w/ATmega328" (इंस्टॉल किए गए माइक्रोकंट्रोलर के अनुसार) का चयन करें। विस्तृत जानकारी पुस्तिका और निर्देशों में पाई जा सकती है।

ATmega168 और ATmega328 माइक्रोकंट्रोलर एक प्रीलोडेड बूटलोडर के साथ आते हैं जो बाहरी प्रोग्रामर की आवश्यकता के बिना नए प्रोग्राम लिखना आसान बनाता है। संचार मूल STK500 प्रोटोकॉल द्वारा किया जाता है।

यह संभव है कि ICSP ब्लॉक (इन-सर्किट प्रोग्रामिंग) के आउटपुट के माध्यम से बूटलोडर का उपयोग न करें और माइक्रोकंट्रोलर को प्रोग्राम करें। विस्तृत जानकारी इस मैनुअल में पाई जा सकती है।

स्वचालित (सॉफ्टवेयर) रिबूट

नैनो को इस तरह से डिजाइन किया गया है कि नया कोड लिखने से पहले प्रोग्राम खुद ही रीबूट हो जाता है, न कि प्लेटफॉर्म पर एक बटन दबाने से। FT232RL डेटा प्रवाह नियंत्रण (DTR) लाइनों में से एक ATmega168 या ATmega328 माइक्रोकंट्रोलर के रीसेट पिन से 100nF कैपेसिटर के माध्यम से जुड़ा है। इस लाइन का सक्रियण, अर्थात्। एक निम्न स्तर का संकेत, माइक्रोकंट्रोलर को रीसेट करता है। Arduino प्रोग्राम, इस फ़ंक्शन का उपयोग करके, प्रोग्रामिंग वातावरण में ही अपलोड बटन के एक क्लिक के साथ कोड अपलोड करता है। DTR लाइन पर निम्न-स्तरीय सिग्नलिंग को कोड लिखने की शुरुआत के साथ समन्वित किया जाता है, जो बूटलोडर टाइमआउट को कम करता है।

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