Cuprins:
- Pasul 1: Adunarea materialelor / schițarea CubeSat
- Pasul 2: Construirea Cubesat
- Pasul 3: Cablarea și codarea Arduino
- Pasul 4: Verificarea peste Cubesat
- Pasul 5: Încordarea CubeSat
- Pasul 6: Testul Swing
- Pasul 7: Testul nr. 2- Testul Shake
- Pasul 8: Rezultate / Temperatură finalizată CubeSat
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Ați dorit vreodată să creați singur ceva care să poată fi trimis în spațiu și să preia temperatura unei alte planete? În clasa noastră de fizică din liceu, am fost desemnați să construim un CubeSat cu un arduino funcțional, cu întrebarea principală Cum putem face acest lucru să funcționeze pe Marte? Am decis să măsurăm temperatura pe planetă, pentru că cine nu ar vrea să știe cât de fierbinte este Marte? Cu toate acestea, trebuia să-l facem din ceva accesibil, dar și durabil. Prin urmare, am folosit Legos. Acest lucru a făcut ca CubeSat să fie durabil și ne-a ajutat să atingem dimensiunile de dimensionare destul de ușor - chiar dacă toate piesele erau puțin greoaie! Scopul nostru a fost de a avea un senzor pe deplin funcțional, care poate prelua temperatura zonei înconjurătoare și un CubeSat de protecție în jurul său.
Pasul 1: Adunarea materialelor / schițarea CubeSat
Primul lucru pe care vrei să-l faci este să schițezi CubeSat. Va trebui să aveți o idee despre ceea ce doriți să construiți înainte de a-l construi. Una dintre fotografiile de mai sus este cea a schițelor CubeSat pe care le-am făcut. Apoi, adunați-vă materialele. Pentru CubeSat pe care îl construim, folosim Legos. Am ales Legos, deoarece acestea sunt ușor de obținut și de asamblat și, în același timp, sunt durabile și vor îndeplini bine sarcinile necesare. Deci, va trebui să obțineți niște Legos. obțineți câteva piese de bază late, adică 10cm X 10 cm X 10 cm, sau câteva piese de bază care pot fi puse împreună la o bucată de 10 pe 10. Pentru CubeSat, a trebuit să obținem mai multe piese de bază și să le punem împreună pentru a face o bază de 10 cm pe 10 cm. De asemenea, va trebui să obțineți Legos pentru a face o piesă de acoperiș de aceeași dimensiune. După ce veți obține acele Legos, va trebui să obțineți o grămadă de mici Legos pentru a construi zidurile CubeSat. Asigurați-vă că aceste Legos sunt destul de subțiri, astfel încât să nu ocupe prea mult din interiorul CubeSat.
Pasul 2: Construirea Cubesat
În primul rând, am construit această frumusețe de 10x10x10. A fost nevoie de multe modele diferite. Mai întâi am avut un raft la mijloc, dar mai târziu am decis că nu este necesar să avem. Dacă alegeți să aveți un raft în mijloc, aș recomanda un singur raft, deoarece va trebui să îl desfaceți de fiecare dată când introduceți și scoateți Arduino și senzorul. Am adăugat ferestre mici, astfel încât să putem arunca o privire rapidă în interior, în timp ce partea superioară este închisă, astfel încât să putem vedea totul funcționând fără probleme. Pentru a face CubeSat mai stabil, am pus împreună două straturi de Lego în partea de jos. Cu cât este mai stabil, cu atât mai bine, deoarece acest CubeSat va trebui să poată supraviețui multor obstacole diferite.
Pasul 3: Cablarea și codarea Arduino
Al doilea pas al acestui proiect este locul în care va trebui să conectați arduino. Acest pas este foarte important, deoarece, dacă acest lucru nu se face corect, atunci cubul sat nu va putea citi temperatura. Pentru a finaliza cablarea arduino, veți avea nevoie de câteva materiale. Aceste materiale sunt o baterie, arduino, un card SD, fire jumper, o placă de măsurare, un senzor de temperatură și un computer. Calculatorul va fi folosit pentru a vedea dacă cablajul funcționează corect. Iată un site web care ne-a fost de mare ajutor în a ne ghida cu privire la modul de conectare a arduino-ului:
create.arduino.cc/projecthub/TheGadgetBoy/…
Imaginile și diagrama înfricoșătoare de mai sus vă pot ajuta, de asemenea. Codificarea arduino va fi, de asemenea, testată pe computer pentru a vedea dacă funcționează. Dacă totul funcționează, arduino-ul poate fi scos din computer și este gata de pornire.
Cod:
// Cablul de date este conectat la portul 2 de pe Arduino
#define ONE_WIRE_BUS 2
File sensorData;
// Configurați o instanță oneWire pentru a comunica cu orice dispozitiv OneWire (nu doar cu circuite integrate de temperatură Maxim / Dallas)
OneWire oneWire (ONE_WIRE_BUS);
// Includeți bibliotecile de care avem nevoie
#include
#include
#include
// Treceți referința noastră oneWire la temperatura Dallas.
Senzori de temperatură Dallas (& oneWire);
// matrici pentru a păstra adresa dispozitivului
Adresa dispozitivului în interiorul termometrului;
/*
* Funcția de configurare. Aici facem elementele de bază
*/
configurare nulă (nulă)
{
pinMode (10, OUTPUT);
SD.begin (4);
// pornește portul serial
Serial.begin (9600);
Serial.println ("Demo Dallas Library IC Control Library Demo");
// localizați dispozitivele pe autobuz
Serial.print („Localizarea dispozitivelor …”);
sensors.begin ();
Serial.print („Găsit”);
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("dispozitive.");
// raportează cerințele de putere ale paraziților
Serial.print ("Puterea parazitului este:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("OFF");
/ * Atribuiți adresa manual. Adresele de mai jos vor fi modificate
la adresele de dispozitiv valide din autobuzul dvs. Adresa dispozitivului poate fi recuperată
utilizând fie oneWire.search (deviceAddress), fie individual prin
sensors.getAddress (deviceAddress, index) Rețineți că va trebui să utilizați adresa dvs. specifică aici
insideThermometer = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
Metoda 1:
Căutați dispozitive pe autobuz și atribuiți pe baza unui index. Ideal, ați face acest lucru pentru a descoperi inițial adrese în autobuz și apoi
utilizați acele adrese și atribuiți-le manual (a se vedea mai sus) odată ce știți
dispozitivele din autobuzul dvs. (și presupunând că nu se schimbă).
* / if (! sensors.getAddress (insideTermmometer, 0)) Serial.println ("Imposibil de găsit adresa pentru dispozitivul 0");
// metoda 2: search ()
// search () caută următorul dispozitiv. Returnează 1 dacă a fost o nouă adresă
// întors. Un zero ar putea însemna că autobuzul este scurtcircuitat, nu există dispozitive, // sau le-ați recuperat deja pe toate. Ar putea fi o idee bună să
// verificați CRC pentru a vă asigura că nu ați primit gunoi. Ordinea este
// determinat. Veți primi întotdeauna aceleași dispozitive în aceeași ordine
//
// Trebuie apelat înainte de căutare ()
//oneWire.reset_search ();
// atribuie prima adresă găsită în interiorul termometrului
// if (! oneWire.search (insideThermometer)) Serial.println ("Imposibil de găsit adresa pentru insideThermometer");
// arată adresele pe care le-am găsit în autobuz
Serial.print ("Adresa dispozitivului 0:");
printAddress (în interiorul termometrului);
Serial.println ();
// setați rezoluția la 9 biți (fiecare dispozitiv Dallas / Maxim este capabil de mai multe rezoluții diferite)
sensors.setResolution (în interiorul termometrului, 9);
Serial.print ("Rezoluția dispozitivului 0:");
Serial.print (sensors.getResolution (insideTmmometer), DEC);
Serial.println ();
}
// funcție pentru a imprima temperatura pentru un dispozitiv
void printTemperature (DeviceAddress deviceAddress)
{
// metoda 1 - mai lentă
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // Face un al doilea apel pentru a obțineTempC și apoi se convertește în Fahrenheit
// metoda 2 - mai rapidă
float tempC = sensors.getTempC (deviceAddress);
if (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Eroare: nu s-au putut citi datele de temperatură");
întoarcere;
}
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ște tempC în Fahrenheit
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Functie principala. Va solicita temperatura de la senzori și va fi afișată pe Serial.
*/
bucla nulă (nulă)
{
// apelează sensors.requestTemperatures () pentru a emite o temperatură globală
// solicitați tuturor dispozitivelor de pe autobuz
Serial.print („Cererea temperaturilor …”);
sensors.requestTemperatures (); // Trimiteți comanda pentru a obține temperaturi
Serial.println ("GĂSIT");
// Răspunde aproape imediat. Să imprimăm datele
printTemperature (insideTermmometer); // Folosiți o funcție simplă pentru a imprima datele
}
// funcție pentru a imprima adresa unui dispozitiv
void printAddress (DeviceAddress deviceAddress)
{
pentru (uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
Răspundeți înainte
Pasul 4: Verificarea peste Cubesat
Acum că CubeSat, codul și cablajul unui Arduino sunt terminate, veți rula teste în curând. Dacă aceste teste nu reușesc, CubeSat ar putea fi distrus complet, împreună cu Arduino. Prin urmare, veți dori să vă asigurați că Arduino este pregătit pentru acest lucru. Aici intervine acest pas pentru a juca, verificând CubeSat. Mai întâi, va trebui să plasați Arduino în siguranță în interiorul CubeSat și să vă asigurați că nu va zbura. Apoi, va trebui să vă asigurați că toate piesele CubeSat sunt fixate în siguranță. Nu pot exista piese libere sau CubeSat va fi mai probabil să se destrame în timpul testelor. Dacă verificați cu fermitate CubeSat-ul dvs., testele pe care le trece ar trebui să fie trecute cu ușurință.
Pasul 5: Încordarea CubeSat
Acest pas va fi pregătitor pentru primul test prin care va trece CubeSat. În test, CubeSat va fi rotit într-un ritm rapid într-un cerc timp de 30 de secunde. Va trebui să vă asigurați că CubeSat este strâns strâns, astfel încât să nu se desprindă. Am legat complet 2 corzi în jurul CubeSat și le-am legat strâns. Apoi, am adăugat un alt șir lung, care a fost legat în jurul primelor două. Am înnodat acest șir de mai multe ori în partea de sus și de jos, astfel încât să fie cât mai sigur posibil. Acest lucru poate dura mai multe încercări, deoarece doriți să faceți șirul perfect, astfel încât să nu se desprindă în timpul zborului.
Pasul 6: Testul Swing
Pentru siguranță în acest pas, asigurați-vă că purtați ochelari de protecție pentru a vă proteja ochii. În acest pas, veți rula CubeSat printr-un test pentru a vedea dacă protejează Arduino suficient de bine pentru a-și îndeplini sarcina (găsirea temperaturii). Primul test este cel care are nevoie de șiruri. În acest test, Arduino va fi rotit (așa cum se arată în imaginea / videoclipul de mai sus) - (uneori videoclipul are probleme la încărcare). Un model Marte poate fi plasat în mijloc. Pentru a finaliza cu succes acest test, Arduino va trebui să se învârtă fără să vină fără atașament, motiv pentru care trebuie să fie strâns bine și Arduino va trebui să funcționeze pe deplin după terminarea testului. De aceea, trebuie să vă asigurați că Arduino este bine fixat în CubeSat.
Pasul 7: Testul nr. 2- Testul Shake
În acest pas, CubeSat va trece prin testul nr. 2. Acest test este testul de shake. În acest test, CubeSat va fi plasat într-un suport așa cum se arată în imagine / videoclip (uneori videoclipul are probleme la încărcare) de mai sus și va fi agitat violent înainte și înapoi timp de 30 de secunde. Pentru a trece acest test, CubeSat și Arduino vor trebui să funcționeze pe deplin după ce sunt agitate.
Pasul 8: Rezultate / Temperatură finalizată CubeSat
În cele din urmă, CubeSat a reușit să înregistreze cu succes temperatura în timp ce trecea prin fiecare test. Datele au citit în mod constant 26-30 de grade Celsius în fiecare test. Este la fel ca 78-86 grade Fahrenheit. Cu toate acestea, am întâmpinat câteva probleme pe drum. De exemplu, de mai multe ori codarea arduino-ului nu a funcționat și a citit 126 de grade Celsius. Au fost necesare mai multe încercări pentru a atinge temperatura corectă. Unele sfaturi pe care le-aș da oricui face acest proiect ar fi să încerce mai multe variante de cod și cablare și să te asiguri că arduino-ul tău se potrivește bine cu CubeSat. Poate fi necesar să strângeți spațiul din interiorul CubeSat pentru a vă asigura că arduino se potrivește perfect în interior. Am avut unele probleme cu arduino-ul prea slab în CubeSat.
În acest proiect, va trebui, de asemenea, să vă aplicați cunoștințele de fizică. Cunoștințele fizicii despre tehnologie, energie și forță vor trebui aplicate pe tot parcursul proiectului. De-a lungul proiectului am aflat mai multe despre sistemul solar și despre noile tehnologii precum CubeSats. De asemenea, am aflat despre forța gravitațională și despre modul în care această forță ar putea afecta CubeSat. Un subiect foarte important al acestui proiect a fost mișcarea prin satelit. Am aflat despre mișcarea satelitului folosind viteza, forța netă și gravitația. Acest lucru ne-ar ajuta să găsim proiectilele sateliților.
După ce CubeSat și arduino au trecut cu succes testele și au funcționat corect, ați terminat. CubeSat ar trebui să poată supraviețui atmosferei lui Marte. Asigurați-vă că senzorul a înregistrat cu succes temperatura și în timpul testelor. CubeSat-ul dvs. este gata să meargă în spațiu!
Recomandat:
Cum se face un CubeSat care poate măsura temperatura: 3 pași
Cum să faci un CubeSat care poate măsura temperatura: Vino cu și vei vedea un cub de imaginație pură de 11x11x11x11, ia-mi mâna și vei vedea temperatura lui Marte! (pe melodia „Imaginației” lui Willy Wonka) Astăzi vă voi arăta că trebuie să vă construiți propriul CubeSat! Eu și partenerii mei Alyssa și
Afișare dată, oră și temperatură folosind XinaBox: 8 pași
Afișare dată, oră și temperatură utilizând XinaBox: Afișaj OLED rece care arată data, ora și temperatura în grade Celsius și Fahrenheit folosind Xinabox xChips bazat pe ESP8266
Temperatura și umiditatea CubeSat: 7 pași
Temperatura și umiditatea CubeSat: Acesta este CubeSat. Am decis că vrem să măsurăm temperatura și umiditatea pentru că eram curioși de condițiile din Spațiu. Am imprimat 3D structura noastră și am găsit cele mai eficiente modalități de a construi acest model. Scopul nostru a fost să construim un sistem care
Cum se construiește un Cubesat de temperatură: 5 pași
Cum să construiți un Cubesat de temperatură: imaginați-vă că aveți capacitatea de a explora o planetă folosind doar un cub de 10x10x10. Acum poți! (Notă: Acest proiect nu va merge de fapt pe Lună, îmi pare rău) Numele meu este Alyssa, iar în acest instructabil îți voi arăta cum sunt cei doi parteneri mei (Stormi și H
Temperatură și umiditate Cubesat: 5 pași
Temperatură și umiditate Cubesat: Cum putem proiecta, construi și programa un model de Marte Orbiter, care va colecta date și ne va informa despre aspecte specifice ale planetei? De: Abe, Mason, Jackson și Wyatt