Sisukord:

Godot -masin: 4 sammu (piltidega)
Godot -masin: 4 sammu (piltidega)

Video: Godot -masin: 4 sammu (piltidega)

Video: Godot -masin: 4 sammu (piltidega)
Video: PlayStation 4 Pro VS Спортивный велосипед за ОЦЕНКИ в ШКОЛЕ за год 🤔? 2024, November
Anonim
Godot masin
Godot masin

Mis on Godoti masin?

See on osa inimkogemusest, et me võime end oodata olukorrast, kus me ootame midagi, mis võib lõpuks juhtuda pärast pikka ootamist või üldse mitte.

Godot-masin on päikeseenergial töötav elektro- "kunst", mis püüab tabada meeleheitlikku emotsiooni, mis kaasneb võimaliku mõttetu ootamisega.

Nimi pärineb Samuel Becketti kuulsast näidendist „Oodates Godot“, kus kaks meest ootavad teatud Godoti tulekut, kes võivad saabuda homme, ülehomme või mitte kunagi.

Mida teeb Godot -masin?

  1. 1. Võttes arvesse päikesepaistet, hakkab Joule Thiffi vooluring kondensaatoripanka laadima.
  2. 2. Kui Arduino Nano on laetud umbes 5 V pingele, saab see toite.
  3. 3. Arduino genereerib 20-bitise tõelise juhusliku arvu, mis kuvatakse 4-bitisel LED-ribal.
  4. 4. Seda numbrit võrreldakse mõne teise, kõigile tundmatu juhusliku numbriga, mis salvestati eepromi vooluringi esmakordsel käivitamisel.
  5. 5. Kui võrdne, on ootamine lõppenud, masin salvestab selle fakti eepromi ning nüüdsest aktiveerub roheline LED ja piesopiiks (kui energiat on piisavalt).
  6. 6. Kui pole võrdne, siis looda, meeleheide, korda.

… Samuti teeb aeg -ajalt piiksuja kuuldavaks genereeritud numbri, nii et te ei unusta tegelikult, et teil on Godot -masin.

Arvestades, et Godoti numbri tabamise tõenäosus on 1 üle 2^20 või umbes üks miljonist ning masin pole eriti kiire, eriti talvel ja sügisel, võib selle leidmine võtta aastaid. Teie Godot -masinast võib isegi saada osa teie pärandist. Oodates järgmise numbri testimist, võite fantaseerida, kuidas teie kauged lapselapselapsed lõpuks näevad, et see jõuab lõpuni. Lühidalt: see on ideaalne kingitus eelseisvaks pühadeks!

Samm: skeem

Skeem
Skeem

Godot -masin koosneb:

-Joule Thiffi energiakombain (Q1), mis laeb 9x2200uF kondensaatoreid. Neile, kes kannatavad heeliksofoobia all (induktiivpoolide irratsionaalne ärevus, samas kui kondensaatorid ja takistid sellist probleemi ei tekita), ärge kartke, kuna käsitsi mähist pole vaja teha: sidur luuakse, paigutades üksteise lähedusse standardsed koaksiaalinduktorid, nagu siin näidatud 2. pilt. Vapustav trikk!

-Diskreetne transistori toitelüliti (Q2, Q3, Q4), mis lülitub sisse 5V1 juures ja välja umbes 3,0V juures. Kui kasutate erinevaid (üldotstarbelisi) transistoritüüpe, võiksite natuke häälestada R2-R4.

-Entroopia generaator (Q6, Q7, Q8). See vooluahel võimendab keskkonnas esinevat elektroonilist müra mikrovoltidest volti tasemeni. Seejärel võetakse sellest signaalist proov, et külvata kaosel põhinev (loe edasi) juhuslike numbrite generaator. Tükk kitarrikeelt toimib antennina.

-LED-riba, millel on 4 LED-i või 4 punast eraldi LED-i, piesopiiks ja roheline LED.

Pange tähele, et toitelüliti (Q4 kollektor) väljund on ühendatud Arduino Nano 5 V kontaktiga, MITTE VIN kontaktiga!

2. samm: Godoti masina ehitamine

Godoti masina ehitamine
Godoti masina ehitamine
Godoti masina ehitamine
Godoti masina ehitamine
Godoti masina ehitamine
Godoti masina ehitamine

Ma ehitasin vooluringi parfüüritükile. Ei midagi erilist seal. 2V/200mA päikesepaneel on teise projekti jääk. Kaubamärk on Velleman. Seda on lihtne terava noaga avada, kruvide jaoks auke puurida jne. Trükkplaat ja päikesepaneel on kruvitud kahe vineeritüki külge, nagu pildil näidatud. Idee on selles, et päikesepaneeli saab paigutada päikese poole aknale.

3. samm: kood: juhuslikud numbrid kaosest?

Kood: juhuslikud numbrid kaosest?
Kood: juhuslikud numbrid kaosest?
Kood: juhuslikud numbrid kaosest?
Kood: juhuslikud numbrid kaosest?
Kood: juhuslikud numbrid kaosest?
Kood: juhuslikud numbrid kaosest?

Kuidas juhuslikke numbreid tehakse? Noh, need on tehtud matemaatikaga!

Arduino juhuslike numbrite generaatori funktsiooni random () asemel otsustasin lõbu pärast kirjutada oma juhuslike numbrite generaatori (RNG).

See põhineb logistilisel kaardil, mis on deterministliku kaose lihtsaim näide. See toimib järgmiselt.

Oletame, et x on mingi tegelik väärtus vahemikus 0 kuni 1, seejärel arvutage: x*r*(1-x), kus r = 3,9. Tulemuseks on teie järgmine „x”. Korda lõpmatuseni. See annab teile numbriseeria vahemikus 0 kuni 1, nagu esimesel pildil, kus seda protsessi alustatakse algväärtuse x = 0,1 (punane) ja ka x = 0,001 (sinine) puhul.

Siin on nüüd lahe osa: olenemata sellest, kui lähedalt valite kaks erinevat algtingimust, kui need pole täpselt võrdsed, lahknevad saadud numbriseeriad lõpuks. Seda nimetatakse tundlikuks sõltuvuseks algtingimustest.

Matemaatiliselt on kaardi võrrand x*r*(1-x) parabool. Nagu on näidatud teisel joonisel, saate x-seeria graafiliselt määrata ämblikuvõrgu ehituse abil: alustage horisontaalteljel asuvast x-st, leidke funktsiooni väärtus y-teljel ja seejärel peegeldage sirgjoonel 45 kraadi nurk, mis läbib lähtepunkti. Korda. Nagu on näidatud punase ja sinise seeria puhul, erinevad need isegi pärast esialgset sulgemist umbes 30 korduse järel täielikult.

Kust tuleb nüüd arv "r = 3,9"? Selgub, et r madalate väärtuste korral saame ainult kaks vahelduvat x-väärtust. R-parameetri suurendamine lülitub mingil hetkel võnkumisele vahemikus 4, 8, 16 jne. Need hargnemised või hargnemised tekivad üha kiiremini, kui r suureneb, mida nimetatakse „perioodi kahekordistumise teeks kaosesse”. Graafik, mille horisontaalteljel on r ja palju x-iteraate kattub vertikaalselt, annab tulemuseks bifurkatsioonigraafiku (3. joonis). Kui r = 3,9, on kaart täiesti kaootiline.

Nii et kui arvutada palju x-uuendusi ja võtta neist proov, saame juhusliku arvu? No ei, siinkohal oleks tegemist pseudojuhuslike arvude generaatoriga (PRNG), sest kui me alustame alati samast algväärtusest (pärast lähtestamist), saame alati sama jada; ehk deterministlik kaos. Siit tuleb sisse entroopiageneraator, mis külvab logistilise kaardi koos keskkonnaga leitud elektrimürast loodud numbriga.

Sõnadega teeb juhuslike numbrite generaatori kood järgmist:

- Mõõda pinge entroopiageneraatorilt tihvtil A0. Hoidke alles 4 kõige vähem olulist bitti.

- Muutke need 4 bitti seemne väärtuseks, korrake 8 korda, et saada 32-bitine ujukoma seeme.

- Muutke seemne skaalat vahemikus 0 kuni 1.

- Arvutage selle seemne keskmine ja x, logistilise kaardi hetkeseis.

- Logistikakaardi edendamine paljudes (64) etapis.

- Võtke logistilise kaardi olekust x üks bit välja, kontrollides mõnda ebaolulist kümnendkohta.

- Nihutage see osa lõpptulemusse.

- Korrake kõiki ülaltoodud samme 20 korda.

Märkus. Koodis on Serial.println ja Serial.begin paremad. Eemaldage //, et kontrollida jadamonitoril loodud juhuslikke numbreid.

Ausalt öeldes ei ole ma statistiliselt kontrollinud juhuslike numbrite kvaliteeti (nt NIST test suite), kuid need tunduvad korras olevat.

Samm: imetlege oma Godot -masinat

Imetlege oma Godot -masinat!
Imetlege oma Godot -masinat!

Nautige oma Godot -masinat ja palun jagage, kommenteerige ja/või küsige, kui midagi on ebaselge.

Kui ootate Godoti numbri leidmist, siis palun hääletage selle juhendiga Made With Math võistlusel! Tänan!

Valmistatud matemaatikavõistlusega
Valmistatud matemaatikavõistlusega
Valmistatud matemaatikavõistlusega
Valmistatud matemaatikavõistlusega

Matemaatikavõistluse teine koht

Soovitan: