Easyflow Inc.

LED Strip Editor

Редактор узоров LED-лент

LED स्ट्रिप की रोशनी को ऐसे डिज़ाइन करें जैसे आप कोई चित्र बना रहे हों — हर LED का रंग, चमक और जलने की जगह तय करें, प्रभाव जोड़ें, और हार्डवेयर तक पहुँचने से पहले पूरा पैनल देख लें।

मूल विचार

LED की एक पट्टी भी एक डिस्प्ले ही है। लंबा, पतला और थोड़ा बेढंगा डिस्प्ले, जिसकी तारों का क्रम किसी ने सोल्डर जोड़ों की सुविधा देखकर तय किया था — पर है तो डिस्प्ले ही। और डिस्प्ले के लिए डिज़ाइन करने का स्वाभाविक तरीका है उस पर चित्र बनाना।

यह एडिटर वही देता है। एक रंग चुनिए, किसी pixel पर क्लिक कीजिए, और वह LED जल उठती है। कोई आकृति खींचिए, और वह एक ऐसा टुकड़ा बन जाती है जिसे आप नाम दे सकते हैं, दोबारा इस्तेमाल कर सकते हैं और एनिमेट कर सकते हैं। आपके विशेष पुर्ज़े को जिस वायरिंग क्रम, रंग गहराई और बाइट क्रम की ज़रूरत है, उसे एक ही डायलॉग में एक बार बता दीजिए — आपकी कलाकृति को उसमें बदलने का काम एडिटर संभाल लेता है।

इससे बनता क्या है

ज़्यादातर इमेज एडिटर वहाँ खत्म होते हैं जहाँ एक फ़ाइल बनती है जिसे आप देखते हैं। यह एडिटर सोर्स कोड पर खत्म होता है: आपका चिह्नित किया हुआ हर क्षेत्र pixel मानों का एक const array बन जाता है — उसी क्रम में जिसमें LED जुड़ी हैं, और उसी रंग गहराई पर जिसे वह पुर्ज़ा संभाल सकता है। आपका firmware उस फ़ाइल को शामिल करता है और उसी से पैनल जलाता है।

यही वजह है कि यह एडिटर जान-बूझकर छोटा रखा गया है। यह pixel बनाता है, और LED हार्डवेयर को समझता है। यह तस्वीरों की री-टचिंग नहीं करता।

पहले चार शब्द जान लीजिए

शब्दयहाँ इसका अर्थ
बॉक्स (Box)छवि पर नाम वाला एक आयत। एक बॉक्स एक एक्सपोर्ट किया गया array बनता है — आम तौर पर किसी font का एक अक्षर।
बॉक्स सूची (Box list)वर्तमान छवि के सभी बॉक्स, उसी क्रम में जिसमें वे एक्सपोर्ट होंगे। PNG के बगल में .box फ़ाइल के रूप में सहेजी जाती है।
व्यवस्था (Arrangement)किसी बॉक्स की LED किस क्रम में चली जाती हैं: कौन-सा कोना पहला है, पंक्तियाँ पहले या कॉलम, और क्या बारी-बारी की लाइनें उल्टी दिशा में मुड़ती हैं।
चैनल क्रम (Channel order)रंग बाइट तार पर किस क्रम में जाते हैं — RGB, GRB इत्यादि। क्रम गलत हुआ तो पैनल गलत रंग में जलेगा।

एक सत्र कैसा दिखता है

  1. कोई PNG खोलिए या नया बनाइए।
  2. चित्र बनाइए, या किसी और का बनाया आर्टवर्क पेस्ट कीजिए।
  3. जो हिस्से चाहिए उन्हें बॉक्स के रूप में चिह्नित कीजिए और नाम दीजिए।
  4. LED सेटिंग्स में बिट डेप्थ, चैनल क्रम और वायरिंग तय कीजिए।
  5. बॉक्स एनिमेशन से पूर्वावलोकन देखिए, फिर स्रोत एक्सपोर्ट करके बोर्ड पर डाउनलोड कीजिए।
💡 चरण 4 और 5 ही आपके हार्डवेयर का वर्णन करते हैं। किसी एक बेंच के लिए एक बार तय कर दीजिए, फिर वे वैसे ही बने रहते हैं — वे सहेजे जाते हैं, हर एक्सपोर्ट पर दोबारा नहीं पूछे जाते।

यह प्रोग्राम मुफ़्त है। अगर यह आपके काम आया, तो सहयोग करने पर विचार करें।

सहयोग करें

अक्सर पूछे जाने वाले प्रश्न

पैनल गलत रंगों में जलता है

लगभग हमेशा चैनल क्रम की वजह से। बिल्ड > LED सेटिंग्स > RGB को अपने पुर्ज़े की अपेक्षा से मिलाकर देखिए — WS2812 और SK6812 के लिए GRB, WS2811 के लिए आम तौर पर RGB

अगर रंगत सही है पर सब कुछ बहुत गहरा या पट्टियों जैसा दिख रहा है, तो मामला बिट डेप्थ का है।

पैनल पर गलत pixel जलते हैं

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

8 बिट पर एक्सपोर्ट चला ही नहीं

आर्टवर्क का कोई रंग पैलेट में नहीं है। एक्सपोर्ट चुपचाप गलत pixel लिखने के बजाय पूरा ही मना कर देता है। भटके हुए रंगों को पैलेट की प्रविष्टियों पर लाने के लिए रंग रूपांतरण का उपयोग कीजिए, फिर दोबारा एक्सपोर्ट कीजिए।

मेरे बॉक्स गायब हो गए

बॉक्स सूची PNG के बगल की .box फ़ाइल में रहती है। अगर PNG को उसके बिना कॉपी किया गया था, तो बॉक्स खोए नहीं हैं — वे उसी फ़ोल्डर में हैं जहाँ से आपने कॉपी किया था। देखिए सहेजना।

स्वतः आकार ने वह क्षेत्र निगल लिया जिसे मैंने हटाया था

अब ऐसा नहीं होना चाहिए: पूरी तरह पारदर्शी pixel पृष्ठभूमि गिना जाता है। अगर फिर भी हो रहा है, तो वह क्षेत्र कटा हुआ नहीं बल्कि किसी रंग से भरा हुआ है — उसे पृष्ठभूमि के रंग से भर दीजिए, या दोबारा काट दीजिए।

एनिमेशन बीच में ही रुक जाता है

अंत की सीमा इस बात से तय होती है कि कितने बॉक्स लोड हुए हैं। अगर सूची में 50 बॉक्स हैं, तो आपने जो भी टाइप किया हो, चलना 50 पर रुक जाएगा। देखिए बॉक्स एनिमेशन।

डाउनलोड कनेक्ट नहीं होता

देखिए डिवाइस पर डाउनलोड — पोर्ट, गति (baud rate), और यह कि कहीं कोई दूसरा प्रोग्राम पोर्ट तो नहीं पकड़े हुए है।

और कुछ

मेनू का पाठ गलत भाषा में हो, कोई डायलॉग न खुले, या एक्सपोर्ट में त्रुटि आए: ये बातें बताने लायक हैं। एप्लिकेशन बिना संभाली गई त्रुटियाँ एक log में लिखता है, जिसे आप साथ भेज सकते हैं।