Sadržaj:

Godot mašina: 4 koraka (sa slikama)
Godot mašina: 4 koraka (sa slikama)

Video: Godot mašina: 4 koraka (sa slikama)

Video: Godot mašina: 4 koraka (sa slikama)
Video: ЛЮБОВЬ К "ЗЭКУ" РОКОВАЯ ОШИБКА ИЛИ ВЕРНАЯ ЛЮБОВЬ? РУССКАЯ МЕЛОДРАМА. Тайна Марии 2024, Novembar
Anonim
Godotova mašina
Godotova mašina

Šta je Godotova mašina?

Dio je ljudskog iskustva da se možemo naći u stanju čekanja na nešto što bi se na kraju moglo dogoditi nakon dugog čekanja, ili uopće ne.

Godot Machine je solarno napajano djelo "umjetnosti" koje pokušava uhvatiti očajničke emocije koje prate vjerovatno besmisleno čekanje.

Naziv je iz poznate drame Samuela Becketta Čekajući Godoa, u kojoj dva čovjeka čekaju dolazak izvjesnog Godoa, koji bi mogao stići sutra, prekosutra ili nikad.

Šta radi Godot Machine?

  1. 1. S obzirom na malo sunca, krug Joule Thief -a počinje puniti kondenzator.
  2. 2. Jednom napunjen na približno 5V, Arduino Nano se napaja.
  3. 3. Arduino generira 20-bitni pravi slučajni broj, koji je prikazan na 4-bitnoj LED traci.
  4. 4. Ovaj se broj uspoređuje s drugim, nepoznatim svima slučajnim brojem, koji je pohranjen u eepromu pri prvom pokretanju kruga.
  5. 5. Ako je jednako, čekanju je kraj, stroj pohranjuje tu činjenicu u eeprom i od sada će se aktivirati zelena LED i piezo biper (ako ima dovoljno energije).
  6. 6. Ako nije jednako, nadaj se, očajavaj, ponovi.

… također, s vremena na vrijeme generirani broj se čuje zvučnim signalom, tako da zapravo ne zaboravljate da imate Godot Machine.

S obzirom na to da je vjerojatnost da će pogoditi Godotov broj 1 preko 2^20 ili otprilike jedan u milijun, a stroj nije jako brz, posebno zimi i jeseni, moglo bi proći godine da se to pronađe. Vaša Godot mašina mogla bi čak postati dio vašeg nasljedstva. Dok čekate da testira sljedeći broj, možete maštati o tome kako će vaši daleki praunuci napokon vidjeti da je došao do kraja. Ukratko: to je idealan poklon za predstojeće praznike!

Korak 1: Shema

Shema
Shema

Godot mašina se sastoji od:

-Kombajn energije Joule Thief (Q1) koji puni kondenzatore 9x2200uF. Za one koji pate od heliksafobije (iracionalne napetosti induktora, dok kondenzatori i otpornici ne predstavljaju takav problem), ne bojte se jer nije potrebno ručno namotavanje: spojnica se stvara postavljanjem standardnih koaksijalnih induktora u međusobnu blizinu, kao što je prikazano ovdje u 2nd pic. Odličan trik!

-Diskretni prekidač za napajanje tranzistora (Q2, Q3, Q4), koji se uključuje pri 5V1 oko i isključuje na oko 3.0V. Možda ćete htjeti malo podesiti R2-R4 ako koristite različite tipove tranzistora (opće namjene).

-Generator entropije (Q6, Q7, Q8). Ovo kolo pojačava elektronsku buku prisutnu u okolini od mikrovolti do nivoa volti. Taj signal se zatim uzorkuje kako bi se pokrenuo generator nasumičnih brojeva zasnovan na (kao na čitanju). Komad gitarske žice djeluje kao antena.

-LED-traka sa 4 LED ili 4 odvojene crvene LED diode, piezo zvučnim signalom i zelenom LED diodom.

Imajte na umu da je izlaz prekidača za napajanje (kolektor Q4) spojen na 5V pin Arduino Nano, NE na VIN pin!

Korak 2: Izgradnja Godot mašine

Izgradnja Godot mašine
Izgradnja Godot mašine
Izgradnja Godot mašine
Izgradnja Godot mašine
Izgradnja Godot mašine
Izgradnja Godot mašine

Napravio sam krug na komadu perfarda. Nema tu ničeg posebnog. Solarni panel 2V/200mA je ostatak drugog projekta. Marka je Velleman. Lako ga je otvoriti oštrim nožem, izbušiti rupe za vijke itd. Ploča i solarna ploča pričvršćeni su na dva komada šperploče, kao što je prikazano na slici. Ideja je da se solarni panel može postaviti prema suncu na mirnom prozoru.

Korak 3: Kôd: Slučajni brojevi iz haosa?

Kôd: Nasumični brojevi iz haosa?
Kôd: Nasumični brojevi iz haosa?
Kôd: Nasumični brojevi iz haosa?
Kôd: Nasumični brojevi iz haosa?
Kôd: Slučajni brojevi iz haosa?
Kôd: Slučajni brojevi iz haosa?

Kako nastaju slučajni brojevi? Pa, oni su napravljeni matematikom!

Umjesto da koristim Arduino funkciju generiranja slučajnih brojeva random (), odlučio sam napisati vlastiti generator slučajnih brojeva (RNG), samo iz zabave.

Zasnovan je na logističkoj karti, koja je najjednostavniji primjer determinističkog kaosa. Evo kako to funkcionira:

Pretpostavimo da je x neka stvarna vrijednost između 0 i 1, a zatim izračunajte: x*r*(1-x), gdje je r = 3,9. Rezultat je vaš sljedeći 'x'. Ponavljajte beskonačno. Ovo će vam dati niz brojeva između 0 i 1, kao na prvoj slici, gdje se ovaj proces započinje za početnu vrijednost x = 0,1 (crvena) i x = 0,1001 (plava).

Evo sada cool dijela: bez obzira koliko blizu odabrali dva različita početna uvjeta, ako oni nisu potpuno jednaki, rezultirajući niz brojeva će se na kraju razlikovati. To se naziva 'Osetljiva zavisnost od početnih uslova'.

Matematički, jednadžba preslikavanja x*r*(1-x) je parabola. Kao što je prikazano na drugoj slici, možete grafički odrediti seriju x koristeći ono što je poznato kao konstrukcija paučine: počnite od x na vodoravnoj osi, pronađite vrijednost funkcije na osi y, a zatim reflektirajte u odnosu na ravnu liniju na 45 stepeni ugla koji prolazi kroz ishodište. Ponovi. Kao što je prikazano za crvenu i plavu seriju, čak i ako se u početku zatvore, potpuno se razilaze nakon 30 -ak ponavljanja.

Odakle dolazi broj 'r = 3.9'? Ispostavilo se da za niske vrijednosti r dobivamo samo dvije izmjenične x vrijednosti. Povećanjem r-parametra tada će se u nekom trenutku preći na oscilaciju između 4, 8, 16 vrijednosti itd. Ove grane ili bifurkacije dolaze sve brže s povećanjem r, u onome što se naziva 'period udvostručenja perioda do kaosa'. Nacrt s r na vodoravnoj osi i mnogim x-iteracijama koje se preklapaju okomito rezultirat će onim što je poznato kao bifurkacijska shema (3. slika). Za r = 3,9, karta je potpuno kaotična.

Dakle, ako izračunamo mnogo x-ažuriranja i uzorkujemo iz njih, dobit ćemo slučajan broj? Pa ne, u ovom trenutku to bi bio generator pseudo slučajnih brojeva (PRNG), jer ako uvijek krećemo od iste početne vrijednosti (nakon izlaska iz resetiranja), uvijek bismo dobili isti slijed; poznat i kao deterministički haos. Ovdje dolazi generator entropije, koji zasijava logističku kartu s brojem stvorenim od električne buke koja se nalazi u okruženju.

Riječima, kôd generatora slučajnih brojeva to čini:

- Izmjerite napon iz generatora entropije na pinu A0. Zadržite samo 4 najmanje bitna bita.

- Pomaknite ova 4 bita u 'početnu' vrijednost, ponovite 8 puta da biste dobili 32-bitnu sjemenku s pomičnim zarezom.

- Promijenite veličinu sjemena između 0 i 1.

- Izračunajte prosjek ovog sjemena i x, trenutno stanje logističke karte.

- Unaprijedite logističku kartu u mnogo (64) koraka.

- Izdvojite jedan bit iz stanja logističke karte x provjerom neke beznačajne decimale.

- Prebaci taj dio u konačni rezultat.

- Ponovite sve gore navedene korake 20 puta.

Napomena: U kodu su Serial.println i Serial.begin nadomješteni. Uklonite // kako biste provjerili generirane slučajne brojeve na serijskom monitoru.

Da budem pošten, nisam statistički provjerio kvalitetu slučajnih brojeva (npr. NIST testni paket), ali čini se da su u redu.

Korak 4: Divite se svojoj Godo mašini

Divite se svojoj Godo mašini!
Divite se svojoj Godo mašini!

Uživajte u Godot Machine -u i podijelite, komentirajte i/ili pitajte ako je nešto nejasno.

Dok čekate da se pronađe Godotov broj, glasajte za ovaj Instructable na takmičenju Made With Math! Hvala!

Napravljeno na takmičenju iz matematike
Napravljeno na takmičenju iz matematike
Napravljeno na takmičenju iz matematike
Napravljeno na takmičenju iz matematike

Drugoplasirani na takmičenju Made with Math

Preporučuje se: