Sisällysluettelo:
- Vaihe 1: Kaavio
- Vaihe 2: Rakenna Godot -kone
- Vaihe 3: Koodi: Satunnaislukuja kaaoksesta?
- Vaihe 4: Ihaile Godot -konettasi
Video: Godot -kone: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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. Auringonpaisteessa Joule Thief -piiri alkaa ladata kondensaattoripankkia.
- 2. Kun Arduino Nano on ladattu noin 5 volttiin, se saa virtaa.
- 3. Arduino luo 20-bittisen todellisen satunnaisluvun, joka näkyy 4-bittisessä LED-palkissa.
- 4. Tätä numeroa verrataan toiseen satunnaiseen, kaikille tuntemattomaan numeroon, joka tallennettiin eepromiin ensimmäisen kerran, kun piiri käynnistettiin.
- 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. 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
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
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?
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
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!
Toinen sija Made with Math -kilpailussa
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Ammattimainen sääasema käyttäen ESP8266- ja ESP32 -DIY: 9 vaihetta (kuvilla)
Ammattimainen sääasema käyttämällä ESP8266- ja ESP32 -DIY: LineaMeteoStazione on täydellinen sääasema, joka voidaan liittää Sensirionin ammattitunnistimiin sekä joihinkin Davis -instrumenttikomponentteihin (sademittari, tuulimittari)
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite