Obsah:

Godotov stroj: 4 kroky (s obrázkami)
Godotov stroj: 4 kroky (s obrázkami)

Video: Godotov stroj: 4 kroky (s obrázkami)

Video: Godotov stroj: 4 kroky (s obrázkami)
Video: CO JSEM NESNÁŠELA JAKO MALÁ 2024, Júl
Anonim
Godotov stroj
Godotov stroj

Čo je to Godotov stroj?

Je súčasťou ľudskej skúsenosti, že sa môžeme ocitnúť v stave čakania na niečo, čo sa môže stať po dlhom čakaní alebo vôbec.

Godot Machine je kus elektro-„umenia“poháňaného slnečnou energiou, ktorý sa pokúša zachytiť zúfalé emócie sprevádzajúce možno nezmyselné čakanie.

Názov pochádza zo slávnej hry Samuela Becketta Čakanie na Godota, v ktorej dvaja muži čakajú na príchod určitého Godota, ktorý môže prísť zajtra, pozajtra alebo nikdy.

Čo teda Godotov stroj robí?

  1. 1. Vzhľadom na slnečné žiarenie obvod Joule Thief začne nabíjať banku kondenzátorov.
  2. 2. Po nabití na približne 5V je Arduino Nano napájané.
  3. 3. Arduino generuje 20-bitové skutočné náhodné číslo, ktoré je zobrazené na 4-bitovej lište LED.
  4. 4. Toto číslo je porovnané s iným náhodným číslom, ktoré nie je všetkým známe, ktoré bolo uložené do systému eeprom pri prvom spustení obvodu.
  5. 5. Ak je čakanie rovnaké, stroj túto skutočnosť uloží do pamäte eeprom a odteraz sa aktivuje zelená dióda LED a piezo pípač (ak je dostatok energie).
  6. 6. Ak nie je rovnaká, dúfajte, zúfajte, opakujte.

… taktiež, raz za čas je generované číslo počuteľné zvukovým signálom, takže v skutočnosti nezabudnete, že máte Godotov stroj.

Vzhľadom na to, že pravdepodobnosť dosiahnutia Godotovho čísla je 1 nad 2^20 alebo asi jeden z milióna, a stroj nie je príliš rýchly, najmä v zime a na jeseň, jeho nájdenie môže trvať roky. Váš stroj Godot sa môže dokonca stať súčasťou vášho dedičstva. Kým čakáte na testovanie ďalšieho čísla, môžete si predstavovať, ako to vaše vzdialené pravnúčatá môžu konečne vidieť, ako sa blíži k svojmu záveru. Stručne povedané: je to ideálny darček pre nadchádzajúcu dovolenkovú sezónu!

Krok 1: Schéma

Schéma
Schéma

Godotov stroj pozostáva z:

-Kombinátor energie Joule Thief (Q1), ktorý nabíja kondenzátory 9x2200uF. Pre tých, ktorí trpia helixafóbiou (iracionálny úzkosť induktorov, zatiaľ čo kondenzátory a rezistory nepredstavujú žiadny taký problém), nebojte sa, pretože nie je potrebné žiadne manuálne vinutie: spojka sa vytvorí umiestnením štandardných koaxiálnych induktorov do vzájomnej blízkosti, ako je znázornené tu 2. obr. Úžasný trik!

-Diskrétny tranzistorový vypínač (Q2, Q3, Q4), ktorý sa zapína na 5V1 približne a vypína na približne 3,0V. Možno budete chcieť R2-R4 trochu naladiť, ak používate rôzne typy tranzistorov (na všeobecné účely).

-Generátor entropie (Q6, Q7, Q8). Tento obvod zosilňuje elektronický šum prítomný v prostredí od mikrovoltov po úrovne voltov. Tento signál sa potom vzorkuje, aby sa naočkoval generátor náhodných čísel založený na chaose (čítaný ďalej). Kus gitarovej struny funguje ako anténa.

-LED dióda so 4 LED diódami alebo 4 červenými samostatnými LED diódami, piezo pípačom a zelenou LED diódou.

Všimnite si toho, že výstup vypínača (kolektora Q4) je pripojený k 5V pinu Arduino Nano, NIE ku kolíku VIN!

Krok 2: Zostavenie stroja Godot

Stavba Godotovho stroja
Stavba Godotovho stroja
Stavba Godotovho stroja
Stavba Godotovho stroja
Stavba Godotovho stroja
Stavba Godotovho stroja

Obvod som postavil na kúsku perfboardu. Nič zvláštne tam. Solárny panel 2V/200mA je zvyškom z iného projektu. Značka je Velleman. Je ľahké ho vypáčiť ostrým nožom, vyvŕtať otvory pre skrutky atď. Doska a solárny panel sú priskrutkované na dva kusy preglejky, ako je znázornené na obrázku. Ide o to, že solárny panel môže byť umiestnený na slnku na okne.

Krok 3: Kód: náhodné čísla z chaosu?

Kód: náhodné čísla z chaosu?
Kód: náhodné čísla z chaosu?
Kód: náhodné čísla z chaosu?
Kód: náhodné čísla z chaosu?
Kód: náhodné čísla z chaosu?
Kód: náhodné čísla z chaosu?

Ako sa robia náhodné čísla? Sú vyrobené s matematikou!

Namiesto toho, aby som používal funkciu generátora náhodných čísel Arduino random (), rozhodol som sa napísať len zo zábavy vlastný generátor náhodných čísel (RNG).

Vychádza z logistickej mapy, ktorá je najjednoduchším príkladom deterministického chaosu. Funguje to takto:

Predpokladajme, že x je skutočná hodnota medzi 0 a 1, potom vypočítajte: x*r*(1-x), kde r = 3,9. Výsledkom je vaše ďalšie „x“. Opakujte do nekonečna. Získate tak sériu čísel od 0 do 1, ako na prvom obrázku, kde sa tento proces spustí pre počiatočnú hodnotu x = 0,1 (červená) a tiež x = 0,1001 (modrá).

Teraz je tu skvelá časť: bez ohľadu na to, ako blízko si vyberiete dve rôzne počiatočné podmienky, ak nie sú úplne rovnaké, výsledná séria čísel sa nakoniec bude líšiť. Toto sa nazýva „citlivá závislosť od počiatočných podmienok“.

Matematicky je rovnica mapy x*r*(1-x) parabola. Ako je znázornené na druhom obrázku, radu x môžete graficky určiť pomocou takzvanej konštrukcie pavučiny: začnite od x na horizontálnej osi, nájdite hodnotu funkcie na osi y a potom sa odrazte proti priamke na 45. mieste. stupňový uhol prechádzajúci pôvodom. Opakujte. Ako je znázornené na červenej a modrej sérii, aj keď sú spočiatku blízke, približne po 30 iteráciách sa úplne rozchádzajú.

Teraz, odkiaľ pochádza číslo „r = 3,9“? Ukazuje sa, že pre nízke hodnoty r dostaneme iba dve striedajúce sa hodnoty x. Zvýšenie parametra r potom v určitom bode prejde na osciláciu medzi 4, 8, 16 hodnotami atď. Tieto vetvy alebo bifurkácie prichádzajú stále rýchlejšie so zvyšovaním r, v takzvanom „období zdvojnásobenia chaosu“. Graf s r na vodorovnej osi a veľa x-iterácií prekrývajúcich sa zvisle bude mať za následok takzvaný bifurkačný diagram (3. obrázok). Pri r = 3,9 je mapa úplne chaotická.

Ak teda vypočítame veľa aktualizácií x a vezmeme z nich vzorky, dostaneme náhodné číslo? No nie, v tomto mieste by to bol generátor pseudonáhodných čísel (PRNG), pretože keby sme vždy vychádzali z rovnakej počiatočnej hodnoty (po vyjdení z resetu), vždy by sme dostali rovnakú sekvenciu; aka deterministický chaos. Tu prichádza generátor entropie, ktorý naočkuje logistickú mapu číslom vytvoreným z elektrického šumu nachádzajúceho sa v životnom prostredí.

Slovami, kód generátora náhodných čísel to robí:

- Zmerajte napätie z generátora entropie na pine A0. Ponechajte si iba 4 najmenej významné bity.

- Posuňte tieto 4 bity na hodnotu „seed“, opakujte 8-krát, aby ste získali 32-bitové seed s pohyblivou rádovou čiarkou.

- Znovu upravte veľkosť osiva v rozsahu 0 až 1.

- Vypočítajte priemer tohto osiva a x, aktuálny stav logistickej mapy.

- Posuňte logistickú mapu o mnoho (64) krokov.

- Extrahujte jeden bit zo stavu logistickej mapy x zaškrtnutím nejakého nevýznamného desatinného miesta.

- Posuňte ten bit do konečného výsledku.

- Všetky kroky zopakujte vyššie ako 20 -krát.

Poznámka: V kóde sú Serial.println a Serial.begin doplnené. Odstráňte // a skontrolujte generované náhodné čísla na sériovom monitore.

Aby som bol spravodlivý, kvalitu náhodných čísel (napr. Testovacia sada NIST) som štatisticky nekontroloval, ale zdá sa, že sú v poriadku.

Krok 4: Obdivujte svoj stroj Godot

Žasnite nad svojim strojom Godot!
Žasnite nad svojim strojom Godot!

Užite si svoj stroj Godot a v prípade nejasností zdieľajte, komentujte a/alebo sa pýtajte.

Kým čakáte na nájdenie čísla Godota, hlasujte za tento pokyn v súťaži Made With Math! Vďaka!

Vyrobené s matematickou súťažou
Vyrobené s matematickou súťažou
Vyrobené s matematickou súťažou
Vyrobené s matematickou súťažou

Druhé miesto v súťaži Made with Math

Odporúča: