Isi kandungan:
- Langkah 1: Skematik
- Langkah 2: Membina Mesin Godot
- Langkah 3: Kod: Nombor Rawak Dari Kekacauan?
- Langkah 4: Kagumi Mesin Godot Anda
Video: Mesin Godot: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Apa itu Mesin Godot?
Ini adalah sebahagian dari pengalaman manusia yang dapat kita temui dalam keadaan menunggu sesuatu yang mungkin akhirnya berlaku setelah lama menunggu, atau sama sekali tidak.
The Godot Machine adalah karya elektro- "seni" bertenaga suria yang cuba menangkap emosi putus asa yang menemani penantian tanpa sia-sia.
Nama itu berasal dari drama terkenal Samuel Beckett, Waiting for Godot, di mana dua lelaki menunggu kedatangan Godot tertentu, yang mungkin tiba esok, lusa, atau tidak pernah.
Jadi apa yang dilakukan oleh Mesin Godot?
- 1. Diberi cahaya matahari, litar Joule Thief mula mengecas kapasitor.
- 2. Setelah dicas sekitar 5V, Arduino Nano dihidupkan.
- 3. Arduino menghasilkan nombor rawak sebenar 20-bit, yang ditunjukkan pada bar LED 4-bit.
- 4. Nombor ini dibandingkan dengan nombor rawak lain, yang tidak diketahui oleh semua orang, yang disimpan di eeprom pada kali pertama litar dimulakan.
- 5. Sekiranya sama, penantian sudah selesai, mesin menyimpan fakta ini di eeprom dan mulai sekarang LED hijau dan piezo beeper diaktifkan (jika terdapat cukup tenaga).
- 6. Sekiranya tidak sama, harap, putus asa, ulangi.
… juga, sesekali nombor yang dihasilkan dibuat didengar oleh bip, jadi anda tidak lupa bahawa anda mempunyai Mesin Godot.
Memandangkan kebarangkalian untuk memukul nombor Godot adalah 1 lebih dari 2 ^ 20 atau kira-kira satu dalam sejuta, dan mesinnya tidak terlalu cepat, terutama pada musim sejuk dan musim luruh, memerlukan beberapa tahun untuk mencarinya. Mesin Godot anda bahkan boleh menjadi sebahagian daripada harta pusaka anda. Sambil menantinya untuk menguji nombor seterusnya, anda dapat membayangkan bagaimana cucu-cucu besar anda yang jauh dari akhirnya dapat melihatnya sampai pada kesimpulannya. Ringkasnya: ia adalah hadiah yang ideal untuk musim percutian yang akan datang!
Langkah 1: Skematik
Mesin Godot terdiri daripada:
-Penuai tenaga Joule Thief (Q1) yang mengecas kapasitor 9x2200uF. Bagi mereka yang menderita helixaphobia (kemarahan induktor yang tidak rasional, sementara kapasitor dan perintang tidak menimbulkan masalah seperti itu), jangan takut kerana penggulungan manual tidak diperlukan: gandingan dibuat dengan meletakkan induktor sepaksi standard di sekitar satu sama lain seperti yang ditunjukkan di sini di Gambar ke-2. Silap mata yang luar biasa!
- Suis kuasa transistor diskrit (Q2, Q3, Q4), yang dihidupkan pada 5V1 kira-kira dan mati pada sekitar 3.0V. Anda mungkin mahu menyesuaikan R2-R4 sedikit jika anda menggunakan jenis transistor (tujuan umum) yang berbeza.
- Penjana entropi (Q6, Q7, Q8). Litar ini menguatkan kebisingan elektronik yang terdapat di persekitaran dari tahap voltan mikro hingga volt. Isyarat itu kemudian diambil sampel untuk menghasilkan penjana nombor rawak (baca terus) berdasarkan kekacauan. Sekeping tali gitar bertindak sebagai antena.
-Batang LED dengan 4 LED atau 4 LED merah yang berasingan, bip piezo dan LED hijau.
Perhatikan bahawa output suis kuasa (pengumpul Q4) disambungkan ke pin 5V Arduino Nano, BUKAN ke pin VIN!
Langkah 2: Membina Mesin Godot
Saya membina litar di atas papan serpihan. Tidak ada yang istimewa di sana. Panel solar 2V / 200mA adalah sisa dari projek lain. Jenamanya adalah Velleman. Sangat mudah untuk membukanya dengan menggunakan pisau tajam, untuk mengebor lubang untuk skru dll. Papan litar dan panel solar dipasang pada dua kepingan papan lapis, seperti yang ditunjukkan dalam gambar. Ideanya adalah bahawa panel suria dapat diposisikan ke arah matahari di tingkap pegun.
Langkah 3: Kod: Nombor Rawak Dari Kekacauan?
Bagaimana nombor rawak dibuat? Nah, mereka Dibuat Dengan Matematik!
Daripada menggunakan fungsi penjana nombor rawak Arduino secara rawak (), saya memutuskan untuk menulis Penjana Nombor Rawak (RNG) saya sendiri, hanya untuk keseronokan.
Ia berdasarkan peta logistik, yang merupakan contoh paling mudah dari kekacauan deterministik. Inilah cara kerjanya:
Katakan x adalah beberapa nilai sebenar antara 0 dan 1, kemudian hitung: x * r * (1-x), di mana r = 3.9. Hasilnya adalah 'x' anda yang seterusnya. Ulangi iklan infinitum. Ini akan memberi anda rangkaian nombor antara 0 dan 1, seperti pada gambar pertama, di mana proses ini dimulakan untuk nilai awal x = 0.1 (merah) dan juga x = 0.1001 (biru).
Sekarang inilah bahagian yang menarik: tidak kira seberapa dekat anda memilih dua keadaan awal yang berbeza, jika tidak sama persis, rangkaian nombor yang dihasilkan akhirnya akan berbeza. Ini dipanggil 'Pergantungan sensitif pada keadaan awal'.
Secara matematik, persamaan peta x * r * (1-x) adalah parabola. Seperti yang ditunjukkan dalam gambar ke-2, anda secara grafik dapat menentukan siri-x menggunakan apa yang dikenali sebagai pembinaan jaring laba-laba: mulakan dari x pada paksi mendatar, cari nilai fungsi pada paksi-y, kemudian bayangkan dengan garis lurus pada 45 sudut darjah melalui asal. Ulangi. Seperti yang ditunjukkan untuk siri merah dan biru, walaupun pada awalnya ditutup, mereka menyimpang sepenuhnya setelah sekitar 30 lelaran.
Sekarang, dari mana nombor 'r = 3.9' berasal? Ternyata untuk nilai r rendah, kita hanya mendapat dua nilai x bergantian. Meningkatkan parameter r pada suatu ketika akan beralih ke ayunan antara nilai 4, 8, 16 dan lain-lain. Cabang-cabang atau bifurkasi ini datang lebih cepat dan cepat apabila r meningkat, dalam apa yang disebut sebagai 'tempoh penggandaan laluan ke kekacauan'. Plot dengan r pada paksi mendatar dan banyak x-iterasi bertindih secara menegak akan menghasilkan apa yang dikenali sebagai plot bifurcation (rajah ke-3). Untuk r = 3.9, peta sepenuhnya kacau.
Oleh itu, jika kita mengira banyak kemas kini x dan mengambil sampel daripadanya, kita mendapat nombor rawak? Baiklah, pada tahap ini ia akan menjadi penjana Nombor Rawak Pseudo (PRNG), kerana jika kita selalu bermula dari nilai awal yang sama (setelah keluar semula), kita akan selalu mendapat urutan yang sama; kekacauan alias deterministik. Di sinilah generator entropi masuk, yang menyusun peta logistik dengan nombor yang dihasilkan dari bunyi elektrik yang terdapat di persekitaran.
Dengan kata lain, kod penjana nombor rawak melakukan ini:
- Ukur voltan dari generator entropi pada pin A0. Simpan hanya 4 bit yang paling ketara.
- Ubah 4 bit ini menjadi nilai 'benih', ulangi 8 kali untuk mendapatkan benih terapung 32-bit.
- Jual semula benih antara 0 dan 1.
- Hitung purata biji dan x ini, keadaan peta logistik semasa.
- Maju peta logistik dengan banyak (64) langkah.
- Ekstrak sedikit pun dari keadaan peta logistik x dengan memeriksa beberapa perpuluhan yang tidak signifikan.
- Ubah bit ke hasil akhir.
- Ulangi semua langkah di atas 20 kali.
Nota: Dalam kod, Serial.println dan Serial.begin tidak mencukupi. Keluarkan // untuk memeriksa nombor rawak yang dihasilkan pada monitor bersiri.
Untuk bersikap adil, saya belum memeriksa secara statistik kualiti nombor rawak (mis. Rangkaian ujian NIST) tetapi nampaknya OK.
Langkah 4: Kagumi Mesin Godot Anda
Nikmati Mesin Godot anda dan sila kongsi, komen dan / atau tanyakan jika ada yang tidak jelas.
Sementara anda menunggu nombor Godot dijumpai, sila pilih peraduan Instructable in Made With Math ini! Terima kasih!
Naib Johan dalam Peraduan Made with Math
Disyorkan:
Smokin '- Mesin Asap Kawalan Jauh dengan Harga Murah: 5 Langkah (dengan Gambar)
Smokin '- Mesin Asap Terkawal Jauh dengan Murah: Ini adalah petunjuk singkat mengenai cara membuat mesin asap kecil yang agak kecil, mudah dikendalikan, murah dan menyenangkan, yang dapat digunakan untuk melucu rakan, melakukan trik sulap, menguji aliran udara atau apa sahaja keinginan hati anda. Penafian: Binaan ini mengandungi
Mesin Cocktail Dengan GUI Raspberry: 7 Langkah (dengan Gambar)
Mesin Cocktail Dengan GUI Raspberry: Anda suka teknologi dan pesta? Projek ini dibuat untuk anda! Dalam tutorial ini kami akan membuat mesin koktel automatik dengan antara muka grafik. Segala-galanya dikendalikan oleh raspberry! EDIT: Saya membuat yang baru lebih mudah dan lebih murah pautan di sini
Mesin Arked Dengan Tukar LED Berubah: 5 Langkah (dengan Gambar)
Mesin Arked Dengan Mengubah LED Marquee: Bahagian yang Diperlukan: Anda boleh memotong laser pelekap LED dengan menggunakan fail di Instructable atau bagi mereka yang tidak mempunyai akses ke pemotong laser, ia juga boleh didapati dengan lengkap. Opsyen Kit / Anda Potong Laser dan Pasang Pixelcade P3 LED Marquee
Pengesan Tahap Mesin Coke - Sekarang Dengan Ucapan !: 6 Langkah (dengan Gambar)
Pengesan Tahap Mesin Coke - Sekarang Dengan Ucapan!: Projek ini adalah gabungan dari alat pengesan Tahap Mesin Coke saya, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) dengan sensor baru , dan penambahan bunyi lisan! Selepas saya membuat alat pengesan tahap pertama, saya menambah bel piezo untuk
Mesin atau Dialog Tidak Berguna Supercapacitor Dengan Orang Pintar: 7 Langkah (dengan Gambar)
Supercapacitor Tidak Berguna Mesin atau Dialog Dengan Smart Guy: Smart Guy. Apa?! Mesin tidak berguna! Sekali lagi! Beratus-ratus, beribu-ribu saluran tersumbat tidak mencukupi? Jumbleview. Sebilangan besarnya dibuat dengan suis togol, yang ini mempunyai rocker.SG. Jadi apa? Semua orang tahu bahawa mereka bekerja sama. Dan anda sudah