विषयसूची:

Digispark और WS2812 रेनबो व्हील एक बॉक्स में: 4 कदम (चित्रों के साथ)
Digispark और WS2812 रेनबो व्हील एक बॉक्स में: 4 कदम (चित्रों के साथ)

वीडियो: Digispark और WS2812 रेनबो व्हील एक बॉक्स में: 4 कदम (चित्रों के साथ)

वीडियो: Digispark और WS2812 रेनबो व्हील एक बॉक्स में: 4 कदम (चित्रों के साथ)
वीडियो: How to Easily Control Addressable LEDs with an ESP32 or ESP8266 | WLED Project 2024, नवंबर
Anonim
Image
Image
Digispark और WS2812 एक बॉक्स में इंद्रधनुष पहिया
Digispark और WS2812 एक बॉक्स में इंद्रधनुष पहिया
Digispark और WS2812 एक बॉक्स में इंद्रधनुष पहिया
Digispark और WS2812 एक बॉक्स में इंद्रधनुष पहिया

यह छोटा सा प्रोजेक्ट एक अच्छी तरह से नक्काशीदार 10x6x5cm लकड़ी के बक्से के आसपास बनाया गया है जो मुझे एक दुकान में मिला है।

इसकी सबसे अच्छी विशेषता, जिसे वास्तव में कैमरे में ठीक से नहीं पकड़ा गया है, चमकीले, संतृप्त रंगों, बॉक्स के पेड़ के नक्काशीदार ढक्कन के किनारों के साथ प्रकाश करना है।

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

दीपक की चमक को एलडीआर के लिए धन्यवाद परिवेश प्रकाश के समानुपाती रखा जाता है: दीपक दिन के उजाले की स्थिति में चमकेगा और अंधेरे में रात के उजाले के रूप में उपयोग किए जाने पर बहुत उज्ज्वल नहीं होगा।

आपूर्ति

सामग्री के बिल:

  • एक Attiny85 Digispark (क्लोन) बोर्ड, इसके माइक्रोन्यूक्लियस बूटलोडर के साथ
  • एक 8x WS2812 बार
  • एक एलडीआर, परिवेश के आधार पर दीपक की चमक को ट्यून करने के लिए प्रयोग किया जाता है
  • LDR. के लिए एक 10KΩ पुल-अप रोकनेवाला
  • Digispark को प्रोग्राम करने और एक बार हो जाने पर लैंप को पावर देने के लिए एक USB माइक्रो केबल
  • एक खोखला लकड़ी का बक्सा
  • एक 5V⎓ शक्ति स्रोत (500mA से कम नहीं प्रदान करने में सक्षम)

कौशल और उपकरण:

  • PlatformIO (विजुअल स्टूडियो कोड पर चल रहा है) IDE के रूप में - कोई भी Arduino IDE काम करेगा, हालाँकि
  • एक सोल्डरिंग आयरन, कुछ सोल्डर वायर और बेसिक सोल्डरिंग स्किल्स
  • कुछ तार, कैंची
  • कुछ गोंद, चिमटी
  • कुछ अपारदर्शी पेंट (डिजिस्पार्क एलईडी को कवर करने के लिए और एलडीआर को लैंप की रोशनी से प्रभावित होने से बचाने के लिए)

चरण 1: Digispark और PlatformIO

Digispark (और समान 8-बिट माइक्रोकंट्रोलर से युक्त प्रत्येक क्लोन) एक AVR Attiny85 के आसपास बनाया गया एक ब्रेकआउट बोर्ड है, जो एक माइक्रोन्यूक्लियस बूटलोडर के लिए सीधे USB संचार के लिए सक्षम है। कृपया इसके विकि पर कोई और जानकारी प्राप्त करें:

PlatformIO वह पारिस्थितिकी तंत्र है जिसका उपयोग मैंने Digispark को प्रोग्राम करने के लिए किया था। इसके साथ काम करने के लिए, आपको विजुअल स्टूडियो कोड इंस्टॉल करना होगा।

चरण 2: योजनाबद्ध और वायरिंग

योजनाबद्ध और वायरिंग
योजनाबद्ध और वायरिंग
योजनाबद्ध और वायरिंग
योजनाबद्ध और वायरिंग
योजनाबद्ध और वायरिंग
योजनाबद्ध और वायरिंग

टांकने की क्रिया

  1. तीन तारों को WS2812 बार (जमीन, पावर इनपुट और डेटा इनपुट) से कनेक्ट करें
  2. वायर ग्राउंड और Vcc से 5V और Digispark का GND पिन
  3. बचे हुए तार को Digispark के P0 पिन में मिला दें
  4. बोर्ड के GND और P2 पिन के लिए एक 10KΩ रोकनेवाला मिलाप
  5. LDR को 5V और P2 पिन से जोड़ने के लिए दो तारों का उपयोग करें (मैंने सौंदर्य कारणों से मुश्किल से दिखाई देने वाले तामचीनी तारों का उपयोग किया)

चरण 3: फर्मवेयर

मेरे GitHub पर इस प्रोजेक्ट के लिए कोड खोजें:

जानकर अच्छा लगा:

  • PlatformIO के साथ काम करते समय #include का उपयोग करना होगा
  • पैरामीटर, जैसे पिन का असाइनमेंट, WS2812 LED की संख्या, रेनबो व्हील स्पीड और LED और LDR दोनों के लिए डार्क/ब्राइट थ्रेसहोल्ड कोड की शुरुआत में हैं
  • Adafruit Neopixel WS2812 LED को नियंत्रित करने के लिए उपयोग की जाने वाली लाइब्रेरी है
  • रनिंगमेडियन लाइब्रेरी का उपयोग एलडीआर रीडिंग को और अधिक स्थिर बनाने के लिए किया जाता है; सीमाओं के कारण, एलईडी चमक सीमाओं की मैपिंग, यह कम चमक की स्थिति में विशेष रूप से अच्छा है, जहां एक छोटे से उतार-चढ़ाव के परिणामस्वरूप एक कष्टप्रद झिलमिलाहट हो सकती है
  • आपको Attiny85 को लॉक करने का कोई प्रयास नहीं मिलेगा, इसलिए प्रोजेक्ट संपादन योग्य रहेगा

कुछ संकेत (GitHub पर README.md फ़ाइल में भी दिखाई दे रहे हैं):

  • कोड अपलोड करने के लिए, सुनिश्चित करें कि प्रत्येक पिन वायर्ड के साथ एक यूएसबी केबल है: सस्ते चार्जिंग केबल में अक्सर सिर्फ +5V और ग्राउंड वायर्ड होता है
  • PlatformIO से DigiSpark पर अपलोड करने के लिए आपको संकलन के बाद DigiSpark को प्लग करना होगा, भले ही कंसोल "अब आपके DigiSpark को प्लग करने का समय है" चेतावनी नहीं देता है, जैसा कि Arduino IDE करता है।
  • MacOS पर PlatformIO से DigiSpark पर अपलोड करने में समस्या का त्वरित समाधान: PIO समस्या 111
  • सस्ते यूएसबी चार्जर गंदा/शोर आउटपुट प्रदान कर सकते हैं, जो विशेष रूप से कम चमक पर एलईडी को अजीब तरह से झिलमिलाहट कर सकता है: एक साफ 5VDC स्रोत होना सुनिश्चित करें, या एक संधारित्र (या एक अधिक उचित सर्किट) जोड़ने के लिए फ़िल्टर करें।

चरण 4: आवरण और परिष्करण स्पर्श

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

सिफारिश की: