मैं Arduino को समझता हूं: अब क्या?


18

ठीक है, मैंने Arduino के साथ पर्याप्त रूप से खेला है कि मैं इसके साथ बहुत सहज महसूस करता हूं। अब जो कुछ भी किया जा रहा है, वह इलेक्ट्रॉनिक्स की तुलना में अधिक सीख रहा है क्योंकि यह अरुडिनो है।

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


क्या आपके पास कोई विशेष लक्ष्य या परियोजना है?

मैं सहमत हूँ। मेरे लिए यह सब विशिष्ट चीजों को पूरा करने के बारे में है। Arduino सिर्फ एक उपकरण है जैसे कुछ और।
डिर्क

अभी मैं जो काम कर रहा हूं, वह एक बहुस्तरीय एलईडी सरणी है। Arduino में यह मुश्किल नहीं है, लेकिन मैं प्रशिक्षण पहियों से छुटकारा पाना चाहता हूं। मेरा मतलब है, अंततः, Arduino बोर्ड पर एक ATmega168 चिप है। अगर मैं समझ सकता हूं कि इसके साथ सीधे कैसे काम करना है, तो मुझे लगता है कि मैं जो हासिल करने की कोशिश कर रहा हूं उसे संतुष्ट करूंगा।
क्रिस बी

आप वास्तव में Arduino के साथ चिप के लिए बहुत प्रत्यक्ष हैं। यह नहीं है कि कई ड्राइवरों या कुछ भी पिन से जुड़ा हुआ है। हेडर सीधे वहां जाते हैं। शायद एक ब्रेडबोर्डुइनो?
गुस्साए

@angryee - मुझे लगता है कि क्रिस का मतलब है, सीधे Armeino IDE + लाइब्रेरी के बिना, ATmega चिप को प्रोग्राम करना, जिसे प्रशिक्षण पहियों के रूप में देखा जा सकता है।
जे। पॉल्फर

जवाबों:



12

मैं जॉबी से सहमत हूं - अरुडिनो महान है लेकिन मैं हमेशा उस ढांचे से परेशान महसूस करता हूं जो वे मुझे घेरे हुए हैं। मैं आपके Arduino पर सीधे C का उपयोग करने के लिए आगे बढ़ूंगा और लाइब्रेरी की बहुत सी कार्यक्षमता का निर्माण करूँगा जो उन्होंने स्क्रैच से प्रदान की थी। मैं आम तौर पर चौड़ाई से पहले गहराई पसंद करता हूं - अधिक प्रदान किए गए ढांचे का उपयोग करके एक और माइक्रोकंट्रोलर परिवार पर शुरू न करें। इनमें से कुछ कार्यों को स्वयं कैसे कार्यान्वित करें, इसके बारे में थोड़ा और जानें।

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

AVR स्टूडियो या कोड :: ब्लॉक की तरह एक अलग आईडीई का प्रयास करें। जीसीसी टूलकिन जानें। अधिक उन्नत कोडिंग तकनीक - इकाई परीक्षण, कवरेज, प्रोफाइलिंग, लिंट / स्प्लिंट जाँच की कोशिश करें। Arduino पर एक RTOS रखो।

एक संयुक्त प्रोग्रामर / नियंत्रक कमजोरी का संकेत नहीं है - यह सिर्फ एक डिज़ाइन विकल्प है। एकमात्र 'कमजोरी' जो इससे आ सकती थी, वह इन-सर्किट डिबगिंग की कमी है। एक AVR ड्रैगन खरीदें और आपको $ 50 का चूना लगेगा।


9

मुझे लगता है कि आगे क्या सीखना है यह इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं जो कि Arduino नहीं कर सकता। यही है, मैं समान चीजों को करने के लिए एक समान चिप की प्रोग्रामिंग में बहुत अधिक बिंदु नहीं देख सकता हूं, लेकिन अधिक कठिन साधनों के साथ।

यहाँ कुछ Arduino कमजोरियाँ हैं:

  • थ्रेडिंग, मतलब कोड के दो खंडों को इंटरलेय किया ताकि ऐसा लगे कि वे एक ही समय में निष्पादित हो रहे हैं
  • मध्यम या उच्च बैंडविड्थ इंटरनेट सामान, स्ट्रीमिंग ऑडियो की तरह
  • गंभीर संगणना, या ऐसे कार्य जिनकी तीव्र प्रतिक्रिया के लिए तीव्र संगणना की आवश्यकता होती है
  • कुछ भी जो कि एक फाइलसिस्टम के आस-पास होने से आसान हो जाता है, जैसे datalog या छवियों से निपटना

मैं जाने के लिए दो दिशाओं की कल्पना कर सकता हूं:

  1. बीगलबोर्ड या गमस्टिक्स जैसे छोटे ऑपरेटिंग सिस्टम वाले अधिक शक्तिशाली एम्बेडेड बोर्ड
  2. हार्डवेयर के उपयोग से छोटे Atmega चिप्स से अधिक प्रदर्शन निचोड़ना।

मैं अधिक विवरण जोड़ सकता हूं यदि आप टिप्पणी करते हैं कि कौन सी दिशा अधिक आकर्षक है। (दूसरा वाला निश्चित रूप से सस्ता है।)


यह हास्यास्पद है ... समान काम करने के लिए एक समान चिप प्रोग्रामिंग, लेकिन अधिक कठिन साधनों के साथ वास्तव में मेरे मन में है :)। थोड़ा पृष्ठभूमि - मैं कई वर्षों के अनुभव के साथ एक सॉफ्टवेयर वास्तुकार हूं। सॉफ्टवेयर, अभिकलन, फ़ाइल प्रणाली ... यह सब मेरे लिए आसान सामग्री है। मुझे वास्तव में इलेक्ट्रॉनिक्स के खिलाफ अपना सिर पीटने की आवश्यकता है। इस कारण से कि मैं Arduino से आगे बढ़ना चाह रहा हूं, बस यह है कि मैं एक ऐसे उद्देश्य उपकरणों का उत्पादन करने में सक्षम होना चाहता हूं जिनमें Arduino बोर्ड का भौतिक (और मूल्य) ओवरहेड न हो। मुझे लगता है कि आपने जो कहा है, # 2 वह है जिसकी मुझे तलाश है।
क्रिस बी।

वाह ... वह टिप्पणी वास्तव में अहंकारी लग रही थी। मैं इसे इस तरह से मतलब नहीं था ... किसी भी तरह, मेरा मतलब है कि मैं हार्डवेयर प्रशिक्षण पहियों से छुटकारा पाना चाहता हूं जो Arduino मुझे देता है। विशेष रूप से, मैं LOLShield के समान एक एलईडी सरणी पर काम कर रहा हूं, हालांकि मुझे लगता है कि मैं इसके बजाय इसे मल्टीप्लेक्स करने जा रहा हूं। मैं इसे Arduino के साथ कर सकता हूं, लेकिन इसके बिना, मुझे कुछ दिशा की आवश्यकता है। TIA।
क्रिस बी

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

7

I2C, SPI, 1wire जानें और ऐसे इंटरफेस के साथ सेंसर को इंटरफ़ेस करने का प्रयास करें। ऐसे सेंसर के बहुत सारे डेटाशीट पढ़ें और उनमें सब कुछ समझने की कोशिश करें। अटक जाने पर प्रश्न पूछें। MODBUS (RTU / ASCII / TCP) या इसी तरह के प्रोटोकॉल को जानें जो आपके डिवाइस में एम्बेड करने के बाद आपके डिवाइस को दुनिया के लिए खोल सकता है। सामान्य इलेक्ट्रॉनिक्स सीखें और रिले, ट्राईकैप, जो कि ऊपर और नीचे खींच रहा है, क्या सोर्सिंग और डूब रहा है, योजनाबद्ध कैसे आकर्षित करें और बुनियादी ड्राइवरों को अपने एमसीयू से कनेक्ट करने का प्रयास करें।


6

एक शुरुआत के रूप में, आप Arduino से प्लेटफॉर्म के रूप में AVR को प्लेटफॉर्म के रूप में स्थानांतरित करना चाह सकते हैं। यानी, Arduino के बजाय अपनी परियोजनाओं के लिए एक कुंवारी AVR माइक्रोकंट्रोलर को प्रोग्राम / उपयोग करना सीखें। इस तरह, आपको प्रत्येक प्रोजेक्ट के लिए या दोस्तों के साथ प्रोजेक्ट करने के लिए एक और Arduino बोर्ड नहीं खरीदना पड़ेगा। यह एक काफी सरल कदम है (एक Arduino सिर्फ एक पारंपरिक Atmel AVR माइक्रोकंट्रोलर है, लेकिन एक विशेष बोर्ड और बूटलोडर के साथ), लेकिन दोस्तों को प्रोजेक्ट बेचने / देने के लिए यह एक बड़ा है। टूलचेन भी समान है: आप अपने प्रोग्राम को स्थापित करने के लिए एक प्रोग्रामिंग उपयोगिता के साथ संयोजन के रूप में avr-gcc या avr-g ++ का उपयोग करते हैं।


यदि आप एक परियोजना को दूर करना चाहते हैं तो बूटलोडर को एक चिप पर लोड करना और अपने स्वयं के बोर्ड को मिलाप करना बहुत सरल है। या $ 12.50 ( goo.gl/0yqr ) के लिए RBBB किट का ऑर्डर करें , प्रत्येक Arduino प्रोजेक्ट के लिए $ 30 + बोर्ड खरीदने की आवश्यकता नहीं है।
दिनवक्र
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.