فهرست مطالب:

ماشین گودو: 4 مرحله (همراه با تصاویر)
ماشین گودو: 4 مرحله (همراه با تصاویر)

تصویری: ماشین گودو: 4 مرحله (همراه با تصاویر)

تصویری: ماشین گودو: 4 مرحله (همراه با تصاویر)
تصویری: آموزش ساخت بازی space shooterساده در godot به زبان پارسی 2024, جولای
Anonim
ماشین گودو
ماشین گودو

ماشین گودو چیست؟

این بخشی از تجربه بشری است که ما می توانیم خود را در وضعیتی در انتظار چیزی ببینیم که ممکن است در نهایت پس از مدت ها انتظار ، یا اصلاً اتفاق نیفتد.

ماشین گودو قطعه ای از انرژی الکتریکی است که با انرژی خورشیدی کار می کند و سعی می کند احساسات ناامید کننده ای را که انتظارات بی مورد را همراهی می کند ، به تصویر بکشد.

این نام از نمایشنامه معروف ساموئل بکت در انتظار گودو است که در آن دو مرد منتظر آمدن گودو خاصی هستند ، که ممکن است فردا ، پس فردا یا هرگز نرسد.

بنابراین ماشین گودو چه می کند؟

  1. 1. با توجه به کمی آفتاب ، مدار ژول دزد شروع به شارژ یک بانک خازن می کند.
  2. 2. آردوینو نانو پس از شارژ شدن در حدود 5 ولت ، تغذیه می شود.
  3. 3. آردوینو یک عدد تصادفی واقعی 20 بیتی تولید می کند که روی یک نوار LED 4 بیتی نشان داده شده است.
  4. 4. این عدد با یک عدد تصادفی دیگر ، که برای همه ناشناخته است ، مقایسه می شود که در اولین بار که مدار بوت شد در eeprom ذخیره شد.
  5. 5. اگر مساوی باشد ، انتظار به پایان می رسد ، دستگاه این حقیقت را در eeprom ذخیره می کند و از این پس LED سبز و پیپو (در صورت وجود انرژی کافی) فعال می شود.
  6. 6. اگر برابر نیست ، امیدوار باشید ، ناامید شوید ، تکرار کنید.

… همچنین ، هر چند وقت یکبار عدد تولید شده توسط بوق قابل شنیدن است ، بنابراین در واقع فراموش نکنید که یک دستگاه گودو دارید.

با توجه به اینکه احتمال برخورد با عدد گودو 1 در 2^20 یا حدود یک در یک میلیون است و دستگاه خیلی سریع نیست ، مخصوصا در زمستان و پاییز ، یافتن آن سالها طول می کشد. ماشین Godot شما حتی ممکن است بخشی از میراث شما شود. در حالی که منتظر آزمایش شماره بعدی هستید ، می توانید خیال کنید که چگونه نوه های بزرگ دور شما در نهایت می بینند که چگونه به نتیجه می رسد. به طور خلاصه: این هدیه ایده آل برای فصل تعطیلات آینده است!

مرحله 1: شماتیک

شماتیک
شماتیک

ماشین گودو شامل موارد زیر است:

-جذب کننده انرژی Joule Thief (Q1) که خازن های 9x2200uF را شارژ می کند. برای کسانی که از هلیکسافوبی (رنج غیرعقلانی سلف ها ، در حالی که خازن ها و مقاومت ها چنین مشکلی ندارند) رنج می برند ، نگران نباشید زیرا نیازی به سیم پیچ دستی ندارید: اتصال با قرار دادن سلف های کواکسیال استاندارد در مجاورت یکدیگر ایجاد می شود. عکس دوم ترفند عالی!

سوئیچ قدرت گسسته ترانزیستور (Q2 ، Q3 ، Q4) ، که در 5V1 روشن و خاموش در حدود 3.0V روشن می شود. اگر از انواع مختلف ترانزیستور (برای اهداف عمومی) استفاده می کنید ، ممکن است بخواهید کمی R2-R4 را تنظیم کنید.

-مولد آنتروپی (Q6 ، Q7 ، Q8). این مدار نویز الکترونیکی موجود در محیط را از سطوح میکرو ولت تا ولت تقویت می کند. سپس از آن سیگنال نمونه برداری می شود تا یک تولید کننده عدد تصادفی مبتنی بر هرج و مرج (در ادامه بخوانید) ایجاد شود. یک تار سیم گیتار به عنوان آنتن عمل می کند.

-یک نوار LED با 4 LED یا 4 LED جداگانه قرمز ، یک بیپر پیزو و یک LED سبز.

توجه داشته باشید که خروجی کلید پاور (جمع کننده Q4) به پین 5 ولت آردوینو نانو متصل است ، نه به پین VIN!

مرحله 2: ساخت ماشین گودو

ساخت ماشین گودو
ساخت ماشین گودو
ساخت ماشین گودو
ساخت ماشین گودو
ساخت ماشین گودو
ساخت ماشین گودو

مدار را روی یک تخته ورق ورق ساختم. چیز خاصی اونجا نیست پنل خورشیدی 2V/200mA باقی مانده از پروژه دیگری است. نام تجاری Velleman است. به راحتی می توان آن را با استفاده از چاقوی تیز باز کرد ، سوراخ هایی برای پیچ و غیره ایجاد کرد و مدار و پنل خورشیدی بر روی دو تکه تخته سه لا پیچ خورده اند ، همانطور که در تصویر نشان داده شده است. ایده این است که پنل خورشیدی را می توان به سمت خورشید در یک پنجره ثابت قرار داد.

مرحله 3: کد: اعداد تصادفی از هرج و مرج؟

کد: اعداد تصادفی از هرج و مرج؟
کد: اعداد تصادفی از هرج و مرج؟
کد: اعداد تصادفی از هرج و مرج؟
کد: اعداد تصادفی از هرج و مرج؟
کد: اعداد تصادفی از هرج و مرج؟
کد: اعداد تصادفی از هرج و مرج؟

اعداد تصادفی چگونه ساخته می شوند؟ خوب ، آنها با ریاضی ساخته شده اند!

به جای استفاده از تابع مولد عدد تصادفی آردوینو () ، تصمیم گرفتم ژنراتور شماره تصادفی (RNG) خودم را فقط برای سرگرمی بنویسم.

این بر اساس نقشه لجستیک است که ساده ترین مثال از هرج و مرج قطعی است. در اینجا نحوه کار آن آمده است:

فرض کنید x مقداری واقعی بین 0 و 1 است ، سپس محاسبه کنید: x*r*(1-x) ، که r = 3.9 است. نتیجه "x" بعدی شماست. به صورت بی نهایت تکرار کنید این یک سری اعداد بین 0 تا 1 به شما می دهد ، مانند تصویر اول ، جایی که این فرایند برای مقدار اولیه x = 0.1 (قرمز) و همچنین x = 0.1001 (آبی) شروع می شود.

اکنون این قسمت جالب است: مهم نیست که چقدر دو شرط اولیه مختلف را نزدیک انتخاب می کنید ، اگر آنها دقیقاً برابر نباشند ، مجموعه اعداد حاصل در نهایت واگرا می شوند. این "وابستگی حساس به شرایط اولیه" نامیده می شود.

از نظر ریاضی ، معادله نقشه x*r*(1-x) یک سهمی است. همانطور که در شکل 2 نشان داده شده است ، می توانید سری x را به صورت گرافیکی با استفاده از چیزی که به عنوان تار عنکبوت شناخته می شود تعیین کنید: از x در محور افقی شروع کنید ، مقدار عملکرد را در محور y پیدا کنید ، سپس در برابر یک خط مستقیم در 45 منعکس کنید. درجه زاویه ای که از مبدا عبور می کند. تکرار. همانطور که برای سری قرمز و آبی نشان داده شده است ، حتی اگر در ابتدا بسته باشند ، پس از حدود 30 تکرار کاملاً از هم جدا می شوند.

حال ، عدد 'r = 3.9' از کجا آمده است؟ به نظر می رسد که برای مقادیر پایین r ، ما فقط دو مقدار x متناوب دریافت می کنیم. افزایش پارامتر r بعداً به نوسان بین 4 ، 8 ، 16 مقدار و غیره تبدیل می شود. این انشعابات یا انشعابات با افزایش r بیشتر و سریعتر اتفاق می افتد ، که در آن "مسیر دو برابر شدن دوره تا هرج و مرج" نامیده می شود. یک نمودار با r در محور افقی و بسیاری از تکرارهای x به صورت عمودی با هم همپوشانی دارند ، منجر به چیزی می شود که به عنوان نمودار انشعاب شناخته می شود (شکل سوم). برای r = 3.9 ، نقشه کاملاً آشفته است.

بنابراین اگر بسیاری از به روز رسانی های x را محاسبه کنیم و از آنها نمونه بگیریم ، یک عدد تصادفی دریافت می کنیم؟ خوب ، در این مرحله این یک تولید کننده شماره تصادفی شبه (PRNG) است ، زیرا اگر همیشه از همان مقدار اولیه (پس از خروج از تنظیم مجدد) شروع کنیم ، همیشه دنباله یکسانی را بدست می آوریم. هرج و مرج قطعی اینجاست که ژنراتور آنتروپی وارد می شود ، که نقشه لجستیک را با تعدادی ایجاد شده از سر و صدای الکتریکی موجود در محیط نشان می دهد.

به عبارت دیگر ، کد تولید کننده عدد تصادفی این کار را انجام می دهد:

- ولتاژ مولد آنتروپی را روی پین A0 اندازه گیری کنید. فقط 4 بیت کم اهمیت را نگه دارید.

- این 4 بیت را به مقدار 'seed' منتقل کنید ، 8 بار تکرار کنید تا یک دانه نقطه شناور 32 بیتی بدست آورید.

- بذر را بین 0 تا 1 مجدد اندازه گیری کنید.

- میانگین این دانه و x ، وضعیت فعلی نقشه لجستیک را محاسبه کنید.

- نقشه لجستیکی (64) مرحله را پیش ببرید.

- با بررسی برخی اعشار بی اهمیت ، یک بیت از حالت نقشه لجستیک x استخراج کنید.

- آن بیت را به نتیجه نهایی تغییر دهید.

- تمام مراحل بالای 20 بار را تکرار کنید.

توجه: در کد ، Serial.println و Serial.begin کامنت شده است. // را حذف کنید تا اعداد تصادفی ایجاد شده را در مانیتور سریال بررسی کنید.

صادقانه بگویم ، من کیفیت اعداد تصادفی (به عنوان مثال مجموعه تست NIST) را از نظر آماری بررسی نکرده ام ، اما به نظر می رسد که آنها خوب هستند.

مرحله 4: از ماشین Godot خود شگفت زده شوید

از ماشین Godot شما شگفت زده شوید!
از ماشین Godot شما شگفت زده شوید!

از ماشین Godot خود لذت ببرید و لطفاً اگر چیزی مبهم است به اشتراک بگذارید ، نظر دهید و/یا بپرسید.

در حالی که منتظر یافتن شماره گودو هستید ، لطفاً در مسابقه ساخته شده با ریاضی به این برنامه آموزشی رای دهید! با تشکر!

ساخته شده با مسابقه ریاضی
ساخته شده با مسابقه ریاضی
ساخته شده با مسابقه ریاضی
ساخته شده با مسابقه ریاضی

نفر دوم مسابقه ساخته شده با ریاضی

توصیه شده: