एटीट्यूनी क्या नहीं कर सकता है कि Arduino कर सकते हैं?


12

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


1
मैंने जो पढ़ा है (जो कि बहुत अधिक नहीं है), सभी एटिट्यूड में Arduino बूटलोडर के लिए पर्याप्त फ्लैश नहीं है। आप शायद Arduino के माध्यम से संकलन कर सकते हैं और AVRdude के माध्यम से अलग से अपलोड कर सकते हैं।
इग्नासियो वाज़केज़-अब्राम्स

1
यह यहां बूटलोडर के बारे में नहीं है (आप एक बाहरी प्रोग्रामर का उपयोग कर सकते हैं), लेकिन कुछ पुस्तकालय सिर्फ काम करने वाले कोड के लिए संकलन नहीं करते हैं (मुझे समझ में नहीं आया कि सभी त्रुटियां भी फेंक देंगे)। मेरी जानकारी के अनुसार, इस बात की कोई सूची नहीं है कि कौन से फ़ंक्शंस काम करते हैं और जो नहीं करते हैं, लेकिन यह समझने में कोई बुराई नहीं है कि हार्डवेयर को सीधे कैसे भी प्रोग्राम किया जाए क्योंकि अधिकांश Arduino फ़ंक्शंस काफी ओवरहेड के साथ आते हैं। आप उचित रजिस्टर के लिए सीधे एक ATtiny पर, जैसे कार्यों pinMode();और सीधे नहीं चाहते हैं। इसी तरह के कई कार्य मिल सकते हैं। digitalWrite();DDRxPORTx
जिप्पी 27'13

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

@ वास्तव में Arduino रनटाइम लाइब्रेरी के बहुत सारे पोर्ट हैं, और यहां तक ​​कि सॉफ्टवेयर यूएसबी - लेकिन निश्चित रूप से ये ओवरहेड हैं।
क्रिस स्ट्रैटन

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

जवाबों:


10

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

से http://forum.arduino.cc/index.php/topic,5582.0.html :

उदाहरण के लिए एक ATTINY84 में 1 इंटरप्ट, कोई हार्डवेयर UART (सीरियल या i2c) और एक छोटा-सा GPIO पिन, कम प्रोग्राम स्पेस और बहुत कम रैम है लेकिन एक 14 पिन पैकेज में आता है।

एक ATMEGA328 में 2 इंटरप्ट, 1 हार्डवेयर UART, अधिक रैम अधिक प्रोग्राम स्पेस और अधिक GPIO है, जो बहुत अच्छा है, अगर आपको वास्तव में इसकी आवश्यकता है।

इसके अतिरिक्त, अधिकांश ATTiny का कोई हार्डवेयर गुणन नहीं है, इसलिए एक कंपाइलर को सॉफ़्टवेयर में गैर-बेस -2 गुणन करना होगा।

अंत में, Arduinos spi प्रोग्रामिंग के बजाय एक बूटलोडर पर भरोसा करते हैं, इसलिए आपको Arduino बूटलोडर के साथ काम करने के लिए कम से कम 4 ~ 8kb फ़्लैश के साथ ATTiny की आवश्यकता होती है।

ATTiny44 / 45/84/45/2313 माइक्रो- Arduinos के रूप में लोकप्रिय हैं। उनके पास एक चौथा या आठवां हिस्सा है RAM और एक ATMega328 का फ्लैश जो कि आधिकारिक Arduino Uno उपयोग करता है।

ATTiny के कई हैं, इसलिए उन सभी के बारे में एक भी कथन नहीं कहा जा सकता है।

यहां भी देखें: http://hlt.media.mit.edu/?p=1695


5

सबसे अटारी में एक हार्डवेयर USART मॉड्यूल नहीं है, इसलिए आप सीरियल के माध्यम से उनके साथ संवाद करने में सक्षम नहीं होंगे। समर्पित I2C और SPI हार्डवेयर बाह्य उपकरणों के बजाय कुछ सहभागियों के लिए एक सरलीकृत USI परिधीय है, जिसके लिए आपको SPI या I2C संचार को लागू करने के लिए थोड़ा गोंद कोड लिखना होगा। कुछ प्रशिक्षुओं के पास ADC नहीं है।

सामान्य तौर पर, आपको अपनी परियोजना के लिए पोशाक का चयन करते समय अधिक सावधान रहना होगा, क्योंकि उन लोगों के पास Arduino के atmega328 में उपलब्ध सुविधाओं का पूरा सेट नहीं है। उदाहरण के लिए attiny2313 में UART नहीं है, लेकिन ADC नहीं है, Attiny44 में ADC नहीं है, लेकिन UART नहीं है, आदि।

बस शुरुआत में Atmel माइक्रोकंट्रोलर चयन तालिका और एक डेटशीट की जाँच करें।


1
एक हार्डवेयर UART का अभाव! = सीरियल के माध्यम से संवाद करने में सक्षम नहीं होगा।
क्रिस स्ट्रैटन

सच @ChrisStratton, आप बिट यह अनुकरण के यूएसआई के माध्यम से टकरा कर सकते हैं
miceuz

1

एक तुच्छ यदि प्रासंगिक बिंदु, पहले से पोस्ट किए गए उत्कृष्ट उत्तरों से अधिक और ऊपर:

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

हालांकि स्पष्ट रूप से ATTiny की बिजली की आवश्यकता को आपके डिज़ाइन में संबोधित किया गया होगा, टर्मिनल सॉफ़्टवेयर का उपयोग करके रन-टाइम पर कोड डीबग करना काफी आसान हो सकता है।


1
कुछ अटारी बोर्ड सॉफ्टवेयर यूएसबी के साथ उस समस्या को हल करते हैं।
क्रिस स्ट्रैटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.