Talaan ng mga Nilalaman:

Ang Godot Machine: 4 na Hakbang (na may Mga Larawan)
Ang Godot Machine: 4 na Hakbang (na may Mga Larawan)

Video: Ang Godot Machine: 4 na Hakbang (na may Mga Larawan)

Video: Ang Godot Machine: 4 na Hakbang (na may Mga Larawan)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Hulyo
Anonim
Ang Godot Machine
Ang Godot Machine

Ano ang isang Godot Machine?

Ito ay bahagi ng karanasan ng tao na mahahanap natin ang ating sarili sa isang kalagayan ng paghihintay para sa isang bagay na maaaring mangyari sa paglaon pagkatapos ng mahabang panahon ng paghihintay, o hindi man.

Ang Godot Machine ay isang solar-Powered na piraso ng electro- "art" na sumusubok na makuha ang desperadong damdamin na kasama ng posibleng walang saysay na paghihintay.

Ang pangalan ay mula sa sikat na dula ni Samuel Beckett na Naghihintay para sa Godot, kung saan naghihintay ang dalawang lalaki sa pagdating ng isang tiyak na Godot, na maaaring dumating bukas, kinabukasan, o hindi na.

Kaya ano ang ginagawa ng Godot Machine?

  1. 1. Dahil sa ilang sikat ng araw, isang circuit ng Joule Thief ang nagsisimulang singilin ang isang bangko ng mga capacitor.
  2. 2. Kapag sisingilin sa tungkol sa 5V, ang Arduino Nano ay pinalakas.
  3. 3. Ang Arduino ay bumubuo ng isang 20-bit totoong random na numero, na ipinapakita sa isang 4-bit na LED bar.
  4. 4. Ang bilang na ito ay inihambing sa isa pang random na numero, hindi alam ng lahat, na nakaimbak sa eeprom sa unang pagkakataon na na-boot ang circuit.
  5. 5. Kung pantay, tapos na ang paghihintay, iniimbak ng makina ang katotohanang ito sa eeprom at mula ngayon ang berdeng LED at piezo beeper ay naaktibo (kung mayroong sapat na enerhiya).
  6. 6. Kung hindi pantay, pag-asa, kawalan ng pag-asa, ulitin.

… Gayundin, minsan sa isang habang ang nabuong numero ay napapakinggan ng beeper, kaya't hindi mo talaga nakakalimutan na mayroon kang isang Godot Machine.

Dahil sa posibilidad na maabot ang numero ng Godot ay 1 higit sa 2 ^ 20 o halos isa sa isang milyon, at ang makina ay hindi masyadong mabilis, lalo na sa taglamig at taglagas, maaaring tumagal ng maraming taon upang makita ito. Ang iyong Godot Machine ay maaaring maging bahagi ng iyong mana. Habang hinihintay ito upang subukan ang susunod na numero, maaari mong mapagpantasyahan tungkol sa kung paano ang iyong malayong dakilang mga apo ay sa wakas ay makikitang natapos nito. Sa madaling salita: ito ang perpektong naroroon para sa paparating na kapaskuhan!

Hakbang 1: Ang Iskematika

Ang Iskolar
Ang Iskolar

Ang Godot Machine ay binubuo ng:

-Ang isang Joule Thief energy harvester (Q1) na naniningil ng 9x2200uF capacitors. Para sa mga nagdurusa sa helixaphobia (isang hindi makatuwiran na mga inductor, habang ang mga capacitor at resistors ay hindi nagdudulot ng ganoong problema), hindi natatakot na walang manu-manong paikot-ikot na kinakailangan: ang pagkabit ay nilikha sa pamamagitan ng paglalagay ng karaniwang coaxial inductors sa paligid ng bawat isa tulad ng ipinakita dito sa 2nd pic. Galing ng trick!

-Ang discrete transistor power switch (Q2, Q3, Q4), na lumilipat sa 5V1 tungkol at patayin sa paligid ng 3.0V. Maaaring gusto mong i-tune nang kaunti ang R2-R4 kung gumamit ka ng iba't ibang (pangkalahatang layunin) na mga uri ng transistor.

-Isang entropy generator (Q6, Q7, Q8). Ang circuit na ito ay nagpapalakas ng elektronikong ingay na naroroon sa kapaligiran mula sa mga microvolts hanggang sa mga antas ng volts. Ang signal na iyon ay pagkatapos ay nai-sample upang mag-seed ng isang kaguluhan-based (basahin sa) random number generator. Ang isang piraso ng string ng gitara ay gumaganap bilang isang antena.

-Isang LED-bar na may 4 na LEDs o 4 na pulang magkakahiwalay na LED, isang piezo beeper at isang berdeng LED.

Tandaan na ang output ng power switch (kolektor ng Q4) ay konektado sa 5V pin ng Arduino Nano, HINDI sa VIN pin!

Hakbang 2: Pagbuo ng Godot Machine

Pagbuo ng Godot Machine
Pagbuo ng Godot Machine
Pagbuo ng Godot Machine
Pagbuo ng Godot Machine
Pagbuo ng Godot Machine
Pagbuo ng Godot Machine

Itinayo ko ang circuit sa isang piraso ng perfboard. Walang espesyal doon. Ang 2V / 200mA solar panel ay isang natira mula sa isa pang proyekto. Ang tatak ay Velleman. Madaling i-pry ito buksan gamit ang isang matalim na kutsilyo, upang mag-drill ng mga butas para sa mga tornilyo atbp. Ang circuit board at solar panel ay naka-screw sa dalawang piraso ng playwud, tulad ng ipinakita sa larawan. Ang ideya ay ang solar panel ay maaaring nakaposisyon patungo sa araw sa isang window pa rin.

Hakbang 3: Ang Code: Mga Random na Numero Mula sa Chaos?

Ang Code: Mga Random na Numero Mula sa Chaos?
Ang Code: Mga Random na Numero Mula sa Chaos?
Ang Code: Mga Random na Numero Mula sa Chaos?
Ang Code: Mga Random na Numero Mula sa Chaos?
Ang Code: Mga Random na Numero Mula sa Chaos?
Ang Code: Mga Random na Numero Mula sa Chaos?

Paano ginagawa ang mga random na numero? Kaya, Ginawa Ng Matematika!

Sa halip na gamitin ang Arduino random number generator function na random (), nagpasya akong magsulat ng sarili kong Random Number Generator (RNG), para lang sa kasiyahan.

Ito ay batay sa logistic map, na kung saan ay ang pinakasimpleng halimbawa ng kaguluhan na tumutukoy. Narito kung paano ito gumagana:

Ipagpalagay na ang x ay ilang tunay na halaga sa pagitan ng 0 at 1, pagkatapos ay kalkulahin: x * r * (1-x), kung saan ang r = 3.9. Ang resulta ay ang iyong susunod na 'x'. Ulitin ang infinitum ng ad. Bibigyan ka nito ng isang serye ng mga numero sa pagitan ng 0 at 1, tulad ng sa unang larawan, kung saan nagsimula ang prosesong ito para sa paunang halaga ng x = 0.1 (pula) at din x = 0.1001 (asul).

Ngayon narito ang cool na bahagi: gaano man kalapit ang pipiliin mo ng dalawang magkakaibang mga paunang kundisyon, kung hindi sila eksaktong pantay, ang nagreresultang serye ng mga numero sa kalaunan ay magkakaiba. Ito ay tinatawag na 'Sensitive dependance sa mga paunang kundisyon'.

Sa matematika, ang equation ng mapa x * r * (1-x) ay isang parabola. Tulad ng ipinakita sa ika-2 na pigura, maaari mong matukoy nang grapiko ang x-series gamit ang kilala bilang isang konstruksyon ng cobweb: magsimula mula sa x sa pahalang na axis, hanapin ang halaga ng pag-andar sa y-axis, pagkatapos ay sumasalamin laban sa isang tuwid na linya sa 45 degree anggulo na dumadaan sa pinagmulan. Ulitin Tulad ng ipinakita para sa pula at asul na serye, kahit na malapit nang malapit, ganap silang magkakaiba pagkatapos ng halos 30 pag-ulit.

Ngayon, saan nagmula ang numero ng 'r = 3.9'? Ito ay lumalabas na para sa mababang halaga ng r, makakakuha lamang kami ng dalawang alternating x-halaga. Ang pagdaragdag ng r-parameter ay pagkatapos ay sa ilang mga punto lumipat sa isang oscillation sa pagitan ng 4, 8, 16 na halaga atbp Ang mga pagsasanga o bifurcation na ito ay dumarating nang mas mabilis habang ang r ay nadagdagan, sa tinatawag na isang 'pagdoble na ruta sa kaguluhan'. Ang isang lagay ng lupa na may r sa pahalang na axis at maraming mga x-iterate na overlap na patayo ay magreresulta sa kung ano ang kilala bilang isang bifurcation plot (ika-3 pigura). Para sa r = 3.9, ang mapa ay ganap na magulo.

Kaya kung kinakalkula namin ang maraming mga x-update at sample mula sa kanila, nakakakuha kami ng isang random na numero? Kaya hindi, sa puntong ito ito ay magiging isang Pseudo Random Number generator (PRNG), dahil kung palagi kaming nagsisimula mula sa parehong paunang halaga (pagkatapos na lumabas sa pag-reset), palagi kaming magkakaroon ng parehong pagkakasunud-sunod; aka deterministic gulo. Dito pumapasok ang entropy-generator, kung aling binhi ang logistic map na may isang numero na nilikha mula sa electric noise na matatagpuan sa kapaligiran.

Sa mga salita, ginagawa ito ng random na code ng generator ng numero:

- Sukatin ang boltahe mula sa entropy generator sa pin A0. Panatilihin lamang ang 4 na hindi gaanong makabuluhang mga piraso.

- Ilipat ang 4 na piraso na ito sa halagang 'binhi', ulitin nang 8 beses upang makakuha ng 32-bit na lumulutang point na binhi.

- Pagsagip ng binhi sa pagitan ng 0 at 1.

- Kalkulahin ang average ng binhi na ito at x, ang kasalukuyang estado ng logistic map.

- Isulong ang lohistikong mapa maraming (64) mga hakbang.

- Mag-extract ng isang solong bit mula sa logistic na estado ng mapa x sa pamamagitan ng pagsuri sa ilang hindi gaanong decimal.

- Ilipat ang bit na iyon sa pangwakas na resulta.

- Ulitin ang lahat ng mga hakbang sa itaas ng 20 beses.

Tandaan: Sa code, ang Serial.println at Serial.begin ay outcommented. Alisin ang // upang suriin ang nabuong mga random na numero sa serial monitor.

Upang maging patas, hindi ko pa nasusuri sa istatistika ang kalidad ng mga random na numero (hal. NIST test suite) ngunit mukhang OK lang sila.

Hakbang 4: Mamangha sa Iyong Godot Machine

Manghang-mangha sa Iyong Godot Machine!
Manghang-mangha sa Iyong Godot Machine!

Masiyahan sa iyong Godot Machine at mangyaring ibahagi, magkomento at / o magtanong kung may anumang hindi malinaw.

Habang hinihintay mo ang numero ng Godot upang makita, mangyaring iboto ang Ituturo sa paligsahang Made With Math na ito! Salamat!

Ginawa ng Math Contest
Ginawa ng Math Contest
Ginawa ng Math Contest
Ginawa ng Math Contest

Runner Up sa Made with Math Contest

Inirerekumendang: