Índice:
- Etapa 1: o esquema
- Etapa 2: Construindo a Máquina Godot
- Etapa 3: O código: números aleatórios do caos?
- Etapa 4: Maravilhe-se com sua máquina Godot
Vídeo: A máquina Godot: 4 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
O que é uma máquina Godot?
Faz parte da experiência humana que podemos nos encontrar em um estado de espera por algo que pode eventualmente acontecer após um longo tempo de espera, ou não acontecerá.
A Máquina Godot é uma obra de eletro "arte" movida a energia solar que tenta capturar a emoção desesperada que acompanha a espera possivelmente inútil.
O nome vem da famosa peça de Samuel Beckett, Esperando Godot, em que dois homens esperam a vinda de um certo Godot, que pode chegar amanhã, depois de amanhã ou nunca.
Então, o que a Máquina Godot faz?
- 1. Com um pouco de sol, um circuito Joule Thief começa a carregar um banco de capacitores.
- 2. Uma vez carregado a cerca de 5 V, o Arduino Nano é alimentado.
- 3. O Arduino gera um número aleatório verdadeiro de 20 bits, que é mostrado em uma barra de LED de 4 bits.
- 4. Este número é comparado a outro número aleatório, desconhecido para todos, que foi armazenado no eeprom na primeira vez que o circuito foi inicializado.
- 5. Se igual, a espera acabou, a máquina armazena este fato no eeprom e a partir de agora o LED verde e o bip piezo são ativados (se houver energia suficiente).
- 6. Se não for igual, espere, desespere, repita.
… Também, de vez em quando, o número gerado torna-se audível pelo bipe, para que você não se esqueça de que tem uma máquina Godot.
Dado que a probabilidade de atingir o número de Godot é 1 sobre 2 ^ 20 ou cerca de um em um milhão, e a máquina não é muito rápida, especialmente no inverno e no outono, pode levar anos para encontrá-lo. Sua máquina Godot pode até se tornar parte de sua herança. Enquanto espera por ele para testar o próximo número, você pode fantasiar sobre como seus bisnetos distantes podem finalmente vê-lo chegar ao fim. Resumindo: é o presente ideal para as próximas festas de fim de ano!
Etapa 1: o esquema
A Máquina Godot consiste em:
-Um coletor de energia Joule Thief (Q1) que carrega capacitores de 9x2200uF. Para aqueles que sofrem de helixafobia (uma angústia irracional dos indutores, enquanto os capacitores e resistores não representam esse problema), não tema, pois nenhum enrolamento manual é necessário: o acoplamento é criado colocando indutores coaxiais padrão nas proximidades uns dos outros, conforme mostrado aqui no 2ª foto. Truque incrível!
-Um interruptor de alimentação de transistor discreto (Q2, Q3, Q4), que liga em 5V1 aproximadamente e desliga em torno de 3,0V. Você pode querer sintonizar R2-R4 um pouco se usar diferentes tipos de transistores (de uso geral).
-Um gerador de entropia (Q6, Q7, Q8). Este circuito amplifica o ruído eletrônico presente no ambiente de níveis de microvolts a volts. Esse sinal é então amostrado para semear um gerador de números aleatórios baseado no caos (leitura). Um pedaço de corda de violão atua como uma antena.
-Uma barra de LED com 4 LEDs ou 4 LEDs vermelhos separados, um sinalizador piezoelétrico e um LED verde.
Observe que a saída da chave liga / desliga (coletor de Q4) é conectada ao pino 5V do Arduino Nano, NÃO ao pino VIN!
Etapa 2: Construindo a Máquina Godot
Eu construí o circuito em um pedaço de perfboard. Nada de especial aí. O painel solar de 2V / 200mA é uma sobra de outro projeto. A marca é Velleman. É fácil abri-lo com uma faca afiada, para fazer furos para parafusos etc. A placa de circuito e o painel solar são aparafusados em duas peças de compensado, conforme mostrado na foto. A ideia é que o painel solar possa ser posicionado voltado para o sol em uma janela parada.
Etapa 3: O código: números aleatórios do caos?
Como são feitos os números aleatórios? Bem, eles são feitos com matemática!
Em vez de usar a função de gerador de números aleatórios do Arduino, random (), decidi escrever meu próprio Gerador de números aleatórios (RNG), apenas por diversão.
Baseia-se no mapa logístico, que é o exemplo mais simples de caos determinístico. Funciona assim:
Suponha que x seja algum valor real entre 0 e 1, então calcule: x * r * (1-x), onde r = 3,9. O resultado é o seu próximo 'x'. Repita ad infinitum. Isso lhe dará uma série de números entre 0 e 1, como na primeira figura, onde este processo é iniciado para o valor inicial de x = 0,1 (vermelho) e também x = 0,1001 (azul).
Agora, aqui está a parte legal: não importa o quão perto você escolha duas condições iniciais diferentes, se elas não forem exatamente iguais, a série de números resultante irá eventualmente divergir. Isso é chamado de 'dependência sensível das condições iniciais'.
Matematicamente, a equação do mapa x * r * (1-x) é uma parábola. Conforme mostrado na 2ª figura, você pode determinar graficamente a série x usando o que é conhecido como construção de teia de aranha: comece de x no eixo horizontal, encontre o valor da função no eixo y e, em seguida, reflita contra uma linha reta em 45 ângulo de graus passando pela origem. Repetir. Conforme mostrado para as séries vermelha e azul, mesmo que inicialmente próximas, elas divergem completamente após cerca de 30 iterações.
Agora, de onde vem o número 'r = 3,9'? Acontece que, para valores baixos de r, obtemos apenas dois valores x alternados. Aumentar o parâmetro r irá, então, em algum ponto mudar para uma oscilação entre 4, 8, 16 valores, etc. Essas ramificações ou bifurcações vêm mais e mais rapidamente à medida que r é aumentado, no que é chamado de 'rota de duplicação do período para o caos'. Um gráfico com r no eixo horizontal e muitas iterações x sobrepostas verticalmente resultará no que é conhecido como gráfico de bifurcação (3ª figura). Para r = 3,9, o mapa é totalmente caótico.
Portanto, se calcularmos muitas atualizações x e obtermos uma amostra delas, obteremos um número aleatório? Bem, não, neste ponto seria um gerador de números pseudo-aleatórios (PRNG), pois se sempre começarmos com o mesmo valor inicial (após sair do reset), sempre obteremos a mesma sequência; também conhecido como caos determinístico. É aí que entra o gerador de entropia, que semeia o mapa logístico com um número gerado a partir do ruído elétrico encontrado no ambiente.
Em palavras, o código do gerador de número aleatório faz isso:
- Meça a tensão do gerador de entropia no pino A0. Mantenha apenas os 4 bits menos significativos.
- Mude esses 4 bits para um valor de 'semente', repita 8 vezes para obter uma semente de ponto flutuante de 32 bits.
- Redimensione a semente entre 0 e 1.
- Calcule a média desta semente ex, o estado atual do mapa logístico.
- Avance no mapa logístico várias (64) etapas.
- Extraia um único bit do estado x do mapa logístico verificando algum decimal insignificante.
- Mude essa parte para o resultado final.
- Repita todos os passos acima 20 vezes.
Observação: no código, Serial.println e Serial.begin são comentados. Remova o // para verificar os números aleatórios gerados no monitor serial.
Para ser justo, não verifiquei estatisticamente a qualidade dos números aleatórios (por exemplo, suíte de teste NIST), mas eles parecem estar OK.
Etapa 4: Maravilhe-se com sua máquina Godot
Aproveite a sua máquina Godot e compartilhe, comente e / ou pergunte se algo não estiver claro.
Enquanto você espera que o número de Godot seja encontrado, vote neste Instructable no concurso Made With Math! Obrigado!
Vice-campeão no concurso Made with Math
Recomendado:
Kit de conversão de máquina de escrever USB: 9 etapas (com fotos)
Kit de conversão de máquina de escrever USB: Há algo muito mágico em digitar nessas máquinas de escrever manuais da velha guarda. Do satisfatório estalo das teclas com molas, ao brilho dos detalhes cromados polidos, às marcas nítidas na página impressa, as máquinas de escrever fazem um su
Como fiz minha própria máquina de boxe ?: 11 etapas (com fotos)
Como fiz minha própria máquina de boxe ?: Não há nenhuma história incrível por trás desse projeto - eu apenas sempre gostei das máquinas de boxe, que estavam localizadas em vários lugares populares. Resolvi construir o meu
Máquina de chicletes de papelão viva-voz: 18 etapas (com fotos)
Máquina de chicletes de papelão mãos-livres: fizemos uma máquina de chicletes sem toque usando um micro: bit, uma placa de bits de circuitos loucos, um sensor de distância, um servo e papelão. Fazer e usar foi um " EXPLOSÃO "! ? ? Quando você coloca sua mão na base do foguete, um sensor de distância
Máquina de LEVITAÇÃO ULTRASSÔNICA usando ARDUINO: 8 etapas (com fotos)
Máquina de LEVITAÇÃO ULTRASSÔNICA usando ARDUINO: É muito interessante ver algo flutuando no ar ou no espaço livre como espaçonaves alienígenas. é exatamente disso que trata um projeto de antigravidade. O objeto (basicamente um pequeno pedaço de papel ou termocolante) é colocado entre duas trans
Smokin '- Máquina de fumaça controlada por controle remoto econômica: 5 etapas (com fotos)
Smokin '- Máquina de Fumaça com Controle Remoto Barato: Este é um resumo instrutivo sobre como fazer uma pequena máquina de fumaça relativamente pequena, controlada remotamente, barata e divertida, que pode ser usada para pregar peças em amigos, fazer truques de mágica, testar fluxos de ar ou qualquer outra coisa seus desejos do coração. Isenção de responsabilidade: esta compilação contém