एक छोटा माइक्रोकंट्रोलर (8-बिट एटमेल) कई फैंसी यादृच्छिक प्रकाश अनुक्रमों के साथ एक लाइट शो प्रस्तुत करने के लिए कई रोशनी को नियंत्रित करता है।
एक उपयुक्त छद्म- RNG अपना काम अच्छी तरह से करता है, लेकिन मैं इसके लिए एक अच्छे बीज की तलाश कर रहा हूं। एक बीज आवश्यक होगा क्योंकि अगर कोई एक ही समय में कई ऐसे उपकरणों को चालू करता है, तो यह अच्छा नहीं होगा यदि वे सभी समान प्रभाव उत्पन्न करते हैं जब तक कि वे अपने व्यक्तिगत घड़ी स्रोतों में छोटे अंतर के कारण धीरे-धीरे अलग हो जाते हैं।
एक छद्म-आरएनजी को बीजने के लिए एक बहुत अच्छी विधि, जिसका मैं अक्सर उपयोग करता हूं, एक उपकरण के मामले में संभव है जिसे एक बटन के प्रेस या एक स्विच के फ्लिप के साथ शुरू किया जाना है। जैसे ही isc को संचालित किया जाता है, बहुत तेज टाइमर शुरू किया जा सकता है, और इस टाइमर का मान पहली बार बटन दबाते ही RNG से निकलता है।
समस्या यह है कि, इस परिदृश्य में, कोई बटन नहीं है। जैसे ही डिवाइस चालू होता है, प्रोग्राम शुरू करना होता है।
पीसीबी पर जगह बेहद सीमित है (बहुत छोटे एसएमडी भागों में से कुछ से अधिक कुछ भी फिट नहीं हो सकता है), इसलिए मैं सबसे छोटा और सरल संभव समाधान ढूंढ रहा हूं। इसलिए मैं असली RNG हार्डवेयर, रेडियो रिसीवर आदि जैसे फैंसी समाधानों का पालन करूंगा।
मेरे पास सीपीयू में एक 16 बिट टाइमर-काउंटर है, और एक अप्रयुक्त पोर्टपिन है जिसमें एक एडीसी तक पहुंच है।
मेरा वर्तमान समाधान केवल एडीसी पिन को लगभग आधा आपूर्ति वोल्टेज प्रदान करने के लिए एक रोकनेवाला (संभव के रूप में गलत) का उपयोग करना है, और पहले विज्ञापन रूपांतरण मूल्य के साथ आरएनजी को बीज देना है। हालांकि, आजकल अधिकांश 10% प्रतिरोधों में 1% के तहत एक अशुद्धि है (यह एक आपूर्तिकर्ता के चेहरे की कल्पना करना मजेदार होगा जब मैं उन्हें बताता हूं कि हम सबसे खराब गुणवत्ता वाले एसएमडी प्रतिरोधक चाहते हैं जो वे पा सकते हैं), इसलिए बहुत अधिक संभावना है एक ही बीज से शुरू होने वाली कई इकाइयाँ।
एक बेहतर विकल्प कई रूपांतरण बनाने और इन मापों के कम से कम महत्वपूर्ण बिट्स में से एक मूल्य का निर्माण करना होगा। हालाँकि, मैंने पहले इस प्रकार के ADC का उपयोग किया था और मुझे पता है कि यह बहुत सटीक है। सबसे तेज गति से एडीसी चलाने से यहां मदद मिल सकती है।
क्या किसी के पास बेहतर सुझाव है? बीज को पूरी तरह समान रूप से वितरित करने की आवश्यकता नहीं है, लेकिन वितरण जितना अधिक समान है, उतना ही बेहतर है। पूरी तरह से समान वितरण के साथ एक 16 बिट बीज एक सपना सच होने के लिए बहुत अच्छा होगा, लेकिन मुझे लगता है कि 5 या 6 बिट्स पर एक आधा सभ्य वितरण पर्याप्त हो सकता है।