תוכן עניינים:

מכונת גודו: 4 שלבים (עם תמונות)
מכונת גודו: 4 שלבים (עם תמונות)

וִידֵאוֹ: מכונת גודו: 4 שלבים (עם תמונות)

וִידֵאוֹ: מכונת גודו: 4 שלבים (עם תמונות)
וִידֵאוֹ: DALL E 2 כלי ליצירת תמונות על ידי בינה מלאכותית 2024, יולי
Anonim
מכונת גודו
מכונת גודו

מהי מכונת גודו?

זהו חלק מהחוויה האנושית שאנו יכולים למצוא את עצמנו במצב של המתנה למשהו שעלול לקרות בסופו של דבר לאחר זמן רב של המתנה, או בכלל לא.

מכונת גודו היא יצירת אלקטרו-אמנות המופעלת באמצעות השמש, המנסה ללכוד את הרגש הנואש המלווה המתנה חסרת טעם.

השם הוא מתוך המחזה המפורסם של סמואל בקט מחכה לגודו, בו מחכים שני גברים לבואו של גודו מסוים, שעשוי להגיע מחר, מחרתיים, או לעולם לא.

אז מה מכונת גודו עושה?

  1. 1. בהינתן מעט שמש, מעגל גנב Joule מתחיל להטעין בנק קבלים.
  2. 2. לאחר הטעינה של כ- 5V, ה- Arduino Nano מופעל.
  3. 3. ה- Arduino יוצר מספר אקראי אמיתי של 20 סיביות, שמוצג על סרגל LED של 4 סיביות.
  4. 4. מספר זה מושווה למספר אקראי אחר, לא ידוע לכולם, שנשמר ב- eeprom בפעם הראשונה שהמעגל אתחל.
  5. 5. אם שווה, ההמתנה הסתיימה, המכונה מאחסן עובדה זו ב- eeprom ומעכשיו מופעל הנורית הירוקה וצפצף הפיצו (אם יש מספיק אנרגיה).
  6. 6. אם לא שווה, תקווה, ייאוש, חזור.

… כמו כן, מדי פעם המספר שנוצר נשמע על ידי הביפר, כך שאתה לא באמת שוכח שיש לך מכונת גודו.

בהתחשב בכך שההסתברות לפגוע במספר גודו היא 1 מעל 2^20 או בערך אחד למיליון, והמכונה לא מהירה במיוחד, במיוחד בחורף ובסתיו, עשויה להימשך שנים עד למצוא אותה. מכונת הגודו שלך עשויה אף להפוך לחלק מהירושה שלך. בזמן שאתם מחכים שהוא יבדוק את המספר הבא, תוכלו לפנטז על איך ניניכם הנינים הרחוקים עשויים סוף סוף לראות אותו מגיע למסקנתו. בקיצור: זו המתנה האידיאלית לעונת החגים הקרובה!

שלב 1: סכמטי

הסכימטי
הסכימטי

מכונת גודו מורכבת מ:

-מבקר אנרגיה של Joule Thief (Q1) שמטעין קבלים 9x2200uF. לאלה הסובלים מסליקספוביה (חרדה לא רציונלית של משרנים, בעוד שקבלים ונגדים אינם מהווים בעיה כזו), אל תפחד כי לא נדרשת סלילה ידנית: הצימוד נוצר על ידי הצבת משרנים קואקסיאליים סטנדרטיים זה לזה כפי שמוצג כאן תמונה 2. טריק מדהים!

-מתג מתח טרנזיסטור נפרד (Q2, Q3, Q4), אשר נדלק ב- 5V1 בערך וסובב בסביבות 3.0V. ייתכן שתרצה לכוון מעט את R2-R4 אם אתה משתמש בסוגי טרנזיסטורים שונים (כלליים).

-מחולל אנטרופיה (Q6, Q7, Q8). מעגל זה מגביר את הרעש האלקטרוני הקיים בסביבה ממיקרו וולט לרמות וולט. אות זה נדגם לאחר מכן כדי לזרע מחולל מספר אקראי המבוסס על כאוס (קרא הלאה). חתיכת מיתר גיטרה משמשת כאנטנה.

-בר LED עם 4 נוריות LED או 4 נוריות LED נפרדות אדומות, ביפר פיצו ו LED ירוק.

שים לב שהפלט של מתג ההפעלה (אספן של Q4) מחובר לפין 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) היא פרבולה. כפי שמוצג באיור השני, אתה יכול לקבוע באופן גרפי את סדרת ה- x באמצעות מה שמכונה קונסטרוקציה של קורי עכביש: התחל מ- x על הציר האופקי, מצא את ערך הפונקציה בציר y ולאחר מכן השתקף כנגד קו ישר ב- 45 זווית מעלות העובר דרך המקור. חזור. כפי שמוצג עבור הסדרות האדומות והכחולות, גם אם הן נסגרות בתחילה, הן מתפוגגות לחלוטין לאחר כ -30 איטרציות.

עכשיו, מאיפה המספר 'r = 3.9'? מתברר כי עבור ערכים נמוכים של r, אנו מקבלים רק שני ערכי x מתחלפים. הגדלת הפרמטר r תעבור בשלב כלשהו לתנודה בין 4, 8, 16 ערכים וכו '. הסתעפות או פיצולציות אלה מגיעות מהר יותר ויותר ככל ש- r עולה, במה שנקרא' מסלול כפול תקופות לתוהו ובוהו '. חלקה עם r על הציר האופקי והרבה x-iterates החופפים אנכית תביא למה שמכונה עלילת פיצול (איור 3). עבור r = 3.9, המפה כאוטית לחלוטין.

אז אם אנו מחשבים עדכוני x רבים ונדגום מהם, נקבל מספר אקראי? ובכן לא, בשלב זה זה יהיה מחולל מספר אקראי של פסאודו (PRNG), שכן אם תמיד נתחיל מאותו ערך התחלתי (לאחר שיצא מהאיפוס), תמיד היינו מקבלים את אותו הרצף; גם כאוס דטרמיניסטי. כאן נכנס מחולל האנטרופיה, אשר זורע את המפה הלוגיסטית במספר שנוצר מרעש חשמלי הנמצא בסביבה.

במילים, קוד מחולל המספרים האקראיים עושה זאת:

- מדוד את המתח ממחולל האנטרופיה בסיכה A0. שמור רק על 4 הסיביות הפחות משמעותיות.

- העבר את 4 הסיביות לערך 'זרע', חזור 8 פעמים כדי לקבל זרע נקודה צפה של 32 סיביות.

- שינוי גודל הזרע בין 0 ל -1.

- חשב את הממוצע של זרע זה ו- x, המצב הנוכחי של המפה הלוגיסטית.

- קדם את המפה הלוגיסטית (64) שלבים רבים.

- חלץ ביט יחיד ממצב המפה הלוגיסטית x על ידי בדיקת עשרוני לא משמעותי.

- העבר את החלק הזה לתוצאה הסופית.

- חזור על כל השלבים מעל 20 פעמים.

הערה: בקוד, ה- Serial.println ו- Serial.begin הם מחוץ לתגובות. הסר את ה- // כדי לבדוק את המספרים האקראיים שנוצרו במסך הטורי.

למען ההגינות, לא בדקתי סטטיסטית את איכות המספרים האקראיים (למשל חבילת מבחני NIST) אך נראה שהם תקינים.

שלב 4: להתפעל ממכונת הגודו שלך

תתפעלו ממכונת הגודו שלכם!
תתפעלו ממכונת הגודו שלכם!

תהנה ממכונת Godot שלך ושתף, הגיב ו/או שאל אם משהו לא ברור.

בזמן שאתה מחכה שיימצא מספר גודו, אנא הצביע עבור תחרות ההוראה הזו בתחרות Made With Math! תודה!

תחרות מתמטיקה
תחרות מתמטיקה
תחרות מתמטיקה
תחרות מתמטיקה

סגנית בתחרות Made with Math

מוּמלָץ: