विषयसूची:

Arduino Gemma और NeoPixels के साथ आसान इन्फिनिटी मिरर: 8 कदम (चित्रों के साथ)
Arduino Gemma और NeoPixels के साथ आसान इन्फिनिटी मिरर: 8 कदम (चित्रों के साथ)

वीडियो: Arduino Gemma और NeoPixels के साथ आसान इन्फिनिटी मिरर: 8 कदम (चित्रों के साथ)

वीडियो: Arduino Gemma और NeoPixels के साथ आसान इन्फिनिटी मिरर: 8 कदम (चित्रों के साथ)
वीडियो: Hatear - wearable tech hat arduino project sensory 2024, जुलाई
Anonim
Arduino Gemma और NeoPixels के साथ आसान इन्फिनिटी मिरर
Arduino Gemma और NeoPixels के साथ आसान इन्फिनिटी मिरर

निहारना! करामाती और भ्रामक सरल अनंत दर्पण में गहराई से देखें! अंतहीन प्रतिबिंब का प्रभाव पैदा करने के लिए एक दर्पण सैंडविच पर एलईडी की एक पट्टी अंदर की ओर चमकती है। यह प्रोजेक्ट मेरे इंट्रो Arduino क्लास के कौशल और तकनीकों को लागू करेगा, और एक छोटे Arduino Gemma बोर्ड का उपयोग करके इसे अंतिम रूप में एक साथ रखेगा।

इस परियोजना का एक वेबिनार देखें! मुझे इस निर्माण को पूरा करने के लिए देखने के लिए इस वेबिनार को देखें जिसका नेतृत्व मैंने २८ जून २०१७ को किया था!

मैं जिस पर काम कर रहा हूं, उसके साथ बने रहने के लिए, मुझे YouTube, Instagram, Twitter, Pinterest पर फ़ॉलो करें और मेरे न्यूज़लेटर की सदस्यता लें।

चरण 1: आपूर्ति

आपूर्ति
आपूर्ति

इस पाठ का अनुसरण करने के लिए आपको आवश्यकता होगी:

  • तेज उपयोगिता चाकू
  • धातु शासक या टी-वर्ग
  • कटिंग मैट या स्क्रैप कार्डबोर्ड
  • टेम्पलेट या सर्कल-ड्राइंग कंपास के लिए प्रिंटर
  • प्लास्टिक स्कोरिंग चाकू (वैकल्पिक लेकिन अच्छा)
  • गर्म पिघल गोंद बंदूक, या E6000 / त्वरित पकड़ शिल्प चिपकने वाला;
  • क्लॉथस्पिन (वैकल्पिक, गोंद क्लैंप के रूप में उपयोग करने के लिए)
  • 4 "गोल दर्पण
  • सी-थ्रू मिरर प्लास्टिक
  • ब्लैक फोम बोर्ड, 3/16 "मोटाई
  • बढ़ते प्लेट पर Arduino Uno और सोल्डरलेस ब्रेडबोर्ड
  • यूएसबी ए-बी केबल
  • छोटा पुशबटन (जिसे आपने पहले मिलाप किया था)
  • ब्रेडबोर्ड तार
  • RGBW NeoPixel स्ट्रिप (या अन्य WS2812b RGBW LED स्ट्रिप) (19 पिक्सल, उसी स्ट्रिप का उपयोग करता है जिसे आपने पहले सोल्डर किया था)
  • सोल्डरिंग आयरन और सोल्डर
  • वायर स्ट्रिपर्स
  • फ्लश विकर्ण कटर
  • तीसरा हाथ उपकरण
  • मल्टीमीटर (वैकल्पिक)
  • छोटे सुईलेनोज सरौता
  • चिमटी
  • अरुडिनो जेम्मा बोर्ड
  • माइक्रो यूएसबी केबल
  • USB हब, यदि आपके कंप्यूटर में केवल USB 3 पोर्ट हैं (जैसे कि नए Mac)
  • यूएसबी एक्सटेंशन केबल (वैकल्पिक)
  • यूएसबी पावर एडाप्टर
  • लिपोली बैटरी और चार्जर (वैकल्पिक)

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

छवि
छवि

Arduino Gemma - इन्फिनिटी मिरर प्रोजेक्ट Arduino Uno को Arduino Gemma से प्रतिस्थापित करके Arduino सर्किट को छोटा करता है। Gemma ATTiny85 माइक्रोकंट्रोलर के चारों ओर बनाया गया एक छोटा बोर्ड है, जिसमें Uno के Atmega328 की तुलना में कम मेमोरी और कम विशेषताएं हैं, लेकिन यह छोटी और कम लागत वाली भी है। बड़े पैड सोल्डर करने के लिए बहुत आसान हैं (और प्रवाहकीय धागे के साथ सीवे, लेकिन यह एक अलग वर्ग के लिए एक विषय है)। Gemma आपके कंप्यूटर से कनेक्ट करने के लिए एक माइक्रो USB केबल का उपयोग करता है, और इसमें बैटरी कनेक्ट करने के लिए JST पोर्ट होता है। आप सीखेंगे कि कैसे Arduino सॉफ़्टवेयर से Gemma को प्रोग्राम किया जाए और इसे अंतिम प्रोजेक्ट में बनाया जाए। आप इसके बजाय एक Adafruit Gemma का भी उपयोग कर सकते हैं, लेकिन आपको Arduino सॉफ़्टवेयर को कॉन्फ़िगर करने के लिए एक अतिरिक्त चरण करने की आवश्यकता होगी।

छवि
छवि

RGBW NeoPixel स्ट्रिप - इस डिजिटली एड्रेसेबल स्ट्रिप में WS2812b चिप्स हैं जो लाल, हरे, नीले और सफेद रंग में कंपाउंड LED को नियंत्रित करते हैं। NeoPixel Adafruit का ब्रांड नाम है लेकिन आप अपने पसंदीदा आपूर्तिकर्ता की साइट पर "WS2812b RGBW स्ट्रिप" खोज कर भी इस स्ट्रिप को ढूंढ सकते हैं। इस वर्ग में प्रदान किया गया नमूना कोड RGB (सफेद नहीं) पट्टी, एनालॉग एलईडी पट्टी, या किसी अन्य प्रकार के डिजिटल नियंत्रण चिप (जैसे APA104 उर्फ DotStar) के साथ काम नहीं करेगा।

चरण 2: फ्रेम के टुकड़े काटें

फ्रेम के टुकड़े काटें
फ्रेम के टुकड़े काटें

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

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

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

छवि
छवि
छवि
छवि

हाथ से आकृतियों को खींचना वास्तव में सरल है, हालाँकि, मैं वादा करता हूँ! कम्पास को उसकी त्रिज्या (4 "दर्पण = 2" त्रिज्या) पर सेट करके और प्रत्येक किनारे से कम से कम 5 इंच अपने फोमकोर पर एक सर्कल बनाकर अपने दर्पण आकार से मेल खाने के लिए पहले एक सर्कल बनाएं। ज़रूर, आप केवल दर्पण की परिधि का पता लगा सकते हैं, लेकिन फिर आपको केंद्र को ढूंढना और चिह्नित करना होगा! कम्पास केंद्र बिंदु पर एक इंडेंटेशन बनाता है जो दूसरा संकेंद्रित वृत्त बनाने के लिए आसान है।

छवि
छवि
छवि
छवि

अब अपने कंपास को 4 तक चौड़ा करें और पहले के चारों ओर बड़ा वृत्त बनाएं। यह आपके दर्पण का पूरा निचला / पिछला भाग है- इसे इस तरह लेबल करें।

छवि
छवि
छवि
छवि

ऊपर/सामने का टुकड़ा बस थोड़ा बड़ा होना चाहिए, इसलिए अपने कंपास को 4 3/16 तक चौड़ा करें और इसे नीचे के टुकड़े से सुरक्षित दूरी पर निकालें।

छवि
छवि
छवि
छवि

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

छवि
छवि

इस टुकड़े को छोटे घेरे में लेबल करें, जो कुछ ही क्षणों में कट जाएगा।

छवि
छवि
छवि
छवि

अपने फोमकोर के एक लंबे हिस्से के साथ, एक पट्टी को 1/2 "चौड़ा, और दूसरा 1" चौड़ा पर चिह्नित करें और काटें।

छवि
छवि

संकीर्ण पट्टी दर्पण को गले लगाएगी और आपकी NeoPixel पट्टी को सहारा देगी, जबकि चौड़ी पट्टी वृत्ताकार फ्रेम की बाहरी दीवार बनाएगी।

छवि
छवि
छवि
छवि

हलकों को काटने पर! कुछ चालाकी और धैर्य यहाँ मददगार हैं। मैं हलकों को काटने के लिए एक छोटे शिल्प चाकू का उपयोग करना पसंद करता हूं क्योंकि मुझे लगता है कि मेरे पास अधिक नियंत्रण है। मैं यहां जिस विशेष चाकू का उपयोग कर रहा हूं वह नियमित एक्स-एक्टो ब्लेड लेता है, और मैंने इसे स्क्रैपबुकिंग गलियारे में पाया।

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

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

छवि
छवि
छवि
छवि

अगला, ऊपर के टुकड़े को काट लें, और फिर उसके आंतरिक घेरे को काट लें। यह टुकड़ा किसी भी अन्य की तुलना में अधिक देखा जाता है, इसलिए असमान किनारों को सीधा करने के लिए इसे थोड़ा अतिरिक्त सफाई दें।

छवि
छवि
छवि
छवि

घुमावदार आंतरिक रिंग के लिए, पतली फोमकोर पट्टी के साथ हर 1/4 या तो क्रॉस-कट बनाएं, लेकिन पूरी तरह से न काटें! यह जितना लगता है उससे कहीं अधिक आसान है- बस दो लाइट पास बनाएं और आपको मिल जाएगा इसे जल्दी से लटका दें। ये कट एक चिकनी आंतरिक सतह प्रदान करते हुए टुकड़े को वक्र करने की अनुमति देते हैं।

छवि
छवि
छवि
छवि

बाहरी फ्रेम के टुकड़े को अपने सबसे अच्छे चेहरे को बाहर की ओर रखना होगा, इसलिए हम थोड़े अलग पैटर्न में क्रॉस कट बनाएंगे। लैप जॉइंट के लिए पहले किनारे से एक लाइन 3/16" स्कोर करके तैयारी करें। स्ट्रिप के साथ कोमल क्रॉस-कट बनाएं, बारी-बारी से मोटे और पतले सेक्शन को लगभग 3/8" और 1/8", बारी-बारी से करें।

छवि
छवि

उस सामग्री को हटाने के लिए जहां किनारा लैप होगा, स्ट्रिप को काटने की सतह के किनारे पर रखें और अपने चाकू को क्षैतिज रूप से स्लाइड करें ताकि फोम की अतिरिक्त परत निकल जाए, जिससे कागज की निचली परत बरकरार रहे।

छवि
छवि

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

छवि
छवि
छवि
छवि

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

चरण 3: फ़्रेम इकट्ठा करें

फ्रेम इकट्ठा करो
फ्रेम इकट्ठा करो
फ्रेम इकट्ठा करो
फ्रेम इकट्ठा करो

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

छवि
छवि
छवि
छवि

निचले सर्कल के केंद्र पर गोंद की एक गुड़िया लगाएं और उस पर अपना दर्पण चिपका दें। फोमकोर के खिलाफ दर्पण को धीरे से घुमाएं और निचोड़ें, इसे चिह्नित सर्कल के साथ संरेखित करें। फिर अपनी पतली पट्टी को दर्पण की परिधि पर चिपका दें और किसी भी अतिरिक्त को फाड़ दें, जिससे तारों के गुजरने के लिए एक छोटा सा अंतर रह जाए।

छवि
छवि
छवि
छवि

अपने सामने "डोनट" के टुकड़े को काम की सतह पर नीचे रखें और लैप्ड किनारे पर गोंद करें। बार-बार इन टुकड़ों को एक साथ और काम की सतह पर नीचे दबाएं क्योंकि आप चलते-फिरते गोंद करते हैं, इसलिए सामने का किनारा अच्छा और साफ हो जाता है। बाहरी रिम चारों ओर नहीं जाएगा और यह ठीक है- यदि आप चाहें तो बाद में इस अंतर को बंद करना चुन सकते हैं।

छवि
छवि
छवि
छवि

NeoPixel स्ट्रिप के तारों को मिरर रिम पर छोटे गैप के माध्यम से रूट करें, और इसे इंटीरियर में ग्लू करें। वैकल्पिक रूप से गोंद के ठंडा होने पर पट्टी को जकड़ने के लिए कपड़ेपिन का उपयोग करें। शीशे पर गर्म गोंद लगाने से बचने की कोशिश करें, लेकिन अगर आप ऐसा करते हैं तो कोई बात नहीं! थोड़ी सी रबिंग अल्कोहल कांच जैसी गैर-छिद्रपूर्ण सतहों पर अपनी पकड़ छोड़ देगी।

छवि
छवि
छवि
छवि

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

छवि
छवि

विषय पर मेरे Arduino Class पाठ में वर्णित नमूना NeoPixel कोड को चलाकर अपने NeoPixel स्ट्रिप को अपने Arduino बोर्ड में प्लग करके डबल परावर्तन में बास करें।

चरण 4: सर्किट आरेख और स्यूडोकोड

सर्किट आरेख और स्यूडोकोड
सर्किट आरेख और स्यूडोकोड

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

कनेक्शन इस प्रकार हैं:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (डेटा इन) -> Arduino डिजिटल I/O पिन (कॉन्फ़िगर करने योग्य)

क्षणिक पुशबटन स्विच के एक तरफ -> Arduino डिजिटल I/O पिन (कॉन्फ़िगर करने योग्य)

क्षणिक पुशबटन स्विच के दूसरी तरफ -> Arduino GND

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

चर: NeoPixel पिन नंबर, बटन पिन नंबर, कितने LED हैं, LED कितनी चमकीली होनी चाहिए

एक बार के कार्य: आंतरिक पुल-अप रोकनेवाला के साथ इनपुट के रूप में बटन पिन को इनिशियलाइज़ करें, NeoPixel स्ट्रिप को इनिशियलाइज़ करें, LED एनिमेशन का वर्णन करें

लूपिंग कार्य: यह देखने के लिए जांचें कि क्या बटन दबाया गया है और यदि यह है, तो एक अलग एलईडी एनीमेशन पर स्विच करें

यह आसान लग सकता है, लेकिन अपनी परियोजना के लिए छद्म कोड लिखने के लिए समय निकालने से आपको अपना अंतिम Arduino स्केच तेजी से और कम भ्रम के साथ लिखने में मदद मिलेगी। यह एक टू-डू सूची के साथ-साथ एक संदर्भ मार्गदर्शिका की तरह काम करता है जब आप कोड में तैर रहे होते हैं और याद नहीं रख सकते कि आप क्या हासिल करने की कोशिश कर रहे हैं!

चरण 5: ब्रेडबोर्ड प्रोटोटाइप

ब्रेडबोर्ड प्रोटोटाइप
ब्रेडबोर्ड प्रोटोटाइप

अपने Arduino और ब्रेडबोर्ड को पकड़ो, और सुनिश्चित करें कि USB कॉर्ड अनप्लग है। क्या आपके NeoPixels अभी भी पहले से प्लग इन हैं? महान! यदि नहीं, तो उन्हें कनेक्ट करें: 5V से पावर रेल, दीन से Arduino पिन 6, GND से ग्राउंड रेल।

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

छवि
छवि

अपने USB केबल में प्लग इन करें और कोड को अपने Arduino बोर्ड पर अपलोड करें। बटन दबाएँ; इसे NeoPixels में चलाने के लिए एक नया एनीमेशन ट्रिगर करना चाहिए। 5V रेल सीमित चमक पर इस कुछ पिक्सेल के लिए पर्याप्त है, लेकिन अधिक एलईडी के साथ भविष्य की परियोजनाओं के लिए, आपको एक अलग बिजली की आपूर्ति की आवश्यकता होगी, जैसा कि मेरे परिचय Arduino क्लास के कौशल पाठ में चर्चा की गई है।

चरण 6: कोड

आइए कोड की अधिक विस्तार से जांच करें:

#define BUTTON_PIN 2 // डिजिटल IO पिन बटन से जुड़ा है। यह होगा

// एक पुल-अप रोकनेवाला के साथ संचालित होता है इसलिए स्विच को // पिन को पल-पल जमीन पर खींचना चाहिए। उच्च -> निम्न//संक्रमण पर बटन प्रेस तर्क निष्पादित होगा। #define PIXEL_PIN 6 // NeoPixels से जुड़ा डिजिटल IO पिन। #define PIXEL_COUNT 19 #define BRIGHTNESS 100 // 0-255 // पैरामीटर 1 = स्ट्रिप में पिक्सल की संख्या // पैरामीटर 2 = पिन नंबर (अधिकांश मान्य हैं) // पैरामीटर 3 = पिक्सेल प्रकार के झंडे, आवश्यकतानुसार एक साथ जोड़ें: / / NEO_RGB पिक्सेल RGB बिटस्ट्रीम के लिए वायर्ड होते हैं // NEO_GRB पिक्सेल GRB बिटस्ट्रीम के लिए वायर्ड होते हैं, सही अगर परीक्षण पर रंगों की अदला-बदली की जाती है // NEO_RGBW पिक्सेल RGBW बिटस्ट्रीम के लिए वायर्ड होते हैं // NEO_KHZ400 400 KHz बिटस्ट्रीम (जैसे FLORA पिक्सल) // NEO_KHZ800 800 KHz बिटस्ट्रीम (जैसे हाई डेंसिटी एलईडी स्ट्रिप), नियोपिक्सल स्टिक के लिए सही Adafruit_NeoPixel स्ट्रिप = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); बूल ओल्डस्टेट = हाई; इंट शो टाइप = 0;

NeoPixel उदाहरण कोड के समान, यह पहला खंड NeoPixel पट्टी और पुशबटन पिन, पिक्सेल नियंत्रण पिन, आदि के लिए चर सेट करता है।

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

पिनमोड (बटन_पिन, INPUT_PULLUP); स्ट्रिप.सेटब्राइटनेस (ब्राइटनेस); पट्टी। शुरू (); कपड़े उतारने का प्रदर्शन(); // सभी पिक्सल को 'ऑफ' करने के लिए इनिशियलाइज़ करें} सेटअप फ़ंक्शन अपने आंतरिक पुल-अप रोकनेवाला सक्रिय के साथ एक इनपुट में पिन 2 सेट करता है, पिक्सेल की वैश्विक चमक सेट करता है, और पिक्सेल डेटा कनेक्शन शुरू करता है।

शून्य लूप () {

// वर्तमान बटन स्थिति प्राप्त करें। बूल न्यूस्टेट = डिजिटलरेड (बटन_पिन); // जांचें कि क्या राज्य उच्च से निम्न (बटन प्रेस) में बदल गया है। अगर (newState == LOW && OldState == High) {// डिब्यू बटन के लिए कम देरी। देरी(20); // जांचें कि क्या डिबेट के बाद भी बटन कम है। न्यूस्टेट = डिजिटल रीड (बटन_पिन); अगर (न्यूस्टेट == कम) {शो टाइप ++; अगर (शो टाइप> 6) शो टाइप = 0; स्टार्टशो (शो टाइप); } } // अंतिम बटन स्थिति को पुरानी स्थिति पर सेट करें। ओल्डस्टेट = न्यूस्टेट; }

लूप फ़ंक्शन पहले बटन की वर्तमान स्थिति की जांच करता है और इसे एक बूलियन चर में संग्रहीत करता है (दो राज्यों में से एक हो सकता है: उच्च या निम्न)। फिर यह जांचता है और दोबारा जांच करता है कि क्या वह राज्य उच्च से निम्न तक जाता है। यदि ऐसा होता है, तो शोटाइप को एक से बढ़ा दिया जाता है, और स्टार्टशो फ़ंक्शन को वर्तमान शोटाइप के साथ एक तर्क के रूप में पास किया जाता है (शोटाइप 0-6 तक सीमित है)। अंतिम बटन स्थिति क्या थी, यह दर्शाने के लिए वेरिएबल OldState को अपडेट किया जाता है।

शून्य स्टार्टशो (int i) {

स्विच (i) {केस 0: कलरवाइप (स्ट्रिप। कलर (0, 0, 0)), 50); // ब्लैक / ऑफ ब्रेक; केस 1: कलरवाइप (स्ट्रिप। कलर (255, 0, 0)), 50); // लाल तोड़; केस 2: कलरवाइप (स्ट्रिप। कलर (0, 255, 0)), 50); // हरा विराम; केस 3: कलरवाइप (स्ट्रिप। कलर (0, 0, 255), 50); // नीला विराम; केस 4: पल्सव्हाइट(5); टूटना; केस 5: रेनबोफेड2व्हाइट(3, 3, 1); टूटना; केस 6: फुलव्हाइट (); टूटना; } }

स्टार्टशो फ़ंक्शन में एक स्विच/केस स्टेटमेंट होता है, जो कि if/else स्टेटमेंट्स के एक समूह को ढेर करने का एक शानदार तेज़ तरीका है। स्विच केस वैरिएबल i की तुलना प्रत्येक केस के मानों से करता है, फिर उस स्टेटमेंट में कोड को रन करता है। कीवर्ड

टूटना;

स्विच/केस स्टेटमेंट से बाहर निकलता है। हर बार जब आप बटन दबाते हैं तो विभिन्न एनीमेशन कार्यों को कॉल करने के लिए इस स्विच/केस का उपयोग किया जाता है।

छवि
छवि

अब जब आपको एक कार्यात्मक ब्रेडबोर्ड प्रोटोटाइप मिल गया है, तो इसे Arduino Gemma का उपयोग करके एक तैयार परियोजना में बनाने का समय है, जो कि Arduino Uno की तुलना में छोटा, कम पूर्ण रूप से चित्रित और कम लागत वाला है। आप इसके बजाय Adafruit Gemma का भी उपयोग कर सकते हैं, लेकिन आपको Arduino सॉफ़्टवेयर को कॉन्फ़िगर करने के लिए एक अतिरिक्त चरण करने की आवश्यकता होगी।

सबसे पहले, अपने कोड में NeoPixel पिन वेरिएबल को 6 से 1 में बदलें:

#define PIXEL_PIN 1 // NeoPixels से जुड़ा डिजिटल IO पिन।

USB केबल का उपयोग करके अपने Arduino Gemma को अपने कंप्यूटर में प्लग करें, और Arduino Tools मेनू में अपने बोर्ड प्रकार के रूप में "Arduino Gemma" चुनें।

छवि
छवि

जहाज पर ATTiny85 माइक्रोकंट्रोलर के सीमित कार्य एक सीरियल पोर्ट का उसी तरह समर्थन नहीं करते हैं जैसे कि Uno, इसलिए आपको पोर्ट मेनू से कुछ भी चुनने की आवश्यकता नहीं है। हालाँकि, प्रोग्रामर मेनू आइटम के तहत "Arduino Gemma" का चयन करना सुनिश्चित करें।

छवि
छवि

जब आप इसे प्रोग्राम करने का प्रयास कर रहे हों, तो बोर्ड को थोड़ी मदद की आवश्यकता होती है, इसलिए बोर्ड पर रीसेट बटन दबाएं, और जब लाल एलईडी स्पंदन कर रही हो, तो अपना स्केच जेम्मा पर लोड करने के लिए अपलोड बटन दबाएं। यदि रीसेट बटन दबाने पर आपकी लाल एलईडी स्पंदित नहीं होती है, तो आपका यूएसबी केबल केवल पावर वाला हो सकता है, और उस यूएसबी केबल के लिए स्वैप किया जाना चाहिए जिसमें पावर और डेटा कनेक्शन हों। यदि आप USB 3 पोर्ट (सभी नए Mac) का उपयोग कर रहे हैं, तो आपका LED पल्स नहीं होने का एक अन्य कारण है, जिससे जेम्मा बूटलोडर को पहचानने में परेशानी होती है। अपने कंप्यूटर पर USB 2 पोर्ट या अपने कंप्यूटर और Gemma के बीच USB हब का उपयोग करें।

चरण 7: मिलाप सर्किट

छवि
छवि
छवि
छवि

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

छवि
छवि
छवि
छवि

जेम्मा के बड़े छेद इस सर्किट को बिना किसी अतिरिक्त भागों के इकट्ठा करना आसान बनाते हैं- बस टिन किए गए तारों को छेदों के माध्यम से थ्रेड करें और सोल्डर पैड के चारों ओर अतिरिक्त लपेटें। कनेक्शन इस प्रकार हैं:

  • NeoPixel 5V -> गेम्मा वाउट
  • NeoPixel Din -> Gemma 1~ (डिजिटल पिन 1)
  • NeoPixel GND -> पुशबटन के एक तरफ -> Gemma GND
  • पुशबटन के दूसरी तरफ -> जेम्मा 2 (डिजिटल पिन 2)

अपने सर्किट बोर्ड को थर्ड हैंड टूल में सेट करें और पैड और तार को घेरने के लिए कुछ और सोल्डर लगाने से पहले अपने सोल्डरिंग आयरन के साथ कनेक्शन को गर्म करें। सभी कनेक्शनों के ठंडा होने के बाद, अपने फ्लश स्निप्स के साथ अतिरिक्त तार को काट लें।

छवि
छवि
छवि
छवि

सर्कल के किनारे का सामना कर रहे यूएसबी पोर्ट के साथ अपने जेम्मा को गर्म गोंद दें।

छवि
छवि
छवि
छवि
छवि
छवि
छवि
छवि
छवि
छवि

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

चरण 8: इसका इस्तेमाल करें

USB केबल प्लग इन करें, पुशबटन दबाएं, और आनंद लें! आप कोड बदलकर रंग और एनिमेशन बदल सकते हैं। यदि आप इसे दीवार पर लगाना चाहते हैं तो USB पावर अडैप्टर का उपयोग करें। इस बिंदु पर आप चाहें तो शेष अंतर को बंद करने के लिए एक और छोटा फोमकोर एज पीस बना सकते हैं। कुछ सुझाए गए उपयोग: इसे अपनी दीवार पर लटकाएं, इसे अपने डेस्क पर रखें, किसी मित्र को दें!

छवि
छवि

आप इस प्रोजेक्ट को USB केबल कनेक्ट करने के बजाय आंतरिक बैटरी से आसानी से चला सकते हैं। जिस ओरिएंटेशन पर आप जेम्मा को गोंद करते हैं, वह बैटरी पोर्ट तक पहुंच का निर्धारण करेगा, इसलिए आप इसे एक अलग कोण पर फिर से गोंद करना चाह सकते हैं। 19 RGBW पिक्सेल गुणा 80ma अधिकतम करंट ड्रॉ (प्लस ~ 10ma जेम्मा के लिए) 1530ma के बराबर है, जिसका अर्थ है कि हमें तकनीकी रूप से कम से कम इतनी mAh वाली बैटरी की आवश्यकता है। हालाँकि दर्पण के लिए कोड सभी चार पिक्सेल के एलईडी को एक साथ पूर्ण चमक में उपयोग करने के करीब नहीं आता है, इसलिए वास्तव में अधिकतम वर्तमान ड्रॉ बहुत कम है। एक स्वस्थ बैटरी समझौता 1200mAh की रिचार्जेबल लिपोली बैटरी है।

छवि
छवि

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

सिफारिश की: