Kazalo:

Stroj Godot: 4 koraki (s slikami)
Stroj Godot: 4 koraki (s slikami)

Video: Stroj Godot: 4 koraki (s slikami)

Video: Stroj Godot: 4 koraki (s slikami)
Video: НОВЫЙ ФИЛЬМ НА РЕАЛЬНЫХ СОБЫТИЯХ! НОВИНКА! "Кочевница" ВСЕ СЕРИИ ПОДРЯД 2024, December
Anonim
Godotov stroj
Godotov stroj

Kaj je Godotov stroj?

Del človeške izkušnje je, da se lahko znajdemo v stanju čakanja na nekaj, kar bi se sčasoma lahko zgodilo po dolgem času čakanja ali pa sploh ne.

Stroj Godot je kos elektro-umetnine na sončni pogon, ki poskuša ujeti obupna čustva, ki spremljajo morda nesmiselno čakanje.

Ime izvira iz slavne drame Samuela Becketta Waiting for Godot, v kateri dva moška čakata na prihod nekega Godota, ki bi lahko prišel jutri, pojutrišnji ali nikoli.

Kaj torej počne Godot Machine?

  1. 1. Glede na nekaj sonca začne vezje Joule Thief polniti kondenzatorje.
  2. 2. Ko je Arduino Nano napolnjen na približno 5V, se napaja.
  3. 3. Arduino ustvari 20-bitno resnično naključno število, ki je prikazano na 4-bitni LED vrstici.
  4. 4. To številko primerjamo z drugo neznano naključno številko, ki je bila shranjena v eepromu ob prvem zagonu vezja.
  5. 5. Če je enako, je čakanje konec, stroj shrani to dejstvo v eeprom in od zdaj naprej se aktivirata zelena LED in piezo pisk (če je dovolj energije).
  6. 6. Če ni enako, upajte, obupajte, ponovite.

… občasno tudi piskalec zasliši ustvarjeno številko, tako da pravzaprav ne pozabite, da imate stroj Godot.

Glede na to, da je verjetnost, da bo zadela Godotovo število 1 nad 2^20 ali približno ena na milijon, stroj pa ni zelo hiter, zlasti pozimi in jeseni, bi lahko trajalo leta, da bi ga našli. Vaš Godot stroj bi lahko celo postal del vaše dediščine. Med čakanjem, da preizkusi naslednjo številko, si lahko zamislite, kako bodo vaši daljni pravnuki končno ugotovili, da se je končala. Skratka: idealno darilo za prihajajoče praznike!

1. korak: Shema

Shema
Shema

Stroj Godot je sestavljen iz:

-Kombajn energije Joule Thief (Q1), ki polni kondenzatorje 9x2200uF. Za tiste, ki trpijo za heliksafobijo (neracionalna napetost induktorjev, medtem ko kondenzatorji in upori ne predstavljajo takšnih težav), se ne bojite, ker ni potrebno ročno navijanje: sklopka nastane z namestitvijo standardnih koaksialnih induktorjev v bližino drug drugega, kot je prikazano tukaj v 2. slika Odličen trik!

-Diskretno stikalo za vklop tranzistorja (Q2, Q3, Q4), ki se vklopi pri 5V1 približno in izklopi pri približno 3.0V. Če uporabljate različne (splošne namene) vrste tranzistorjev, boste morda želeli nekoliko nastaviti R2-R4.

-Entropijski generator (Q6, Q7, Q8). To vezje poveča elektronski hrup v okolju od mikrovoltov do voltov. Ta signal se nato vzorči za seme generatorja naključnih števil, ki temelji na kaosu (beri dalje). Konec kitarske žice deluje kot antena.

-LED-palica s 4 LED ali 4 rdečimi ločenimi LED diodami, piezo piskom in zeleno LED.

Upoštevajte, da je izhod stikala za vklop (zbiralnik Q4) priključen na 5V pin Arduino Nano, NE na pin VIN!

2. korak: Izdelava Godotovega stroja

Izdelava Godotovega stroja
Izdelava Godotovega stroja
Izdelava Godotovega stroja
Izdelava Godotovega stroja
Izdelava Godotovega stroja
Izdelava Godotovega stroja

Zgradil sem vezje na kosu perfboard -a. Tam ni nič posebnega. Sončna plošča 2V/200mA je ostanek drugega projekta. Blagovna znamka je Velleman. Odprete ga lahko z ostrim nožem, izvrtate luknje za vijake itd. Okrogla plošča in sončna plošča sta priviti na dva kosa vezanega lesa, kot je prikazano na sliki. Ideja je, da se sončna celica lahko postavi proti soncu na oknu.

3. korak: Koda: naključna števila iz kaosa?

Koda: Naključna števila iz kaosa?
Koda: Naključna števila iz kaosa?
Koda: Naključna števila iz kaosa?
Koda: Naključna števila iz kaosa?
Koda: Naključna števila iz kaosa?
Koda: Naključna števila iz kaosa?

Kako nastanejo naključne številke? No, narejeni so z matematiko!

Namesto da bi uporabil funkcijo generatorja naključnih števil Arduino random (), sem se za zabavo odločil napisati svoj generator naključnih števil (RNG).

Temelji na logističnem zemljevidu, ki je najpreprostejši primer determinističnega kaosa. Tako deluje:

Recimo, da je x dejanska vrednost med 0 in 1, nato izračunajte: x*r*(1-x), kjer je r = 3,9. Rezultat je vaš naslednji "x". Ponovite ad infinitum. Tako boste dobili niz številk med 0 in 1, kot na prvi sliki, kjer se ta postopek zažene za začetno vrednost x = 0,1 (rdeča) in tudi x = 0,1001 (modra).

Zdaj je kul del: ne glede na to, kako blizu izberete dva različna začetna pogoja, če nista ravno enaka, se bo nastala vrsta številk sčasoma razšla. To se imenuje „občutljiva odvisnost od začetnih pogojev“.

Matematično je zemljevidna enačba x*r*(1-x) parabola. Kot je prikazano na drugi sliki, lahko niz x grafično določite z uporabo tako imenovane pajčevine: začnite od x na vodoravni osi, poiščite vrednost funkcije na osi y in nato odsevajte proti ravni črti pri 45 stopinjski kot skozi izvor. Ponovi. Kot je prikazano za rdečo in modro serijo, čeprav se na začetku zapreta, se po približno 30 ponovitvah popolnoma razideta.

Od kod prihaja številka 'r = 3,9'? Izkazalo se je, da za nizke vrednosti r dobimo le dve izmenično x-vrednosti. Povečanje parametra r bo nato v nekem trenutku preklopilo v nihanje med vrednostmi 4, 8, 16 itd. Te veje ali razcepitve prihajajo vedno hitreje, ko se r povečuje, kar imenujemo "pot podvojitve obdobja v kaos". Plošča z r na vodoravni osi in številnimi x-iteracijami, ki se navpično prekrivajo, bo povzročila tisto, kar je znano kot bifurkacijska ploskev (3. slika). Za r = 3,9 je zemljevid popolnoma kaotičen.

Če torej izračunamo veliko posodobitev x in iz njih vzorčimo, dobimo naključno število? No ne, na tej točki bi to bil generator psevdo naključnih števil (PRNG), saj če bi vedno izhajali iz iste začetne vrednosti (po izhodu iz ponastavitve), bi dobili vedno isto zaporedje; tudi deterministični kaos. Tu prihaja generator entropije, ki zasadi logistični zemljevid s številko, ustvarjeno iz električnega hrupa v okolju.

Z besedami koda generatorja naključnih števil naredi to:

- Izmerite napetost iz generatorja entropije na zatiču A0. Hranite le 4 najmanj pomembne koščke.

- Prestavite te 4 bite v vrednost "začetnika", ponovite 8-krat, da dobite 32-bitno seme s plavajočo vejico.

- Ponovno spremenite velikost semena med 0 in 1.

- Izračunajte povprečje tega semena in x, trenutno stanje logistične karte.

- Napredovanje logističnega zemljevida v več (64) korakih.

- Iz stanja logističnega zemljevida x izvlecite en bit s preverjanjem nekaj nepomembnega decimalnega mesta.

- Prestavite ta del v končni rezultat.

- Vse korake ponovite zgoraj 20 -krat.

Opomba: V kodi sta Serial.println in Serial.begin presežena. Odstranite //, da preverite generirane naključne številke na serijskem monitorju.

Po pravici povedano, nisem statistično preveril kakovosti naključnih števil (npr. Testni paket NIST), vendar se zdi, da so v redu.

4. korak: čudite se svojemu stroju Godot

Čudite se svojemu stroju Godot!
Čudite se svojemu stroju Godot!

Uživajte v svojem Godot Machine -ju in delite, komentirajte in/ali vprašajte, če je kaj nejasnega.

Medtem ko čakate, da bo Godotova številka najdena, vas prosimo, da v natečaju Made With Math glasujete za ta Instructable! Hvala!

Narejeno z matematičnim tekmovanjem
Narejeno z matematičnim tekmovanjem
Narejeno z matematičnim tekmovanjem
Narejeno z matematičnim tekmovanjem

Drugo mesto na tekmovanju Made with Math

Priporočena: