Spisu treści:
- Krok 1: Schemat
- Krok 2: Budowa maszyny Godot
- Krok 3: Kod: losowe liczby z chaosu?
- Krok 4: Podziwiaj swoją maszynę Godot
Wideo: Maszyna Godot: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Co to jest maszyna Godota?
Częścią ludzkiego doświadczenia jest to, że możemy znaleźć się w stanie oczekiwania na coś, co w końcu może się wydarzyć po długim czasie oczekiwania lub wcale.
Maszyna Godot to zasilana energią słoneczną sztuka elektro-„sztuki”, która próbuje uchwycić rozpaczliwe emocje, które towarzyszą prawdopodobnie bezsensownemu oczekiwaniu.
Nazwa pochodzi ze słynnej sztuki Samuela Becketta Czekając na Godota, w której dwóch mężczyzn czeka na przybycie pewnego Godota, który może przybyć jutro, pojutrze lub nigdy.
Więc co robi Maszyna Godota?
- 1. Przy odrobinie nasłonecznienia obwód Joule Thief zaczyna ładować baterię kondensatorów.
- 2. Po naładowaniu do około 5 V Arduino Nano jest zasilane.
- 3. Arduino generuje 20-bitową prawdziwą liczbę losową, która jest pokazana na 4-bitowym pasku LED.
- 4. Ta liczba jest porównywana z inną losową liczbą, nieznaną wszystkim, która była przechowywana w eepromie przy pierwszym uruchomieniu obwodu.
- 5. Jeśli jest równy, oczekiwanie się skończyło, urządzenie zapisuje ten fakt w eepromie i od tej chwili włącza się zielona dioda LED i piezoelektryczny brzęczyk (jeśli jest wystarczająca ilość energii).
- 6. Jeśli nie jest równy, miej nadzieję, rozpacz, powtórz.
… poza tym raz na jakiś czas wygenerowana liczba jest słyszalna przez brzęczyk, więc nie zapominasz, że masz Godot Machine.
Biorąc pod uwagę, że prawdopodobieństwo trafienia liczby Godota wynosi 1 przez 2^20, czyli około 1 na milion, a maszyna nie jest zbyt szybka, szczególnie zimą i jesienią, znalezienie jej może zająć lata. Twój Godot Machine może nawet stać się częścią twojego dziedzictwa. Czekając, aż przetestuje następny numer, możesz fantazjować o tym, jak odległe praprawnuki mogą w końcu zobaczyć, jak to się kończy. W skrócie: to idealny prezent na nadchodzące święta!
Krok 1: Schemat
Maszyna Godot składa się z:
- Urządzenie do pozyskiwania energii Joule Thief (Q1), które ładuje kondensatory 9x2200uF. Dla tych, którzy cierpią na heliksafobię (irracjonalny niepokój cewek, podczas gdy kondensatory i rezystory nie stanowią takiego problemu), nie obawiaj się, ponieważ nie jest wymagane ręczne nawijanie: sprzężenie powstaje poprzez umieszczenie standardowych cewek koncentrycznych w pobliżu siebie, jak pokazano tutaj Drugie zdjęcie. Niesamowita sztuczka!
- Dyskretny tranzystorowy przełącznik zasilania (Q2, Q3, Q4), który włącza się przy 5V1 około i wyłącza przy około 3,0V. Możesz trochę dostroić R2-R4, jeśli używasz różnych (ogólnych) typów tranzystorów.
- Generator entropii (Q6, Q7, Q8). Obwód ten wzmacnia szum elektroniczny obecny w środowisku od mikrowoltów do poziomów woltów. Ten sygnał jest następnie próbkowany, aby zainicjować oparty na chaosie (odczytywany) generator liczb losowych. Kawałek struny gitarowej działa jak antena.
-Listwa LED z 4 diodami LED lub 4 oddzielnymi czerwonymi diodami LED, sygnalizatorem piezoelektrycznym i zieloną diodą LED.
Zauważ, że wyjście wyłącznika zasilania (kolektora Q4) jest podłączone do pinu 5V Arduino Nano, a NIE do pinu VIN!
Krok 2: Budowa maszyny Godot
Układ zbudowałem na kawałku płyty perforowanej. Nic specjalnego. Panel słoneczny 2V/200mA to pozostałość z innego projektu. Marka to Velleman. Łatwo ją podważyć ostrym nożem, wywiercić otwory na śruby itp. Płytka drukowana i panel słoneczny są przykręcone do dwóch kawałków sklejki, jak pokazano na zdjęciu. Pomysł polega na tym, że panel słoneczny można ustawić w kierunku słońca na nieruchomym oknie.
Krok 3: Kod: losowe liczby z chaosu?
Jak powstają liczby losowe? Cóż, są zrobione z matematyki!
Zamiast używać funkcji generatora liczb losowych Arduino random(), postanowiłem napisać własny generator liczb losowych (RNG), dla zabawy.
Opiera się na mapie logistycznej, która jest najprostszym przykładem chaosu deterministycznego. Oto jak to działa:
Załóżmy, że x jest wartością rzeczywistą z zakresu od 0 do 1, a następnie oblicz: x*r*(1-x), gdzie r=3,9. Wynikiem jest twój następny „x”. Powtarzaj w nieskończoność. To da ci serię liczb od 0 do 1, jak na pierwszym rysunku, gdzie ten proces jest uruchamiany dla wartości początkowej x=0,1 (czerwony) oraz x=0,1001 (niebieski).
A teraz fajna część: bez względu na to, jak blisko wybierzesz dwa różne warunki początkowe, jeśli nie są one dokładnie równe, wynikowe serie liczb w końcu się rozejdą. Nazywa się to „Wrażliwą zależnością od warunków początkowych”.
Matematycznie równanie mapy x*r*(1-x) jest parabolą. Jak pokazano na drugim rysunku, można graficznie określić serię x za pomocą tak zwanej konstrukcji pajęczyny: zacznij od x na osi poziomej, znajdź wartość funkcji na osi y, a następnie odbij od linii prostej przy 45 kąt stopni przechodzący przez początek. Powtarzać. Jak pokazano dla serii czerwonej i niebieskiej, nawet jeśli początkowo są bliskie, całkowicie się rozchodzą po około 30 iteracjach.
Skąd wzięła się liczba r=3,9? Okazuje się, że dla niskich wartości r otrzymujemy tylko dwie naprzemienne wartości x. Zwiększenie parametru r spowoduje przejście w pewnym momencie do oscylacji między 4, 8, 16 wartościami itd. Te rozgałęzienia lub bifurkacje przychodzą coraz szybciej wraz ze wzrostem r, co nazywa się „podwajającą okresową drogą prowadzącą do chaosu”. Wykres z r na osi poziomej i wieloma nakładającymi się w pionie iteracjami x da w wyniku tak zwany wykres bifurkacji (rysunek 3). Dla r=3,9 mapa jest całkowicie chaotyczna.
Więc jeśli obliczymy wiele aktualizacji x i pobierzemy z nich próbkę, otrzymamy liczbę losową? Cóż, w tym momencie byłby to generator pseudolosowych liczb (PRNG), ponieważ jeśli zawsze zaczynamy od tej samej wartości początkowej (po wyjściu z resetu), zawsze otrzymujemy tę samą sekwencję; aka chaos deterministyczny. Tu właśnie pojawia się generator entropii, który zasiewa mapę logistyczną liczbą utworzoną z szumu elektrycznego znajdującego się w środowisku.
Słowem, kod generatora liczb losowych robi to:
- Zmierz napięcie z generatora entropii na styku A0. Zachowaj tylko 4 najmniej znaczące bity.
- Przesuń te 4 bity do wartości „ziarna”, powtórz 8 razy, aby uzyskać 32-bitowy ziarno zmiennoprzecinkowe.
- Zmień skalę nasion od 0 do 1.
- Oblicz średnią tego materiału siewnego i x, aktualny stan mapy logistycznej.
- Przesuń mapę logistyczną o wiele (64) kroków.
- Wyodrębnij pojedynczy bit ze stanu mapy logistycznej x, sprawdzając nieznaczną liczbę dziesiętną.
- Przesuń ten bit na wynik końcowy.
- Powtórz wszystkie powyższe kroki 20 razy.
Uwaga: W kodzie, Serial.println i Serial.begin są odkomentowane. Usuń //, aby sprawdzić wygenerowane liczby losowe na monitorze szeregowym.
Aby być uczciwym, nie sprawdziłem statystycznie jakości liczb losowych (np. zestaw testów NIST), ale wydają się być OK.
Krok 4: Podziwiaj swoją maszynę Godot
Ciesz się swoim Godot Machine i dziel się, komentuj i/lub pytaj, jeśli coś jest niejasne.
Czekając na znalezienie numeru Godota, zagłosuj na ten Instructable w konkursie Made With Math! Dziękuję!
Drugie miejsce w konkursie Made with Math
Zalecana:
Biometryczna maszyna do głosowania oparta na odciskach palców przy użyciu Arduino: 4 kroki (ze zdjęciami)
Biometryczna maszyna do głosowania oparta na odciskach palców przy użyciu Arduino: Wszyscy znamy istniejący elektroniczny automat do głosowania, w którym użytkownik musi nacisnąć przycisk, aby oddać głos. Ale te maszyny od początku były krytykowane za temperowanie. Tak więc rząd planuje wprowadzenie bazy odcisków palców
Kontrolowana przez Internet maszyna do baniek mydlanych: 4 kroki (ze zdjęciami)
Kontrolowana przez Internet maszyna do baniek: Każdy wie, że puszczanie baniek to świetna zabawa, ale może to być ciężka praca. Możemy rozwiązać ten problem, po prostu budując sterowaną przez Internet maszynę do baniek, delegując wysiłek, jednocześnie zbierając wszystkie nagrody. Dla pacjentów hospitalizowanych możesz sprawdzić
Tracey - Maszyna do rysowania: 22 kroki (ze zdjęciami)
Tracey - Maszyna do rysowania: Ta instrukcja jest w toku - będziemy ciężko pracować, aby ułatwić projekt, ale początkowe szkice będą wymagały doświadczenia producenta, drukowania 3D, montażu części, lutowania części elektronicznych, doświadczenia z Arduino IDE itp
Maszyna do pisania odwrócona do plotera: 4 kroki (ze zdjęciami)
Typewriter Turned Plotter: Przepraszamy za słabo napisane instrukcje. Obecnie nie mam zbyt wiele czasu i nie myślałem o napisaniu jednego, kiedy pracowałem nad projektem. Kilka miesięcy temu zrobiłem ploter CD-ROM dla moich córek. Zobacz załączone kilka zdjęć (
MASZYNA DO CIĘCIA DRUTU: 4 kroki (ze zdjęciami)
MASZYNA DO CIĘCIA DRUTU: Cześć przyjaciele Zrobiłem automatyczną maszynę do cięcia drutu za pomocą płytki kontrolera Arduino nano. Zasadniczo istnieją 3 poziomy procesu tej maszyny, takie jak 1) pierwszy proces to InputInput, taki jak długość drutu i ilość drutu zapewniana przez naciśnięcie przycisku