Sisällysluettelo:

Godot -kone: 4 vaihetta (kuvilla)
Godot -kone: 4 vaihetta (kuvilla)

Video: Godot -kone: 4 vaihetta (kuvilla)

Video: Godot -kone: 4 vaihetta (kuvilla)
Video: 9 серия - "Кастинг юных цирковых артистов для Парижа", детского сериала - "Хочу в Париж". 2024, Heinäkuu
Anonim
Godot -kone
Godot -kone

Mikä on Godot -kone?

Se on osa inhimillistä kokemusta, että voimme joutua odottamaan jotain, joka saattaa lopulta tapahtua pitkän odottamisen jälkeen tai ei ollenkaan.

Godot-kone on aurinkovoimalla toimiva sähkötaideteos, joka yrittää kaapata epätoivoisen tunteen, joka liittyy mahdollisesti turhaan odottamiseen.

Nimi on peräisin Samuel Beckettin kuuluisasta näytelmästä Odotetaan Godotia, jossa kaksi miestä odottaa tietyn Godotin tuloa, joka saattaa saapua huomenna, ylihuomenna tai ei koskaan.

Joten mitä Godot -kone tekee?

  1. 1. Auringonpaisteessa Joule Thief -piiri alkaa ladata kondensaattoripankkia.
  2. 2. Kun Arduino Nano on ladattu noin 5 volttiin, se saa virtaa.
  3. 3. Arduino luo 20-bittisen todellisen satunnaisluvun, joka näkyy 4-bittisessä LED-palkissa.
  4. 4. Tätä numeroa verrataan toiseen satunnaiseen, kaikille tuntemattomaan numeroon, joka tallennettiin eepromiin ensimmäisen kerran, kun piiri käynnistettiin.
  5. 5. Jos sama, odotus on ohi, kone tallentaa tämän tosiasian eepromiin ja tästä lähtien vihreä LED ja pietsosignaali aktivoituvat (jos energiaa on tarpeeksi).
  6. 6. Jos ei ole sama, toivo, epätoivo, toista.

… Myös silloin tällöin piippaus antaa luodun numeron kuultavaksi, joten et todellakaan unohda, että sinulla on Godot -kone.

Koska todennäköisyys osua Godot -numeroon on 1 yli 2^20 tai noin yksi miljoonasta eikä kone ole kovin nopea, varsinkin talvella ja syksyllä, sen löytäminen voi viedä vuosia. Godot -koneestasi voi tulla jopa osa perintöäsi. Odottaessasi seuraavan numeron testaamista voit haaveilla siitä, kuinka kaukaiset lapsenlapsenlapsesi voivat vihdoin nähdä sen tulleen päätökseen. Lyhyesti: se on ihanteellinen lahja tulevalle lomakaudelle!

Vaihe 1: Kaavio

Kaavio
Kaavio

Godot -kone koostuu:

-Joule Thief -energiaharvesteri (Q1), joka lataa 9x2200uF kondensaattoreita. Niille, jotka kärsivät heliksofobiasta (induktorien irrationaalinen ahdistus, kun taas kondensaattorit ja vastukset eivät aiheuta tällaista ongelmaa), älä pelkää, koska manuaalista käämitystä ei tarvita: kytkin luodaan asettamalla tavalliset koaksiaaliset induktorit toistensa lähelle, kuten tässä on esitetty 2. kuva Mahtava temppu!

-Erillinen transistorikytkin (Q2, Q3, Q4), joka kytkeytyy päälle 5 V1: llä ja sammuu noin 3,0 V: lla. R2-R4 kannattaa virittää hieman, jos käytät erilaisia (yleiskäyttöisiä) transistorityyppejä.

-Entropiageneraattori (Q6, Q7, Q8). Tämä piiri vahvistaa ympäristössä olevaa elektronista kohinaa mikrovolteista volttitasoihin. Signaalista näytteistetään sitten kaaospohjainen (luettavaksi) satunnaislukugeneraattori. Kappale kitaraa toimii antennina.

-LED-palkki, jossa on 4 LEDiä tai 4 punaista erillistä LEDiä, pietsosignaali ja vihreä LED.

Huomaa, että virtakytkimen lähtö (Q4 -keräin) on kytketty Arduino Nanon 5 V: n napaan, EI VIN -nastaan!

Vaihe 2: Rakenna Godot -kone

Godot -koneen rakentaminen
Godot -koneen rakentaminen
Godot -koneen rakentaminen
Godot -koneen rakentaminen
Godot -koneen rakentaminen
Godot -koneen rakentaminen

Rakensin piirin perfboard -palalle. Ei mitään erikoista siellä. 2V/200mA aurinkopaneeli on jäänne toisesta projektista. Tuotemerkki on Velleman. Se on helppo irrottaa terävällä veitsellä, porata reikiä ruuveille jne. Piirilevy ja aurinkopaneeli ruuvataan kiinni kahteen vanerikappaleeseen, kuten kuvassa. Ajatuksena on, että aurinkopaneeli voidaan sijoittaa aurinkoa kohti ikkunan paikallaan.

Vaihe 3: Koodi: Satunnaislukuja kaaoksesta?

Koodi: Satunnaiset numerot kaaoksesta?
Koodi: Satunnaiset numerot kaaoksesta?
Koodi: Satunnaiset numerot kaaoksesta?
Koodi: Satunnaiset numerot kaaoksesta?
Koodi: Satunnaiset numerot kaaoksesta?
Koodi: Satunnaiset numerot kaaoksesta?

Miten satunnaisluvut tehdään? No, ne on tehty matematiikalla!

Sen sijaan, että käyttäisin Arduinon satunnaislukugeneraattoritoimintoa random (), päätin kirjoittaa oman satunnaislukugeneraattorini (RNG) vain huvin vuoksi.

Se perustuu logistiseen karttaan, joka on yksinkertaisin esimerkki deterministisestä kaaoksesta. Näin se toimii:

Oletetaan, että x on jokin reaaliarvo välillä 0 ja 1, ja laske sitten: x*r*(1-x), missä r = 3,9. Tuloksena on seuraava x. Toista loputtomasti. Tämä antaa sinulle sarjan numeroita välillä 0 ja 1, kuten ensimmäisessä kuvassa, jossa tämä prosessi aloitetaan alkuperäiselle arvolle x = 0,1 (punainen) ja myös x = 0,1001 (sininen).

Tässä on viileä osa: riippumatta siitä, kuinka lähellä valitset kaksi eri alkuehtoa, jos ne eivät ole täsmälleen samanlaisia, tuloksena oleva numerosarja eroaa lopulta. Tätä kutsutaan herkäksi riippuvuudeksi alkutilanteista.

Matemaattisesti karttayhtälö x*r*(1-x) on paraabeli. Kuten toisessa kuvassa näkyy, voit määrittää graafisesti x-sarjan käyttämällä seinäverkkorakennetta: aloita vaaka-akselin x: stä, etsi funktion arvo y-akselilta ja heijasta sitten suoraa viivaa kohden 45 asteen kulma lähteen läpi. Toistaa. Kuten punaisella ja sinisellä sarjalla esitetään, ne eroavat täysin, vaikka ne aluksi olisivatkin lähellä, noin 30 iteraation jälkeen.

Mistä "r = 3,9" -luku tulee? On käynyt ilmi, että pienille r-arvoille saadaan vain kaksi vuorottelevaa x-arvoa. R-parametrin lisääminen siirtyy sitten jossain vaiheessa värähtelyyn 4, 8, 16 jne. Nämä haarautumiset tai haarautumiset tulevat yhä nopeammin, kun r kasvaa, niin sanotulla kauden kaksinkertaistumisreitillä kaaokseen. Kaavio, jossa vaaka-akselilla on r ja monet x-iteraatit ovat päällekkäin pystysuunnassa, johtaa haarautumiskaavioon (3. kuva). Jos r = 3,9, kartta on täysin kaoottinen.

Joten jos laskemme monia x-päivityksiä ja otamme niistä näytteen, saamme satunnaisluvun? No ei, tässä vaiheessa se olisi pseudo -satunnaislukugeneraattori (PRNG), koska jos aloitamme aina samasta alkuarvosta (nollasta poistumisen jälkeen), saamme aina saman sekvenssin; eli deterministinen kaaos. Tässä tulee entropiageneraattori, joka kylvää logistisen kartan numerolla, joka on luotu ympäristössä olevasta sähkömelusta.

Sanalla satunnaislukugeneraattorin koodi tekee tämän:

- Mittaa jännite tappin A0 entropiageneraattorista. Säilytä vain neljä vähiten merkittävää bittiä.

- Siirrä nämä 4 bittiä siemenarvoon, toista 8 kertaa saadaksesi 32-bittinen liukuluku.

- Skaalaa siemen välillä 0 ja 1.

- Laske tämän siemenen keskiarvo ja x, logistisen kartan nykyinen tila.

- Siirry logistiseen karttaan useissa (64) vaiheessa.

- Poimi yksi bitti logistisen kartan tilasta x tarkistamalla merkityksetön desimaali.

- Siirrä tämä osa lopputulokseen.

- Toista kaikki yllä olevat vaiheet 20 kertaa.

Huomautus: Koodissa Serial.println ja Serial.begin ovat outcommented. Poista // tarkistaaksesi sarjamonitorin luomat satunnaisluvut.

Ollakseni rehellinen, en ole tilastollisesti tarkistanut satunnaislukujen (esim. NIST -testipaketti) laatua, mutta ne näyttävät olevan kunnossa.

Vaihe 4: Ihaile Godot -konettasi

Ihaile Godot -konettasi!
Ihaile Godot -konettasi!

Nauti Godot -koneestasi ja jaa, kommentoi ja/tai kysy, jos jotain on epäselvää.

Odottaessasi Godot -numeron löytymistä, äänestä tätä opettavaa Made With Math -kilpailussa! Kiitos!

Valmistettu matematiikkakilpailulla
Valmistettu matematiikkakilpailulla
Valmistettu matematiikkakilpailulla
Valmistettu matematiikkakilpailulla

Toinen sija Made with Math -kilpailussa

Suositeltava: