Mündəricat:

Godot Maşını: 4 addım (şəkillərlə)
Godot Maşını: 4 addım (şəkillərlə)

Video: Godot Maşını: 4 addım (şəkillərlə)

Video: Godot Maşını: 4 addım (şəkillərlə)
Video: DUFU TAHIR BIYABIRCILIQ 😱😱 2024, Iyul
Anonim
Godot Maşını
Godot Maşını

Godot Maşın nədir?

İnsan təcrübəsinin bir hissəsidir ki, uzun müddət gözlədikdən sonra baş verə biləcək bir şeyi gözləyə bilərik.

Godot Maşın, bəlkə də mənasız gözləməni müşayiət edən ümidsiz duyğuları ələ keçirməyə çalışan günəş enerjisi ilə işləyən bir elektro "sənət" parçasıdır.

Adı, Samuel Beckett'in, Godot'u Gözləyən məşhur oyunundan, iki kişinin sabah, bir gün sonra və ya heç vaxt gələ biləcək müəyyən bir Godotun gəlişini gözlədiyi.

Godot Maşını nə edir?

  1. 1. Bir az günəş işığı aldıqda, Joule Thief dövrə bir kondansatör bankını doldurmağa başlayır.
  2. 2. Təxminən 5V -ə qədər şarj edildikdə, Arduino Nano gücə malikdir.
  3. 3. Arduino 4 bitlik LED çubuğunda göstərilən 20 bitlik həqiqi təsadüfi ədəd yaradır.
  4. 4. Bu nömrə, dövrə ilk açıldıqda eepromda saxlanılan, hamıya məlum olmayan başqa bir təsadüfi ədədlə müqayisə edilir.
  5. 5. Əgər bərabərdirsə, gözləmə bitdi, maşın bu faktı eepromda saxlayır və bundan sonra yaşıl LED və piezo səs siqnalı işə düşür (kifayət qədər enerji varsa).
  6. 6. Bərabər deyilsə, ümid, ümidsizlik, təkrarlayın.

… Birdəfəlik, yaradılan nömrə səs siqnalı ilə eşidilir, buna görə də bir Godot Maşınınız olduğunu əsla unutmursunuz.

Godot nömrəsinə vurma ehtimalının 2^20 üzərində 1 və ya milyonda təxminən 1 olduğunu və maşının xüsusilə qış və payızda çox sürətli olmadığını nəzərə alsaq, onu tapmaq üçün illər lazım ola bilər. Godot Maşınınız mirasınızın bir hissəsi ola bilər. Növbəti nömrənin sınanmasını gözləyərkən, uzaqdakı böyük nəvələrinizin nəhayət nəticəyə gəldiyini necə görə biləcəyini xəyal edə bilərsiniz. Bir sözlə: qarşıdan gələn tətil mövsümü üçün ideal hədiyyədir!

Addım 1: Şematik

Şematik
Şematik

Godot Maşın aşağıdakılardan ibarətdir:

-9x2200uF kondansatörləri dolduran Joule Thief enerji yığımı (Q1). Heliksafobiya (induktorların ağılsız bir narahatlığı, kondansatörlər və rezistorlar isə belə bir problem yaratmasa da) əziyyət çəkənlər üçün heç bir əl sarımına ehtiyac olmadığından qorxmayın: birləşmə burada göstərildiyi kimi standart koaksial induktorları bir -birinin yaxınlığında yerləşdirməklə yaradılır. 2 -ci şəkil. Möhtəşəm hiylə!

-5V1 -də 3.0V ətrafında açılan və sönən diskret tranzistorlu güc açarı (Q2, Q3, Q4). Fərqli (ümumi təyinatlı) tranzistor növlərindən istifadə edirsinizsə, R2-R4-ü bir az tənzimləmək istəyə bilərsiniz.

-Bir entropiya generatoru (Q6, Q7, Q8). Bu dövrə ətraf mühitdə mövcud olan elektron səs -küyü mikrovoltdan volt səviyyəsinə qədər gücləndirir. Bu siqnal daha sonra xaosa əsaslanan (oxuyun) təsadüfi ədəd generatoru yaratmaq üçün nümunə götürülür. Bir parça gitara simli anten rolunu oynayır.

-4 LED və ya 4 qırmızı ayrı LED, piezo səs siqnalı və yaşıl LED olan LED-bar.

Unutmayın ki, güc açarının çıxışı (Q4 kollektoru) VIN pininə deyil, Arduino Nanonun 5V pininə bağlıdır!

Addım 2: Godot Maşınının Hazırlanması

Godot Maşınının Hazırlanması
Godot Maşınının Hazırlanması
Godot Maşınının Hazırlanması
Godot Maşınının Hazırlanması
Godot Maşınının Hazırlanması
Godot Maşınının Hazırlanması

Dövrəni bir taxta parçası üzərində qurdum. Orada xüsusi bir şey yoxdur. 2V/200mA günəş paneli başqa bir layihənin qalıqlarıdır. Marka Velleman. Kəskin bir bıçaqla açmaq, vintlər və s. Üçün deliklər açmaq asandır. Şəkildə göstərildiyi kimi, dövrə lövhəsi və günəş paneli iki ədəd kontrplaka vidalanmışdır. Fikir budur ki, günəş paneli hələ də pəncərədə günəşə doğru yerləşdirilə bilər.

Addım 3: Kod: Xaosdan təsadüfi ədədlər?

Kod: Xaosdan təsadüfi ədədlər?
Kod: Xaosdan təsadüfi ədədlər?
Kod: Xaosdan təsadüfi ədədlər?
Kod: Xaosdan təsadüfi ədədlər?
Kod: Xaosdan təsadüfi ədədlər?
Kod: Xaosdan təsadüfi ədədlər?

Təsadüfi ədədlər necə qurulur? Yaxşı, onlar Riyaziyyatla yaradılmışdır!

Arduino təsadüfi ədəd generatoru funksiyasından istifadə etmək əvəzinə random (), yalnız əylənmək üçün öz Random Number Generator (RNG) yazmağa qərar verdim.

Deterministik xaosun ən sadə nümunəsi olan logistik xəritəyə əsaslanır. İşdə necə işləyir:

Fərz edək ki, x 0 ilə 1 arasındakı bəzi real dəyərdir, sonra hesablayın: x*r*(1-x), burada r = 3.9. Nəticə növbəti 'x' işarənizdir. Sonsuz olaraq təkrarlayın. Bu, x = 0.1 (qırmızı) və eyni zamanda x = 0.1001 (mavi) üçün bu prosesin başladığı ilk şəkildəki kimi 0 ilə 1 arasında bir sıra ədədlər verəcəkdir.

İşin maraqlı tərəfi budur: iki fərqli başlanğıc şərti nə qədər yaxın seçsən də, tam bərabər deyilsə, ortaya çıxan ədədlər silsiləsi sonda ayrılacaq. Buna 'ilkin şərtlərdən həssas asılılıq' deyilir.

Riyazi olaraq x*r*(1-x) xəritə tənliyi paraboladır. 2-ci şəkildə göstərildiyi kimi, bir hörümçək toru quruluşu olaraq bilinən şeyi istifadə edərək x seriyasını qrafik olaraq təyin edə bilərsiniz: üfüqi oxda x-dən başlayın, y-oxunda funksiya dəyərini tapın, sonra 45-də düz bir xəttə əks etdirin. mənşəyi keçən dərəcə bucağı. Təkrarlamaq. Qırmızı və mavi seriyalarda göstərildiyi kimi, əvvəlcə yaxın olsalar da, təxminən 30 təkrarlamadan sonra tamamilə ayrılırlar.

İndi 'r = 3.9' sayı haradan gəlir? Məlum olur ki, aşağı r dəyərləri üçün yalnız iki dəyişən x-dəyəri alırıq. R-parametresinin artırılması, bir nöqtədə 4, 8, 16 dəyərləri arasında dəyişməyə səbəb olacaq. Bu dallanma və ya ayrılma, 'artan xaosa gedən dövr' olaraq adlandırılan, artdıqca daha da sürətlə gəlir. Şaquli olaraq üst-üstə düşən üfüqi oxda r və bir çox x-iteratları olan bir sahə (3-cü şəkil) ilə nəticələnəcək. R = 3.9 üçün xəritə tamamilə xaotikdir.

Beləliklə, bir çox x yeniləməsini və onlardan nümunə götürsək, təsadüfi bir rəqəm alırıq? Xeyr, bu nöqtədə yalançı təsadüfi ədədlər generatoru (PRNG) olardı, çünki həmişə eyni başlanğıc dəyərdən başlaysaq (sıfırdan çıxdıqdan sonra) həmişə eyni ardıcıllığı əldə edərdik; aka deterministik xaos. Ətrafdakı elektrik səs-küyündən yaranan bir sıra logistik xəritəni əkən entropiya generatorunun gəldiyi yer budur.

Başqa sözlə, təsadüfi ədəd istehsalçı kodu bunu edir:

- A0 pinindəki entropiya generatorundan gələn gərginliyi ölçün. Yalnız ən az 4 biti saxlayın.

- Bu 4 biti 'toxum' dəyərinə köçürün, 32 bit üzən nöqtə toxum əldə etmək üçün 8 dəfə təkrarlayın.

- Toxumu 0 ilə 1 arasında yenidən ölçün.

- Bu toxumun orta hesablanması və x, logistik xəritənin hazırkı vəziyyəti.

- Logistik xəritəni bir çox (64) addım irəli aparın.

- Bəzi əhəmiyyətsiz onluqları yoxlayaraq logistika xəritəsinin vəziyyətindən bir bit çıxarın.

- Bu nəticəni son nəticəyə çevirin.

- Yuxarıdakı bütün addımları 20 dəfə təkrarlayın.

Qeyd: Kodda Serial.println və Serial.begin göstərilir. Serial monitorda yaradılan təsadüfi ədədləri yoxlamaq üçün // silin.

Düzünü desəm, təsadüfi ədədlərin (məsələn, NIST test paketi) keyfiyyətini statistik olaraq yoxlamamışam, amma yaxşı görünür.

Addım 4: Godot Maşınınıza heyran olun

Godot Maşınınıza heyran olun!
Godot Maşınınıza heyran olun!

Godot Maşınınızdan zövq alın və zəhmət olmasa paylaşın, şərh edin və/və ya aydın olmayan bir şey soruşun.

Godot nömrəsinin tapılmasını gözləyərkən, zəhmət olmasa "Made With Math in Riyaziyyat" müsabiqəsinə səs verin! Təşəkkürlər!

Riyaziyyat Yarışması ilə hazırlanmışdır
Riyaziyyat Yarışması ilə hazırlanmışdır
Riyaziyyat Yarışması ilə hazırlanmışdır
Riyaziyyat Yarışması ilə hazırlanmışdır

"Made with Riyaziyyat" müsabiqəsində ikinci yer

Tövsiyə: