Índice:

Raspberry Pi Planet Finder: 14 etapas (com imagens)
Raspberry Pi Planet Finder: 14 etapas (com imagens)

Vídeo: Raspberry Pi Planet Finder: 14 etapas (com imagens)

Vídeo: Raspberry Pi Planet Finder: 14 etapas (com imagens)
Vídeo: Automated #RaspberryPi Planet Tracking GOTO Telescope 2024, Julho
Anonim
Image
Image
O que você precisa
O que você precisa

Fora do Centro de Ciências da minha cidade, há uma grande estrutura de metal que poderia girar e apontar para onde os planetas estavam no céu. Nunca o vi funcionar, mas sempre pensei que seria mágico saber onde esses outros mundos inalcançáveis realmente estavam em relação ao meu minúsculo eu.

Recentemente, quando passei por essa exibição morta há muito tempo, pensei: "Aposto que posso fazer isso", e foi o que fiz!

Este é um guia sobre como fazer o Planet Finder (apresentando a Lua) para que você também saiba para onde olhar quando estiver se sentindo intimidado pelo espaço.

Etapa 1: O que você precisa

O que você precisa
O que você precisa

1 x Raspberry Pi (versão 3 ou superior para wi-fi integrado)

1 x tela LCD (16 x 2) (assim)

2 x motores de passo com drivers (28-BYJ48) (como estes)

3 x botões de pressão (como estes)

2 x acopladores de flange (como estes)

1 x bússola de botão (assim)

8 parafusos e porcas M3

Peças impressas em 3D para a caixa e telescópio

Etapa 2: Coordenadas Planetárias

Coordenadas Planetárias
Coordenadas Planetárias

Existem algumas maneiras diferentes de descrever onde os objetos astronômicos estão no céu.

Para nós, o que faz mais sentido usar é o Sistema de Coordenadas Horizontais conforme mostrado na imagem acima. Esta imagem é da página da Wikipedia com link aqui:

en.wikipedia.org/wiki/Horizontal_coordinat…

O sistema de Coordenadas Horizontais fornece um ângulo do Norte (o Azimute) e para cima do horizonte (a Altitude), então é diferente dependendo de onde você está olhando no mundo. Portanto, nosso localizador de planetas precisa levar em consideração a localização e encontrar uma maneira de encontrar o Norte para ser uma referência.

Em vez de tentar calcular a altitude e o azimute, que mudam com o tempo e a localização, usaremos a conexão wi-fi a bordo do Raspberry Pi para consultar esses dados da NASA. Eles acompanham esse tipo de coisa para que não tenhamos que fazer;)

Etapa 3: Acessando os dados do planeta

Estamos recebendo nossos dados do Laboratório de Propulsão a Jato da NASA (JPL) -

Para acessar esses dados, usamos uma biblioteca chamada AstroQuery que é um conjunto de ferramentas para consultar formulários astronômicos da web e bancos de dados. A documentação para esta biblioteca pode ser encontrada aqui:

Se este for seu primeiro projeto Raspberry Pi, comece seguindo este guia de configuração:

Se você estiver usando Raspbian em seu Raspberry Pi (você usará se seguir o guia acima), então você já tem o python3 instalado, certifique-se de ter a versão mais recente instalada (estou usando a versão 3.7.3). Precisamos usar isso para obter pip. Abra um terminal e digite o seguinte:

sudo apt install python3-pip

Podemos então usar o pip para instalar a versão atualizada do astroquery.

pip3 install - pré - atualizar astroquery

Antes de continuar com o restante deste projeto, tente acessar esses dados com um script Python simples para se certificar de que todas as dependências corretas foram instaladas corretamente.

de astroquery.jplhorizons import Horizons

mars = Horizons (id = 499, location = '000', epochs = None, id_type = 'majorbody') eph = mars.ephemerides () print (eph)

Isso deve mostrar os detalhes da localização de Marte!

Você pode verificar se esses dados estão corretos usando este site para pesquisar as posições dos planetas ao vivo:

Para quebrar esta consulta um pouco, o id é o número associado a Marte nos dados do JPL, epochs é o momento em que queremos os dados (Nenhum significa agora) e id_type está solicitando os principais corpos do sistema solar. A localização está atualmente definida para o Reino Unido, pois '000' é o código de localização do observatório em Greenwich. Outros locais podem ser encontrados aqui:

Solução de problemas:

Se você receber o erro: Nenhum módulo chamado 'keyring.util.escape'

tente o seguinte comando no terminal:

pip3 install --upgrade keyrings.alt

Etapa 4: Código

Anexado a esta etapa está o script Python completo usado neste projeto.

Para encontrar os dados corretos para sua localização, vá para a função getPlanetInfo e altere a localização usando a lista de observatórios na etapa anterior.

def getPlanetInfo (planeta):

obj = Horizontes (id = planeta, localização = '000', epochs = Nenhum, id_type = 'majorbody') eph = obj.ephemerides () return eph

Etapa 5: Conectando o Hardware

Hardware de conexão
Hardware de conexão
Hardware de conexão
Hardware de conexão
Hardware de conexão
Hardware de conexão

Usando placas de ensaio e fios de jumper, conecte dois motores de passo, a tela LCD e três botões conforme mostrado no diagrama de circuito acima.

Para descobrir o número dos pinos em seu Raspberry Pi, vá para o terminal e digite

pinagem

Isso deve mostrar a imagem acima completa com números GPIO e números de placa. Estamos usando números de placa para definir quais pinos são usados no código, então irei fazer referência aos números entre colchetes.

Como uma ajuda para o diagrama de circuito, aqui estão os pinos que estão conectados a cada parte:

1º motor de passo - 7, 11, 13, 15

2º motor de passo - 40, 38, 36, 32

Botão1 - 33

Botão 2 - 37

Botão 3 - 35

Tela LCD - 26, 24, 22, 18, 16, 12

Quando tudo estiver conectado, execute o script python

python3 planetFinder.py

e você deve ver a tela mostrar o texto de configuração e os botões devem mover os motores de passo.

Etapa 6: Projetando o caso

Projetando o caso
Projetando o caso
Projetando o caso
Projetando o caso
Projetando o caso
Projetando o caso

A caixa foi projetada para ser impressa em 3D facilmente. Ele se divide em partes separadas que são coladas uma vez que os componentes eletrônicos são fixados no lugar.

Os furos são dimensionados para os botões que usei e para os parafusos M3.

Imprimi o telescópio em partes e colei-as depois para evitar muita estrutura de suporte.

Os arquivos STL são anexados a esta etapa.

Etapa 7: Teste as impressões

Testando as Impressões
Testando as Impressões
Testando as Impressões
Testando as Impressões
Testando as Impressões
Testando as Impressões
Testando as Impressões
Testando as Impressões

Depois que tudo estiver impresso, certifique-se de que tudo se encaixe perfeitamente antes de fazer qualquer colagem.

Coloque os botões no lugar e prenda a tela e os motores de passo com parafusos M3 e dê uma boa mexida em tudo. Lime quaisquer arestas e desmonte tudo novamente antes da próxima etapa.

Etapa 8: Estendendo o motor de passo

Estendendo o motor de passo
Estendendo o motor de passo
Estendendo o motor de passo
Estendendo o motor de passo
Estendendo o motor de passo
Estendendo o motor de passo

O motor de passo que controlará o ângulo de elevação do telescópio ficará acima da caixa principal e precisa de alguma folga nos fios para girar. Os fios precisam ser estendidos cortando-os entre o stepper e sua placa de controle e soldando um novo comprimento de fio no meio.

Eu inseri o novo fio na torre de suporte usando um pedaço de linha para ajudar a persuadi-lo, pois o fio que estou usando é bastante rígido e fica preso. Depois de passar, ele pode ser soldado ao motor de passo, certificando-se de manter o controle de qual cor está conectada para recolocar os corretos na outra extremidade. Não se esqueça de adicionar termorretrátil aos fios!

Depois de soldado, execute o script python para verificar se tudo ainda está funcionando e, em seguida, empurre os fios de volta para baixo do tubo até que o motor de passo esteja na posição. Ele pode então ser preso à carcaça do motor de passo com parafusos e porcas M3 antes que a parte traseira da carcaça seja colada no lugar.

Etapa 9: botões de montagem e tela LCD

Botões de montagem e tela LCD
Botões de montagem e tela LCD
Botões de montagem e tela LCD
Botões de montagem e tela LCD
Botões de montagem e tela LCD
Botões de montagem e tela LCD
Botões de montagem e tela LCD
Botões de montagem e tela LCD

Insira os botões e aperte as porcas para prendê-los no lugar antes de soldar. Eu gosto de usar um fio terra comum que passa entre eles para fins de limpeza.

Prenda a tela LCD com parafusos e porcas M3. O LCD precisa de um potenciômetro em um de seus pinos, que também soldei neste estágio.

Teste o código novamente! Certifique-se de que tudo ainda está funcionando antes de colarmos tudo, pois é muito mais fácil de consertar neste estágio.

Etapa 10: adicionar flanges

Adicionando Flanges
Adicionando Flanges
Adicionando Flanges
Adicionando Flanges
Adicionando Flanges
Adicionando Flanges
Adicionando Flanges
Adicionando Flanges

Para conectar as peças impressas em 3D aos motores de passo, estamos usando um acoplamento de flange de 5 mm que se encaixa no topo da extremidade do motor de passo e é mantido no lugar por parafusos minúsculos.

Um flange é colado à base da torre giratória e o outro ao telescópio.

Fixar o telescópio ao motor no topo da torre giratória é simples, pois há muito espaço para acessar os pequenos parafusos que o prendem no lugar. O outro flange é mais difícil de prender, mas há espaço suficiente entre a caixa principal e a base da torre giratória para encaixar uma pequena chave allen e apertar o parafuso.

Teste novamente!

Agora tudo deve estar funcionando como estará em seu estado final. Se não for, agora é a hora de corrigir o bug e certificar-se de que todas as conexões estão seguras. Certifique-se de que os fios expostos não estejam se tocando, use fita isolante e remende todos os lugares que possam causar problemas.

Etapa 11: Executar na inicialização

Em vez de executar o código manualmente toda vez que quisermos encontrar um planeta, queremos que isso seja executado como uma exibição independente, portanto, vamos configurá-lo para executar nosso código sempre que o Raspberry Pi for ativado.

No terminal, digite

crontab -e

No arquivo que é aberto, adicione o seguinte ao final do arquivo, seguido por uma nova linha.

@reboot python3 /home/pi/PlanetFinder/planetFinder.py &

Tenho meu código salvo em uma pasta chamada PlanetFinder, então /home/pi/PlanetFinder/planetFinder.py é o local do meu arquivo. Se o seu estiver salvo em outro lugar, certifique-se de alterá-lo aqui.

O & no final é importante, pois permite que o código seja executado em segundo plano, de modo que não retém outros processos que também acontecem na inicialização.

Etapa 12: cole tudo junto

Cole tudo junto!
Cole tudo junto!
Cole tudo junto!
Cole tudo junto!

Tudo o que ainda não está colado no lugar agora deve ser fixado.

Finalmente, adicione a pequena bússola no meio da base rotativa.

Etapa 13: Uso

Uso
Uso

Quando o Planet Finder é ativado, ele solicitará que o usuário ajuste o eixo vertical. Pressionar os botões para cima e para baixo moverá o telescópio, tente nivelá-lo, apontando para a direita, e pressione o botão ok (na parte inferior).

O usuário será solicitado a ajustar a rotação, use os botões para girar o telescópio até apontar para o norte de acordo com a pequena bússola e pressione ok.

Agora você pode percorrer os planetas usando os botões para cima / para baixo e selecionar um que gostaria de encontrar com o botão ok. Ele exibirá a altitude e o azimute do planeta, em seguida, vá e aponte para ele por alguns segundos antes de voltar para o norte.

Etapa 14: Concluída

Finalizado
Finalizado

Tudo feito!

Divirta-se sabendo onde todos os planetas estão:)

Desafio Espacial
Desafio Espacial
Desafio Espacial
Desafio Espacial

Primeiro Prêmio no Desafio Espacial

Recomendado: