Índice:
- Etapa 1: coleta de materiais / esboço do CubeSat
- Etapa 2: Construindo o Cubesat
- Etapa 3: cabeamento e codificação do Arduino
- Etapa 4: Verificando o Cubesat
- Etapa 5: amarrando o CubeSat
- Etapa 6: o teste de Swing
- Etapa 7: Teste nº 2 - o teste de agitação
- Etapa 8: Resultados / CubeSat de temperatura concluído
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
Você já quis fazer algo que pudesse ser enviado ao espaço e medir a temperatura de outro planeta? Em nossa aula de física do ensino médio, fomos designados para construir um CubeSat com um arduino funcionando com a questão principal: Como podemos fazer isso funcionar em Marte? Decidimos fazer com que ele medisse a temperatura do planeta, porque quem não gostaria de saber o quão quente é Marte? No entanto, precisávamos fazer algo acessível, mas também durável. Portanto, usamos Legos. Isso tornou o CubeSat durável e nos ajudou a alcançar as dimensões de dimensionamento com bastante facilidade - mesmo que todas as peças fossem um pouco incômodas! Nosso objetivo era ter um sensor totalmente funcional que pudesse medir a temperatura da área circundante e um CubeSat protetor ao redor dele.
Etapa 1: coleta de materiais / esboço do CubeSat
A primeira coisa que você vai querer fazer é esboçar o CubeSat. Você precisará ter uma ideia do que deseja construir antes de construí-lo. Uma das fotos acima são os esboços do CubeSat que fizemos. Em seguida, reúna seus materiais. Para o CubeSat que estamos construindo, estamos usando Legos. Escolhemos os Legos porque são fáceis de obter e montar e, ao mesmo tempo, são duráveis e desempenham bem as tarefas exigidas. Portanto, você precisará obter alguns Legos. pegue algumas peças de base largas, que são 10 cm x 10 cm x 10 cm, ou algumas peças de base que podem ser colocadas juntas em uma peça de 10 por 10. Para o nosso CubeSat, tivemos que pegar várias peças de base e colocá-las juntas para fazer uma base de 10 cm por 10 cm. Você também precisará obter Legos para fazer uma peça de telhado do mesmo tamanho. Depois de obter esses Legos, você precisará obter uma tonelada de pequenos Legos para construir as paredes do CubeSat. Certifique-se de que esses Legos sejam bastante finos, para que não ocupem muito o interior do CubeSat.
Etapa 2: Construindo o Cubesat
Primeiro, construímos essa beleza 10x10x10. Foram necessários vários designs diferentes. Primeiro tínhamos uma prateleira no meio, mas depois decidimos que era desnecessário ter. Se você optar por ter uma prateleira no meio, eu recomendaria apenas uma prateleira porque você terá que desmontá-la toda vez que colocar e tirar o Arduino e o sensor. Adicionamos pequenas janelas para que possamos dar uma olhada rápida dentro enquanto a parte superior está fechada para que possamos ver tudo funcionando perfeitamente. Para tornar o CubeSat mais estável, juntamos duas camadas de Lego na parte inferior. Quanto mais estável, melhor, porque este CubeSat precisará ser capaz de sobreviver a muitos obstáculos diferentes.
Etapa 3: cabeamento e codificação do Arduino
A segunda etapa deste projeto é onde você precisará conectar o arduino. Este passo é muito importante, pois se não for feito corretamente o cubo sat não conseguirá ler a temperatura. Para completar a fiação do arduino, você precisará de alguns materiais. Esses materiais são uma bateria, um arduino, um cartão SD, fios de jumper, uma placa de ensaio, um sensor de temperatura e um computador. O computador será usado para ver se a fiação está funcionando direito. Aqui está um site que foi muito útil para nos orientar sobre como conectar o arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
As imagens e o diagrama estragado acima também podem ajudá-lo. A codificação do arduino também será testada no computador para ver se está funcionando. Se tudo estiver funcionando, o arduino pode ser retirado do computador e está pronto para funcionar.
Código:
// O fio de dados está conectado à porta 2 no Arduino
#define ONE_WIRE_BUS 2
SensorData de arquivo;
// Configure uma instância oneWire para se comunicar com qualquer dispositivo OneWire (não apenas ICs de temperatura Maxim / Dallas)
OneWire oneWire (ONE_WIRE_BUS);
// Incluir as bibliotecas de que precisamos
#incluir
#incluir
#incluir
// Passe nossa referência oneWire para Dallas Temperature.
Sensores de temperatura Dallas (& oneWire);
// arrays para manter o endereço do dispositivo
DeviceAddress insideThermometer;
/*
* Função de configuração. Aqui nós fazemos o básico
*/
configuração de void (void)
{
pinMode (10, SAÍDA);
SD.begin (4);
// inicia a porta serial
Serial.begin (9600);
Serial.println ("Demonstração da biblioteca de controle de IC de temperatura de Dallas");
// localizar dispositivos no ônibus
Serial.print ("Localizando dispositivos…");
sensores.begin ();
Serial.print ("Encontrado");
Serial.print (sensores.getDeviceCount (), DEC);
Serial.println ("dispositivos.");
// relata os requisitos de energia do parasita
Serial.print ("A potência do parasita é:");
if (sensores.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("OFF");
/ * Atribuir endereço manualmente. Os endereços abaixo serão alterados
para endereços de dispositivos válidos em seu ônibus. O endereço do dispositivo pode ser recuperado
usando oneWire.search (deviceAddress) ou individualmente via
sensores.getAddress (deviceAddress, index) Observe que você precisará usar seu endereço específico aqui
termômetro interno = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
Método 1:
Pesquise dispositivos no barramento e atribua com base em um índice. Idealmente, você faria isso para descobrir inicialmente os endereços no ônibus e depois
use esses endereços e atribua-os manualmente (veja acima) assim que souber
os dispositivos em seu barramento (e supondo que eles não mudem).
* / if (! sensores.getAddress (insideThermometer, 0)) Serial.println ("Não foi possível encontrar o endereço para o dispositivo 0");
// método 2: search ()
// search () procura o próximo dispositivo. Retorna 1 se um novo endereço foi
// retornou. Um zero pode significar que o barramento está em curto, não há dispositivos, // ou você já recuperou todos eles. Pode ser uma boa ideia
// verifique o CRC para ter certeza de que não recebeu lixo. O pedido é
// determinístico. Você sempre obterá os mesmos dispositivos na mesma ordem
//
// Deve ser chamado antes de search ()
//oneWire.reset_search ();
// atribui o primeiro endereço encontrado a dentro do termômetro
// if (! oneWire.search (insideThermometer)) Serial.println ("Não foi possível encontrar o endereço para insideThermometer");
// mostra os endereços que encontramos no ônibus
Serial.print ("Endereço do dispositivo 0:");
printAddress (insideThermometer);
Serial.println ();
// defina a resolução para 9 bits (cada dispositivo Dallas / Maxim é capaz de várias resoluções diferentes)
sensores.setResolution (dentro do termômetro, 9);
Serial.print ("Resolução do dispositivo 0:");
Serial.print (sensores.getResolution (insideThermometer), DEC);
Serial.println ();
}
// função para imprimir a temperatura de um dispositivo
void printTemperature (DeviceAddress deviceAddress)
{
// método 1 - mais lento
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // Faz uma segunda chamada para getTempC e depois converte para Fahrenheit
// método 2 - mais rápido
float tempC = sensores.getTempC (deviceAddress);
if (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Erro: não foi possível ler os dados de temperatura");
Retorna;
}
sensorData = SD.open ("log.txt", FILE_WRITE);
if (sensorData) {
Serial.print ("Temp C:");
Serial.print (tempC);
Serial.print ("Temp F:");
Serial.println (DallasTemperature:: toFahrenheit (tempC)); // Converte tempC em Fahrenheit
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Função principal. Ele solicitará o tempC dos sensores e será exibido em Serial.
*/
loop vazio (vazio)
{
// chame sensores.requestTemperatures () para emitir uma temperatura global
// pedido para todos os dispositivos no barramento
Serial.print ("Solicitando temperaturas…");
sensores.requestTemperatures (); // Envie o comando para obter as temperaturas
Serial.println ("FEITO");
// Ele responde quase imediatamente. Vamos imprimir os dados
printTemperature (insideThermometer); // Use uma função simples para imprimir os dados
}
// função para imprimir um endereço de dispositivo
void printAddress (DeviceAddress deviceAddress)
{
para (uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
Responder para a frente
Etapa 4: Verificando o Cubesat
Agora que o CubeSat, o código e a fiação de um Arduino estão completos, você executará os testes em breve. Se esses testes falharem, seu CubeSat pode ser completamente destruído, junto com seu Arduino. Portanto, você deve ter certeza de que seu Arduino está pronto para isso. É aí que entra essa etapa, verificando o CubeSat. Primeiro, você precisará colocar seu Arduino com segurança dentro do CubeSat e certificar-se de que ele não se mexa. Em seguida, você precisará certificar-se de que todas as peças do CubeSat estão seguras no lugar. Não pode haver peças soltas, ou o CubeSat terá maior probabilidade de se desfazer durante os testes. Se você verificar seu CubeSat com firmeza, os testes pelos quais ele passa devem ser passados facilmente.
Etapa 5: amarrando o CubeSat
Esta etapa será uma preparação para o primeiro teste pelo qual o CubeSat passará. No teste, o CubeSat será girado em um ritmo rápido em um círculo por 30 segundos. Você precisará certificar-se de que o CubeSat está bem amarrado para que não saia voando. Amarramos 2 cordas completamente ao redor do CubeSat e as amarramos firmemente. Em seguida, adicionamos outra corda longa, que foi amarrada em volta das duas primeiras. Nós demos este barbante várias vezes na parte superior e inferior para que ficasse o mais seguro possível. Isso pode exigir várias tentativas, porque você deseja deixar a corda perfeita para que ela não se solte durante o vôo.
Etapa 6: o teste de Swing
Para segurança nesta etapa, certifique-se de usar óculos de proteção para proteger seus olhos. Nesta etapa, você executará o CubeSat por meio de um teste para ver se ele protege o Arduino bem o suficiente para realizar sua tarefa (encontrar a temperatura). O primeiro teste é aquele que precisa do encordoamento. Neste teste, o Arduino será girado (conforme mostrado na imagem / vídeo acima) - (às vezes, o vídeo tem problemas para carregar). Um modelo de Marte pode ser colocado no meio. Para concluir este teste com sucesso, o Arduino precisará girar sem se desconectar, e é por isso que precisa ser bem amarrado, e o Arduino precisará estar funcionando totalmente após a conclusão do teste. É por isso que você precisa ter certeza de que o Arduino está bem preso no CubeSat.
Etapa 7: Teste nº 2 - o teste de agitação
Nesta etapa, seu CubeSat passará pelo teste # 2. Este teste é o teste de agitação. Neste teste, o CubeSat será colocado em um suporte conforme mostrado na imagem / vídeo (às vezes o vídeo tem problemas para carregar) acima e será sacudido violentamente para frente e para trás por 30 segundos. Para passar neste teste, seu CubeSat e Arduino precisarão ainda estar funcionando totalmente depois de serem sacudidos.
Etapa 8: Resultados / CubeSat de temperatura concluído
No final, nosso CubeSat foi capaz de registrar com sucesso a temperatura ao passar por todos os testes. Os dados mostram consistentemente 26-30 graus Celsius em todos os testes. Isso é o mesmo que 78-86 graus Fahrenheit. No entanto, tivemos alguns problemas no caminho. Por exemplo, várias vezes a codificação do arduino não funcionou e leu 126 graus Celsius. Foram necessárias várias tentativas para atingir a temperatura correta. Um conselho que eu daria a qualquer um que esteja fazendo este projeto seria tentar várias variações de código e fiação e certificar-se de que seu arduino se encaixa perfeitamente no CubeSat. Você pode precisar diminuir a lacuna dentro do CubeSat para garantir que o arduino se encaixe perfeitamente dentro. Tivemos alguns problemas com o arduino estar muito solto no CubeSat.
Neste projeto, você também precisará aplicar seus conhecimentos de física. Conhecimento de física de tecnologia, energia e força precisará ser aplicado ao longo do projeto. Ao longo do projeto, aprendemos mais sobre o sistema solar e novas tecnologias como o CubeSats. Também aprendemos sobre a força gravitacional e como essa força pode afetar o CubeSat. Um tópico muito importante com este projeto foi o movimento de satélite. Aprendemos sobre o movimento do satélite usando velocidade, força líquida e gravidade. Isso nos ajudaria a encontrar os projéteis dos satélites.
Assim que o CubeSat e o arduino passarem com êxito nos testes e funcionarem corretamente, você terá concluído o processo. Seu CubeSat deve ser capaz de sobreviver à atmosfera de Marte. Certifique-se de que o sensor também registrou a temperatura com êxito durante os testes. Seu CubeSat está pronto para ir para o espaço!
Recomendado:
Como fazer um CubeSat que possa medir a temperatura: 3 etapas
Como fazer um CubeSat que possa medir a temperatura: Venha e você verá um cubo 11x11x11x11 de pura imaginação, segure minha mão e você verá a temperatura de Marte! (ao som de “Imagination” de Willy Wonka) Hoje vou mostrar que você tem que construir seu próprio CubeSat! Eu e meus parceiros Alyssa e
Dia da semana, calendário, hora, umidade / temperatura com economia de bateria: 10 etapas (com fotos)
Dia da semana, calendário, hora, umidade / temperatura com economia de bateria: O modo de economia de energia aqui é o que diferencia este Instructable de outros exemplos que mostram o dia da semana, mês, dia do mês, hora, umidade e temperatura. É esta capacidade que permite que este projeto seja executado a partir de uma bateria, sem t
Exibição de data, hora e temperatura usando o XinaBox: 8 etapas
Display de Data, Hora e Temperatura usando XinaBox: display OLED legal mostrando a data, hora e temperatura em Celsius e Fahrenheit usando Xinabox xChips baseado em ESP8266
Uma unidade de exibição de data, hora e temperatura fofa: 3 etapas
Uma unidade de exibição de data, hora e temperatura fofa: Olá amigos, neste instrutível, irei explicar o procedimento para fazer uma unidade de exibição de data, hora e temperatura atual usando um Arduino pro mini, um RTC e um display de oito dígitos e sete segmentos em uma unidade muito compacta, que é um devi útil
Envia um SMS com temperatura na hora: 5 etapas (com fotos)
Envia um SMS com Temperatura na Hora: A ideia é conseguir um SMS com temperatura na casa do meu pai. Nada sofisticado, apenas juntando as partes rapidamente. As partes são: Geekcreit ® Placa controladora ATmega328P Nano V3 compatível com ArduinoDIY NANO IO Shield V1.O placa de expansão para ArduinoDS130