विज्ञापन

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

यह शुरुआती Arduino प्रोग्रामिंग में एक महत्वपूर्ण सबक भी है, हालांकि यदि आप वास्तव में इस पर एक आभूषण के रूप में उपयोग करने की योजना नहीं बनाते हैं, तो मैं इसे दृढ़ता से सुझाव देता हूं कि इसे वैसे भी बाहर करें।

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

अगर आप हेवन? टी पहले से ही, अब श्रृंखला में अन्य लेखों के साथ पालन करने का एक अच्छा समय होगा:

  • Arduino क्या है और आप इसके साथ क्या कर सकते हैं
    instagram viewer
    Arduino क्या है और आप इसके साथ क्या कर सकते हैं?Arduino एक उल्लेखनीय छोटा इलेक्ट्रॉनिक्स उपकरण है, लेकिन यदि आपने पहले कभी एक का उपयोग नहीं किया है, तो वास्तव में वे क्या हैं, और आप एक के साथ क्या कर सकते हैं? अधिक पढ़ें ?
  • एक Arduino स्टार्टर किट क्या है और इसमें क्या होता है? एक Arduino स्टार्टर किट में क्या शामिल है? [MakeUseOf बताते हैं]मैंने पहले भी MakeUseOf पर यहां Arduino ओपन-सोर्स हार्डवेयर पेश किया है, लेकिन आपको इससे बाहर कुछ बनाने और वास्तव में शुरू करने के लिए वास्तविक Arduino से अधिक की आवश्यकता होगी। Arduino "स्टार्टर किट" हैं ... अधिक पढ़ें
  • अपने स्टार्टर किट के साथ खरीदने के लिए अधिक शांत घटक अपने Arduino परियोजनाओं के लिए 8 और अधिक शांत घटकतो, आप एक Arduino स्टार्टर किट प्राप्त करने के बारे में सोच रहे हैं, लेकिन सोच रहे हैं कि क्या कुछ बुनियादी एल ई डी और प्रतिरोधक आपको सप्ताहांत के लिए व्यस्त रखने के लिए पर्याप्त होने जा रहे हैं? शायद ऩही। यहाँ एक और 8 हैं ... अधिक पढ़ें
  • अपने Arduino स्टार्टर किट के साथ शुरू हो रही है? ड्राइवर और बोर्ड और पोर्ट की स्थापना अपने Arduino स्टार्टर किट के साथ शुरू करना - ड्राइवरों को स्थापित करना और बोर्ड और पोर्ट को स्थापित करनातो, आपने अपने आप को एक Arduino स्टार्टर किट खरीदा है, और संभवतः कुछ अन्य यादृच्छिक शांत घटक - अब क्या? कैसे आप वास्तव में इस Arduino बात प्रोग्रामिंग के साथ शुरू करते हैं? आप इसे कैसे सेट करते हैं ... अधिक पढ़ें
  • फ्रिट्ज़िंग, सर्किट आरेखों के लिए एक मुफ़्त उपकरण फ्रिट्ज़िंग - इलेक्ट्रॉनिक्स प्रोजेक्ट्स [क्रास प्लेटफ़ॉर्म] से स्केचिंग के लिए अंतिम उपकरणअल्कोपॉप की तरह लगने के बावजूद, फ्रिट्ज़िंग वास्तव में मुफ्त सॉफ्टवेयर का एक अविश्वसनीय बिट है जिसे आप बनाने के लिए उपयोग कर सकते हैं रैपिड-प्रोटोटाइपिंग इलेक्ट्रॉनिक्स बोर्ड जैसे शानदार ओपन-सोर्स के साथ उपयोग के लिए सर्किट और कंपोनेंट आरेख Arduino ... अधिक पढ़ें
  • एक Arduino ऐप और उदाहरण पलक कार्यक्रम की संरचना में एक करीब देखो Arduino के साथ पहला कदम: सर्किट बोर्ड और एक कार्यक्रम की संरचना में एक करीब देखोपिछली बार मैंने आपको मैक या विंडोज के साथ काम करने के लिए अपना Arduino सेट करने के लिए छोड़ दिया था, और एक साधारण परीक्षण ऐप अपलोड किया था जिसने ऑन-बोर्ड एलईडी को ब्लिंक किया था। आज मैं कोड समझाने जा रहा हूँ ... अधिक पढ़ें

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

यहाँ? अंतिम बात:

Arduino क्रिसमस रोशनी

और एक्शन में इसका एक वीडियो।

यहाँ? फ्रिटिंग से तारों का एक दृश्य। यह? बहुत बुनियादी है - बस एल ई डी के सकारात्मक नेतृत्व को पिन से कनेक्ट करें 2-> जो कुछ भी (13 पिन तक), और एक प्रतिरोधक के साथ नकारात्मक पैरों को जमीन पर इनलाइन से कनेक्ट करें। मूल्य मैं? यहाँ प्रयोग किया जाता है 560 ओम है। उस? यह तारों के लिए है।

Arduino क्रिसमस रोशनी

सॉफ़्टवेयर पक्ष पर, इस बारे में सोचें कि आप इन सभी एल ई डी को कोड में कैसे लिख सकते हैं। आप इसके बारे में इस तरह से जा सकते हैं:

int led1 = 2; // पहले पिन 2 पर एलईडी। int led2 = 3; // पिन 3 पर दूसरा। // आदि आदि शून्य लूप () {digitalWrite (led1, HIGH); देरी (100); digitalWrite (led1, LOW); देरी (100); digitalWrite (led2, HIGH); // आदि। }

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

सिंटैक्स इस तरह दिखता है (इसे अपने कोड में पहली पंक्ति के रूप में रखें):

int leds [] = {2,3,4,5,6,7,8,9,10};

वर्गाकार कोष्ठक संकेत देते हैं? चर एक होने जा रहा है सरणी. घुंघराले ब्रेसिज़ पिन संख्याओं की सूची को संलग्न करते हैं जो हमारी सरणी धारण करेंगे।

अब, एक ऐरे का उपयोग करने के लिए, हमें इसे इंडेक्स संख्या द्वारा संबोधित करना होगा। सूचकांक 0 से शुरू होता है, और हमेशा उसके अंदर कुल चीजों की संख्या से 1 कम तक जाएगा (इसलिए 9 वस्तुओं के साथ, अंतिम में 8 का सूचकांक होगा).

आप इसे इस तरह लिखते हैं:

एल ई डी [0]

जो हमारे मामले में, 2 नंबर लाएगा, क्योंकि वह? क्या है? हमारे ऐरे में इंडेक्स 0 पर है।

इतनी दूर के बाद? महान। वह अकेला है? हालांकि हमारे लिए पर्याप्त है - हमें भी अपने एल ई डी सरणी के प्रत्येक तत्व पर पुनरावृति करने के लिए कुछ तरीके की आवश्यकता है, इसके लिए, हम एक का उपयोग करेंगे पाश के लिए. ऐसा करने के लिए वाक्य रचना इस प्रकार है:

के लिए (प्रारंभिक चर; वह स्थिति जिसके तहत हम फिर से दोहराते हैं; परिवर्तन के लिए प्रत्येक पुनरावृत्ति परिवर्तन)

उदाहरण के लिए:

for (int i = 0; i <9; मैं ++)

जो कहते हैं

  • एक चर के साथ इस लूप को शुरू करें, मैं, जिसका मूल्य है शून्य
  • जब तक मैं हूँ, केवल लूपिंग जारी रखें 9 से कम है; (इसलिए: 0,1,2,3,4,5,6,7,8)
  • हर बार, 1 को i में जोड़ें (I ++ कहने का एक छोटा तरीका है i = i + 1)

तो मूल रूप से, लूप को कई बार दोहराया जा रहा है जितना कि हमारे पास एलईडी है, और हर बार? दोहराया हम एक चर होगा, मैं, जो हम उपयोग कर सकते हैं लेकिन हमें पसंद है।

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

शून्य सेटअप () {for (int i = 0; मैं <9; i ++) {pinMode (leds [i], OUTPUT); } }

क्या आप देख सकते हैं कि हमने वहां क्या किया? प्रत्येक व्यक्ति पिन को आउटपुट घोषित करने के लिए 9 लाइनों के कोड लिखने के बजाय, हम 'लूप' के लिए खुद को 9 बार दोहराने के लिए बनाते हैं, हर बार दूसरे पिन को सेट करते हैं।

अब, आपको यह देखने में सक्षम होना चाहिए कि हम प्रत्येक प्रोग्राम को अनुक्रम में चालू करने के लिए मुख्य प्रोग्राम लूप में सटीक एक ही काम कैसे कर सकते हैं:

शून्य लूप () {के लिए (int i = 0; मैं <9; i ++) {digitalWrite (leds [i], HIGH); देरी (100); digitalWrite (एलईडी [i], LOW); } }

उसकी कोशिश करो। आप ऐसा कर सकते हैं आज की परियोजना के लिए पूरा कोड यहाँ से डाउनलोड करें अगर तुम? d बल्कि इसे फिर से टाइप न करें (हालांकि मैं आपको प्रोत्साहित करता हूं, क्योंकि यह सीखने की प्रक्रिया में मदद करता है)।

ठीक है, इसलिए अब हमारे पास काफी उबाऊ प्रकाश अनुक्रम है। करते हैं? कार्यक्रम एक और एक। सिर्फ मनोरंजन के लिए, चलो? यह पूरी तरह से यादृच्छिक बनाते हैं। इसके साथ मुख्य लूप कोड बदलें:

शून्य लूप () { int randomLed = random (0,8); digitalWrite (leds [randomLed], HIGH); देरी (50); randomLed = random (0,8); digitalWrite (leds [randomLed], LOW); }

प्रत्येक एलईडी पर पुनरावृति करने के लिए 'लूप' के लिए 'यू' के बजाय, हम इसके बजाय 0-9 से एक यादृच्छिक संख्या चुनते हैं, और उस पर फ्लैश करते हैं।

मैं इसे आज के लिए वहीं छोड़ने जा रहा हूं क्योंकि अब आपको सभी नए अनुक्रमों को प्रोग्राम करने और लूप्स के साथ प्रयोग करने के लिए पर्याप्त ज्ञान से लैस होना चाहिए। यह साबित करने के लिए कि यह सब कितना आसान है, मैंने अपनी पत्नी को एक सीक्वेंस के बारे में सोचने की चुनौती दी? घ देखना पसंद है, और फिर मिला?उसे खुद इसे प्रोग्राम करने के लिए, केवल आपको कोड और पाठ दिए गए हैं? ve अब तक था। वह इसके साथ आई थी, इसलिए देखें कि क्या आप होमवर्क के लिए मैच कर सकते हैं!

प्रश्न, सुझाव, समस्याएं - कृपया टिप्पणियों में संपर्क करें।

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