विषयसूची:

गोडोट मशीन: 4 कदम (चित्रों के साथ)
गोडोट मशीन: 4 कदम (चित्रों के साथ)

वीडियो: गोडोट मशीन: 4 कदम (चित्रों के साथ)

वीडियो: गोडोट मशीन: 4 कदम (चित्रों के साथ)
वीडियो: Advanced state machine techniques in Godot 4 2024, नवंबर
Anonim
गोडोट मशीन
गोडोट मशीन

गोडोट मशीन क्या है?

यह मानवीय अनुभव का हिस्सा है कि हम खुद को किसी ऐसी चीज की प्रतीक्षा की स्थिति में पाते हैं जो अंततः लंबे समय के इंतजार के बाद हो सकती है, या बिल्कुल नहीं।

गोडोट मशीन इलेक्ट्रो- "कला" का एक सौर-संचालित टुकड़ा है जो संभवतः व्यर्थ प्रतीक्षा के साथ आने वाली हताश भावना को पकड़ने की कोशिश करता है।

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

तो गोडोट मशीन क्या करती है?

  1. 1. कुछ धूप को देखते हुए, एक जूल चोर सर्किट कैपेसिटर के एक बैंक को चार्ज करना शुरू कर देता है।
  2. 2. एक बार लगभग 5V चार्ज करने के बाद, Arduino Nano संचालित होता है।
  3. 3. Arduino एक 20-बिट ट्रू रैंडम नंबर जेनरेट करता है, जिसे 4-बिट LED बार पर दिखाया जाता है।
  4. 4. इस संख्या की तुलना किसी अन्य यादृच्छिक संख्या से की जाती है, जो सभी के लिए अज्ञात है, जो पहली बार सर्किट बूट होने पर eeprom में संग्रहीत किया गया था।
  5. 5. यदि बराबर है, तो प्रतीक्षा समाप्त हो गई है, मशीन इस तथ्य को ईप्रोम में संग्रहीत करती है और अब से हरी एलईडी और पीजो बीपर सक्रिय हो जाती है (यदि पर्याप्त ऊर्जा है)।
  6. 6. यदि समान नहीं है, तो आशा, निराशा, दोहराएँ।

…भी, कभी-कभी उत्पन्न संख्या को बीपर द्वारा श्रव्य बना दिया जाता है, इसलिए आप वास्तव में यह नहीं भूलते कि आपके पास एक गोडोट मशीन है।

यह देखते हुए कि गोडोट संख्या के हिट होने की संभावना 1 बटा 2^20 या एक लाख में लगभग एक है, और मशीन बहुत तेज नहीं है, खासकर सर्दियों और शरद ऋतु में, इसे खोजने में वर्षों लग सकते हैं। आपकी गोडोट मशीन भी आपकी विरासत का हिस्सा बन सकती है। अगली संख्या का परीक्षण करने के लिए इसकी प्रतीक्षा करते हुए, आप इस बारे में कल्पना कर सकते हैं कि आपके दूर के परपोते अंततः इसे अपने निष्कर्ष पर कैसे देख सकते हैं। संक्षेप में: यह आगामी छुट्टियों के मौसम के लिए आदर्श उपहार है!

चरण 1: योजनाबद्ध

योजनाबद्ध
योजनाबद्ध

गोडोट मशीन में निम्न शामिल हैं:

-एक जूल चोर ऊर्जा हार्वेस्टर (Q1) जो 9x2200uF कैपेसिटर को चार्ज करता है। उन लोगों के लिए जो हेलिक्साफोबिया से पीड़ित हैं (प्रेरक का एक तर्कहीन कोण, जबकि कैपेसिटर और प्रतिरोधक ऐसी कोई समस्या पैदा नहीं करते हैं), डर नहीं है क्योंकि कोई मैनुअल वाइंडिंग की आवश्यकता नहीं है: युग्मन एक दूसरे के आसपास के क्षेत्र में मानक समाक्षीय प्रेरकों को रखकर बनाया गया है जैसा कि यहां दिखाया गया है। दूसरी तस्वीर। बहुत बढ़िया चाल!

-एक असतत ट्रांजिस्टर पावर स्विच (Q2, Q3, Q4), जो 5V1 पर स्विच करता है और लगभग 3.0V पर बंद होता है। यदि आप भिन्न (सामान्य प्रयोजन) ट्रांजिस्टर प्रकारों का उपयोग करते हैं तो आप R2-R4 को थोड़ा ट्यून करना चाह सकते हैं।

-एक एन्ट्रापी जनरेटर (Q6, Q7, Q8)। यह सर्किट वातावरण में मौजूद इलेक्ट्रॉनिक शोर को माइक्रोवोल्ट से वोल्ट स्तर तक बढ़ाता है। उस सिग्नल को फिर एक अराजकता-आधारित (रीड ऑन) यादृच्छिक संख्या जनरेटर के बीज के लिए नमूना किया जाता है। गिटार स्ट्रिंग का एक टुकड़ा एंटीना के रूप में कार्य करता है।

- 4 एलईडी या 4 लाल अलग एलईडी के साथ एक एलईडी-बार, एक पीजो बीपर और एक हरे रंग की एलईडी।

ध्यान दें कि पावर स्विच (Q4 का कलेक्टर) का आउटपुट Arduino नैनो के 5V पिन से जुड़ा है, VIN पिन से नहीं!

चरण 2: गोडोट मशीन का निर्माण

गोडोट मशीन का निर्माण
गोडोट मशीन का निर्माण
गोडोट मशीन का निर्माण
गोडोट मशीन का निर्माण
गोडोट मशीन का निर्माण
गोडोट मशीन का निर्माण

मैंने सर्किट को परफ़ॉर्मर के एक टुकड़े पर बनाया। वहां कुछ खास नहीं। 2V/200mA सौर पैनल एक अन्य परियोजना से बचा हुआ है। ब्रांड वेलेमैन है। एक तेज चाकू का उपयोग करके इसे खोलना आसान है, शिकंजा आदि के लिए छेद ड्रिल करने के लिए। सर्किट बोर्ड और सौर पैनल प्लाईवुड के दो टुकड़ों पर खराब हो गए हैं, जैसा कि चित्र में दिखाया गया है। विचार यह है कि सौर पैनल को अभी भी खिड़की पर सूर्य की ओर रखा जा सकता है।

चरण 3: कोड: अराजकता से यादृच्छिक संख्या?

कोड: अराजकता से यादृच्छिक संख्या?
कोड: अराजकता से यादृच्छिक संख्या?
कोड: अराजकता से यादृच्छिक संख्या?
कोड: अराजकता से यादृच्छिक संख्या?
कोड: अराजकता से यादृच्छिक संख्या?
कोड: अराजकता से यादृच्छिक संख्या?

यादृच्छिक संख्याएँ कैसे बनाई जाती हैं? खैर, वे गणित के साथ बने हैं!

Arduino रैंडम नंबर जेनरेटर फंक्शन रैंडम () का उपयोग करने के बजाय, मैंने सिर्फ मनोरंजन के लिए अपना खुद का रैंडम नंबर जेनरेटर (RNG) लिखने का फैसला किया।

यह लॉजिस्टिक मैप पर आधारित है, जो नियतात्मक अराजकता का सबसे सरल उदाहरण है। यहां देखिए यह कैसे काम करता है:

मान लीजिए x 0 और 1 के बीच कुछ वास्तविक मान है, तो गणना करें: x*r*(1-x), जहां r=3.9। परिणाम आपका अगला 'x' है। विज्ञापन अनंत दोहराएं। यह आपको 0 और 1 के बीच की संख्याओं की एक श्रृंखला देगा, जैसा कि पहली तस्वीर में है, जहां यह प्रक्रिया x = 0.1 (लाल) और x = 0.1001 (नीला) के प्रारंभिक मान के लिए शुरू की गई है।

अब यहाँ अच्छा हिस्सा है: आप दो अलग-अलग प्रारंभिक स्थितियों को कितना भी पास से चुनें, यदि वे बिल्कुल समान नहीं हैं, तो संख्याओं की परिणामी श्रृंखला अंततः अलग हो जाएगी। इसे 'प्रारंभिक स्थितियों पर संवेदनशील निर्भरता' कहा जाता है।

गणितीय रूप से, मानचित्र समीकरण x*r*(1-x) एक परवलय है। जैसा कि दूसरे आंकड़े में दिखाया गया है, आप कोबवेब निर्माण के रूप में जाने जाने वाले एक्स-सीरीज़ को ग्राफिक रूप से निर्धारित कर सकते हैं: क्षैतिज अक्ष पर एक्स से शुरू करें, वाई-अक्ष पर फ़ंक्शन मान ढूंढें, फिर 45 पर सीधी रेखा के विरुद्ध प्रतिबिंबित करें डिग्री कोण मूल के माध्यम से जा रहा है। दोहराना। जैसा कि लाल और नीली श्रृंखला के लिए दिखाया गया है, भले ही शुरू में करीब हों, वे लगभग 30 पुनरावृत्तियों के बाद पूरी तरह से अलग हो जाते हैं।

अब, 'r=3.9' संख्या कहाँ से आती है? यह पता चला है कि r के निम्न मानों के लिए, हमें केवल दो प्रत्यावर्ती x-मान प्राप्त होते हैं। r-पैरामीटर को बढ़ाने से किसी बिंदु पर 4, 8, 16 मानों आदि के बीच एक दोलन पर स्विच हो जाएगा। ये शाखाएं या द्विभाजन अधिक से अधिक तेजी से आते हैं क्योंकि r को बढ़ाया जाता है, जिसे 'अराजकता के लिए अवधि दोहरीकरण मार्ग' कहा जाता है। क्षैतिज अक्ष पर r वाला प्लॉट और लंबवत रूप से ओवरलैप किए गए कई x-पुनरावृत्तियों के परिणामस्वरूप द्विभाजन प्लॉट (तीसरी आकृति) के रूप में जाना जाता है। r=3.9 के लिए, नक्शा पूरी तरह से अव्यवस्थित है।

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

शब्दों में, यादृच्छिक संख्या जनरेटर कोड यह करता है:

- पिन A0 पर एन्ट्रापी जनरेटर से वोल्टेज को मापें। केवल 4 कम से कम महत्वपूर्ण बिट्स रखें।

- इन 4 बिट्स को 'सीड' मान में शिफ्ट करें, 32-बिट फ्लोटिंग पॉइंट सीड प्राप्त करने के लिए 8 बार दोहराएं।

- बीज को 0 और 1 के बीच पुनर्विक्रय करें।

- इस बीज के औसत और लॉजिस्टिक मानचित्र की वर्तमान स्थिति x की गणना करें।

- लॉजिस्टिक मैप को कई (64) चरणों में आगे बढ़ाएं।

- कुछ महत्वहीन दशमलव की जाँच करके लॉजिस्टिक मैप स्टेट x से एक बिट निकालें।

- उस बिट को अंतिम परिणाम में शिफ्ट करें।

- ऊपर के सभी चरणों को 20 बार दोहराएं।

नोट: कोड में, Serial.println और Serial.begin आउटकमेंटेड हैं। सीरियल मॉनीटर पर उत्पन्न यादृच्छिक संख्याओं की जांच करने के लिए // निकालें।

निष्पक्ष होने के लिए, मैंने सांख्यिकीय रूप से यादृच्छिक संख्याओं की गुणवत्ता की जाँच नहीं की है (जैसे NIST परीक्षण सूट) लेकिन वे ठीक प्रतीत होते हैं।

चरण 4: आपकी गोडोट मशीन पर चमत्कार

आपकी गोडोट मशीन पर चमत्कार!
आपकी गोडोट मशीन पर चमत्कार!

अपनी गोडोट मशीन का आनंद लें और कृपया साझा करें, टिप्पणी करें और/या पूछें कि क्या कुछ अस्पष्ट है।

जब आप गोडोट नंबर के मिलने की प्रतीक्षा कर रहे हैं, तो कृपया इस निर्देशयोग्य इन मेड विद मैथ प्रतियोगिता के लिए वोट करें! धन्यवाद!

गणित प्रतियोगिता के साथ बनाया गया
गणित प्रतियोगिता के साथ बनाया गया
गणित प्रतियोगिता के साथ बनाया गया
गणित प्रतियोगिता के साथ बनाया गया

मेड विद मैथ प्रतियोगिता में उपविजेता

सिफारिश की: