Sommario:
- Passaggio 1: raccolta di materiali/schizzi di CubeSat
- Passaggio 2: costruire il Cubesat
- Passaggio 3: cablaggio e codifica di Arduino
- Passaggio 4: controllo del Cubesat
- Passaggio 5: mettere in fila il CubeSat
- Passaggio 6: il test dell'oscillazione
- Passaggio 7: test n. 2 - il test di scuotimento
- Passaggio 8: Risultati/Temperatura CubeSat completata
Video: Cubetto di temperaturaSat Ben & Kaiti & Q Hour 1: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Hai mai desiderato creare qualcosa da te che può essere inviato nello spazio e prendere la temperatura di un altro pianeta? Nella nostra lezione di fisica del liceo, siamo stati assegnati a costruire un CubeSat con un arduino funzionante con la domanda principale Come possiamo farlo funzionare su Marte? Abbiamo deciso di fargli misurare la temperatura del pianeta, perché chi non vorrebbe sapere quanto è caldo Marte? Tuttavia, dovevamo realizzarlo con qualcosa di economico, ma anche durevole. Pertanto, abbiamo usato i Lego. Ciò ha reso il CubeSat resistente e ci ha aiutato a raggiungere le dimensioni di dimensionamento abbastanza facilmente, anche se tutti i pezzi erano un po' fastidiosi! Il nostro obiettivo era avere un sensore perfettamente funzionante in grado di rilevare la temperatura dell'area circostante e un CubeSat protettivo attorno ad esso.
Passaggio 1: raccolta di materiali/schizzi di CubeSat
La prima cosa che vorrai fare è disegnare il CubeSat. Avrai bisogno di avere un'idea di cosa vuoi costruire prima di costruirlo. Una delle foto sopra è degli schizzi CubeSat che abbiamo realizzato. Quindi, raccogli i tuoi materiali. Per il CubeSat che stiamo costruendo, stiamo usando i Lego. Abbiamo scelto i Lego perché sono facili da ottenere e assemblare, e allo stesso tempo sono durevoli e svolgeranno bene i compiti richiesti. Quindi, dovrai prendere dei Lego. prendi un paio di pezzi base larghi, che sono 10 cm X 10 cm X 10 cm, o alcuni pezzi base che possono essere messi insieme in un pezzo 10 per 10. Per il nostro CubeSat, abbiamo dovuto ottenere più pezzi di base e metterli insieme per creare una base di 10 cm per 10 cm. Dovrai anche ottenere i Lego per realizzare un pezzo di tetto della stessa dimensione. Dopo aver ottenuto quei Lego, dovrai procurarti un sacco di piccoli Lego per costruire le pareti del CubeSat. Assicurati che questi Lego siano abbastanza sottili, in modo che non occupino troppo l'interno del CubeSat.
Passaggio 2: costruire il Cubesat
Per prima cosa, abbiamo costruito questa bellezza 10x10x10. Ci sono voluti molti design diversi. Prima avevamo uno scaffale nel mezzo, ma in seguito abbiamo deciso che non era necessario averlo. Se scegli di avere uno scaffale nel mezzo, consiglierei solo uno scaffale perché dovrai smontarlo ogni volta che metti ed estrai il tuo Arduino e il sensore. Abbiamo aggiunto piccole finestre in modo da poter dare una rapida occhiata all'interno mentre la parte superiore è chiusa in modo da poter vedere che tutto funziona senza intoppi. Per rendere il CubeSat più stabile, abbiamo messo insieme due strati di Lego nella parte inferiore. Più è stabile, meglio è, perché questo CubeSat dovrà essere in grado di sopravvivere a molti ostacoli diversi.
Passaggio 3: cablaggio e codifica di Arduino
Il secondo passo di questo progetto è dove dovrai cablare l'arduino. Questo passaggio è molto importante, perché, se non viene eseguito correttamente, il cubo sat non sarà in grado di leggere la temperatura. Per completare il cablaggio dell'arduino, avrai bisogno di alcuni materiali. Questi materiali sono una batteria, arduino, una scheda SD, cavi per ponticelli, una breadboard, un sensore di temperatura e un computer. Il computer verrà utilizzato per vedere se il cablaggio funziona correttamente. Ecco un sito Web che è stato molto utile nel guidarci su come collegare l'arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Anche le immagini e lo schema fritzing sopra possono aiutarti. La codifica dell'arduino verrà anche testata sul computer per vedere se funziona. Se tutto funziona, l'arduino può essere estratto dal computer ed è pronto per l'uso.
Codice:
// Il cavo dati è collegato alla porta 2 di Arduino
#define ONE_WIRE_BUS 2
File sensoreDati;
// Configura un'istanza oneWire per comunicare con qualsiasi dispositivo OneWire (non solo i circuiti integrati di temperatura Maxim/Dallas)
OneWire oneWire(ONE_WIRE_BUS);
// Includi le librerie di cui abbiamo bisogno
#includere
#includere
#includere
// Passa il nostro riferimento oneWire a Dallas Temperature.
DallasSensori di temperatura(&oneWire);
// array per contenere l'indirizzo del dispositivo
DeviceAddress insideTermometro;
/*
* Funzione di configurazione. Qui facciamo le basi
*/
configurazione nulla (vuota)
{
pinMode (10, USCITA);
SD.begin(4);
// avvia la porta seriale
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// localizza i dispositivi sul bus
Serial.print("Ricerca dispositivi…");
sensori.begin();
Serial.print("Trovato");
Serial.print(sensors.getDeviceCount(), DEC);
Serial.println("dispositivi.");
// segnala i requisiti di alimentazione del parassita
Serial.print("Il potere del parassita è: ");
if (sensors.isParasitePowerMode()) Serial.println("ON");
else Serial.println("OFF");
/*Assegna l'indirizzo manualmente. Gli indirizzi sottostanti potrebbero essere modificati
a indirizzi di dispositivi validi sul bus. È possibile recuperare l'indirizzo del dispositivo
utilizzando oneWire.search(deviceAddress) o individualmente tramite
Sensors.getAddress(deviceAddress, index) Nota che dovrai usare il tuo indirizzo specifico qui
insideThermometer = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };
Metodo 1:
Cerca i dispositivi sul bus e assegna in base a un indice. Idealmente, lo faresti per scoprire inizialmente gli indirizzi sull'autobus e poi
usa quegli indirizzi e assegnali manualmente (vedi sopra) una volta che lo sai
i dispositivi sul tuo bus (e supponendo che non cambino).
*/ if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Impossibile trovare l'indirizzo per il dispositivo 0");
// metodo 2: ricerca()
// search() cerca il dispositivo successivo. Restituisce 1 se un nuovo indirizzo è stato
// restituito. Uno zero potrebbe significare che il bus è in cortocircuito, non ci sono dispositivi, // o li hai già recuperati tutti. Potrebbe essere una buona idea
// controlla il CRC per assicurarti di non aver ricevuto spazzatura. L'ordine è
// deterministico. Riceverai sempre gli stessi dispositivi nello stesso ordine
//
// Deve essere chiamato prima di search()
//oneWire.reset_search();
// assegna il primo indirizzo trovato a insideThermometer
//if (!oneWire.search(insideThermometer)) Serial.println("Impossibile trovare l'indirizzo per insideThermometer");
// mostra gli indirizzi che abbiamo trovato sul bus
Serial.print("Indirizzo dispositivo 0: ");
printAddress(insideTermometro);
Serial.println();
// imposta la risoluzione a 9 bit (ogni dispositivo Dallas/Maxim è in grado di supportare diverse risoluzioni)
sensori.setResolution(insideThermometer, 9);
Serial.print("Risoluzione dispositivo 0: ");
Serial.print(sensors.getResolution(insideThermometer), DEC);
Serial.println();
}
// funzione per stampare la temperatura di un dispositivo
void printTemperature(DeviceAddress deviceAddress)
{
// metodo 1 - più lento
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print("Temp F: ");
//Serial.print(sensors.getTempF(deviceAddress)); // Effettua una seconda chiamata a getTempC e poi converte in Fahrenheit
// metodo 2 - più veloce
float tempC = sensor.getTempC(deviceAddress);
if(tempC == DEVICE_DISCONNECTED_C)
{
Serial.println("Errore: impossibile leggere i dati di temperatura");
Restituzione;
}
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 in Fahrenheit
sensorData.println(tempC);
sensorData.close();
}
}
/*
* Funzione principale. Richiederà la tempC dai sensori e visualizzerà su Seriale.
*/
ciclo vuoto (vuoto)
{
// chiama i sensori.requestTemperatures() per emettere una temperatura globale
// richiesta a tutti i dispositivi sul bus
Serial.print("Richiesta temperature…");
sensori.requestTemperatures(); // Invia il comando per ottenere le temperature
Serial.println("FATTO");
// Risponde quasi immediatamente. Stampiamo i dati
printTemperature(insideTermometro); // Usa una semplice funzione per stampare i dati
}
// funzione per stampare l'indirizzo di un dispositivo
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t i = 0; i < 8; i++)
{
if (indirizzodispositivo < 16) Serial.print("0");
Serial.print(indirizzodispositivo, HEX);
}
}
RispondiInoltra
Passaggio 4: controllo del Cubesat
Ora che il CubeSat, il codice e il cablaggio di un Arduino sono completi, presto eseguirai i test. Se questi test falliscono, il tuo CubeSat potrebbe potenzialmente essere completamente distrutto, insieme al tuo Arduino. Pertanto, vorrai assicurarti che il tuo Arduino sia pronto per questo. È qui che entra in gioco questo passaggio, controllando il CubeSat. Innanzitutto, dovrai posizionare il tuo Arduino in modo sicuro all'interno del CubeSat e assicurarti che non si muova. Quindi, dovrai assicurarti che tutti i pezzi del CubeSat siano saldamente in posizione. Non ci possono essere pezzi sciolti, o è più probabile che CubeSat si sfaldi durante i test. Se controlli saldamente il tuo CubeSat, i test a cui passa dovrebbero essere superati facilmente.
Passaggio 5: mettere in fila il CubeSat
Questo passaggio sarà in preparazione per il primo test che verrà eseguito da CubeSat. Nel test, il CubeSat verrà fatto oscillare velocemente in cerchio per 30 secondi. Dovrai assicurarti che CubeSat sia ben fissato in modo che non voli via. Abbiamo legato completamente 2 corde attorno al CubeSat e le abbiamo legate strettamente. Quindi, abbiamo aggiunto un'altra corda lunga, che è stata legata intorno ai primi due. Abbiamo annodato questa corda più volte in alto e in basso in modo che fosse il più fissata possibile. Questo potrebbe richiedere più tentativi perché vuoi rendere la corda perfetta in modo che non si allenti durante il volo.
Passaggio 6: il test dell'oscillazione
Per sicurezza in questo passaggio, assicurati di indossare occhiali per proteggere gli occhi. In questo passaggio, eseguirai il CubeSat attraverso un test per vedere se protegge l'Arduino abbastanza bene da consentirgli di svolgere il suo compito (rilevamento della temperatura). La prima prova è quella che necessita dell'incordatura. In questo test, Arduino verrà ruotato (come mostrato nell'immagine/video sopra)- (a volte il video ha problemi di caricamento). Un modello di Marte può essere posizionato nel mezzo. Per completare con successo questo test, l'Arduino dovrà essere ruotato senza staccarsi, motivo per cui deve essere appeso bene e Arduino dovrà essere completamente funzionante al termine del test. Ecco perché è necessario assicurarsi che Arduino sia ben protetto nel CubeSat.
Passaggio 7: test n. 2 - il test di scuotimento
In questo passaggio il tuo CubeSat effettuerà il test #2. Questo test è il test di agitazione. In questo test, il CubeSat verrà posizionato in un supporto come mostrato nell'immagine/video (a volte il video ha problemi di caricamento) sopra e verrà scosso violentemente avanti e indietro per 30 secondi. Per superare questo test, CubeSat e Arduino dovranno essere ancora completamente funzionanti dopo essere stati scossi.
Passaggio 8: Risultati/Temperatura CubeSat completata
Alla fine, il nostro CubeSat è stato in grado di registrare con successo la temperatura durante ogni test. I dati leggono costantemente 26-30 gradi Celsius in ogni test. Questo è lo stesso di 78-86 gradi Fahrenheit. Tuttavia, abbiamo riscontrato alcuni problemi lungo il percorso. Ad esempio, più volte la codifica dell'arduino non ha funzionato e ha letto 126 gradi Celsius. Ci sono voluti più tentativi per raggiungere la temperatura corretta. Un consiglio che darei a chiunque faccia questo progetto sarebbe di provare più varianti di codice e cablaggio e di assicurarsi che il tuo arduino si adatti perfettamente al CubeSat. Potrebbe essere necessario stringere lo spazio all'interno del CubeSat per assicurarsi che l'arduino si adatti perfettamente all'interno. Abbiamo avuto qualche problema con l'arduino che era troppo lento nel CubeSat.
In questo progetto, dovrai anche applicare le tue conoscenze di fisica. La conoscenza fisica della tecnologia, dell'energia e della forza dovrà essere applicata durante tutto il progetto. Durante il progetto abbiamo imparato di più sul sistema solare e sulle nuove tecnologie come CubeSats. Abbiamo anche imparato a conoscere la forza gravitazionale e come questa forza potrebbe influenzare il CubeSat. Un argomento molto importante in questo progetto è stato il movimento satellitare. Abbiamo imparato a conoscere il movimento dei satelliti utilizzando la velocità, la forza netta e la gravità. Questo ci aiuterebbe a trovare i proiettili dei satelliti.
Una volta che CubeSat e arduino hanno superato con successo i test e funzionano correttamente, hai finito. Il tuo CubeSat dovrebbe essere in grado di sopravvivere all'atmosfera di Marte. Assicurati che il sensore abbia registrato con successo anche la temperatura durante i test. Il tuo CubeSat è pronto per andare nello spazio!
Consigliato:
Squeal & Scrape: 5 passaggi
Squeal & Scrape: questo progetto può essere realizzato fresando un PCB utilizzando i file trovati su github o utilizzando la scheda vero come nell'illustrazione. Sono necessarie alcune saldature, quindi è necessaria la solita attrezzatura: saldatore supporto per saldatura pulitore per punta del filo taglierina per filo spelafili che aiuta
Introduzione a Python - Katsuhiko Matsuda & Edwin Cijo - Nozioni di base: 7 passaggi
Introduzione a Python - Katsuhiko Matsuda & Edwin Cijo - Nozioni di base: Ciao, siamo 2 studenti in MYP 2. Vogliamo insegnarti le basi su come codificare Python. È stato creato alla fine degli anni '80 da Guido van Rossum nei Paesi Bassi. È stato creato come successore della lingua ABC. Il suo nome è "Python" perché quando
Indicatore di volume Neopixel Ws2812 LED Ring & Arduino: 8 passaggi
Indicatore di volume Neopixel Ws2812 LED Ring & Arduino: In questo tutorial impareremo come creare un indicatore di volume utilizzando un Neopixel Ws2812 LED Ring e arduino.Guarda il video
Night Light Motion & Darkness Sensing - No Micro: 7 passaggi (con immagini)
Night Light Motion & Darkness Sensing - No Micro: questo istruibile ti impedisce di sbattere il piede quando cammini in una stanza buia. Potresti dire che è per la tua sicurezza se ti alzi di notte e cerchi di raggiungere la porta in sicurezza. Ovviamente potresti usare una lampada da comodino o la lampada principale
Progetto Totoro - IoT & MQTT & ESP01: 7 passaggi (con immagini)
Progetto Totoro - IoT & MQTT & ESP01: Il Progetto Totoro è un bel progetto IoT che puoi copiare in molte altre forme diverse. Usando la scheda ESP01, con il protocollo MQTT, puoi comunicare lo stato del pulsante al Broker MQTT (nel mio case AdafruitIO).Un'utile guida per MQTT e Ad