Kazalo:
- 1. korak: Zbiranje materialov/skiciranje CubeSat -a
- 2. korak: Zgradite Cubesat
- 3. korak: Ožičenje in kodiranje Arduina
- 4. korak: Preverite Cubesat
- 5. korak: Nizanje CubeSat navzgor
- Korak 6: Preskus zamaha
- Korak 7: Preizkusite številko 2- preizkus pretresanja
- 8. korak: Rezultati/Dokončana temperatura CubeSat
Video: Temperaturna kockaSat Ben & Kaiti & Q Hour 1: 8 Koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Ste kdaj želeli sami narediti nekaj, kar bi lahko poslali v vesolje in merilo temperaturo na drugem planetu? V našem gimnazijskem razredu fizike smo dobili nalogo, da zgradimo CubeSat z delujočim arduinom z glavnim vprašanjem. Kako lahko to naredimo na Marsu? Odločili smo se, da bo meril temperaturo na planetu, kajti kdo ne bi hotel vedeti, kako vroč je Mars? Vendar pa smo morali iz nečesa ugodnega, a tudi vzdržljivega. Zato smo uporabili Lego kocke. Zaradi tega je bil CubeSat trpežen in nam je pomagal doseči dimenzije precej enostavno-čeprav so vsi kosi malo nadležni! Naš cilj je bil imeti popolnoma delujoč senzor, ki lahko meri temperaturo v okolici, in zaščitni CubeSat okoli njega.
1. korak: Zbiranje materialov/skiciranje CubeSat -a
Prva stvar, ki jo boste želeli narediti, je, da skicirate CubeSat. Preden ga zgradite, morate imeti idejo, kaj želite zgraditi. Ena od zgornjih slik je skice CubeSat, ki smo jih naredili. Nato zberite svoje materiale. Za CubeSat, ki ga gradimo, uporabljamo Lego kocke. Lego smo izbrali, ker jih je enostavno dobiti in sestaviti, hkrati pa so trpežni in bodo dobro opravljali zahtevane naloge. Torej boste morali kupiti nekaj Lego kock. vzemite nekaj širokih osnovnih kosov, ki so 10 cm X 10 cm X 10 cm, ali nekaj osnovnih kosov, ki jih lahko sestavite v kos 10 do 10. Za naš CubeSat smo morali dobiti več osnovnih kosov in jih sestaviti skupaj, da naredimo podlago 10 cm x 10 cm. Prav tako boste morali dobiti Legos za izdelavo strešnika enake velikosti. Ko boste dobili te Lego kocke, boste morali dobiti tono majhnih Legov, da bi zgradili stene CubeSat. Prepričajte se, da so ti Lego kosi precej suhi, da ne zavzamejo preveč notranjosti CubeSat.
2. korak: Zgradite Cubesat
Najprej smo zgradili to lepoto 10x10x10. Vzelo je veliko različnih modelov. Najprej smo imeli polico na sredini, kasneje pa smo se odločili, da to ni potrebno. Če se odločite za polico na sredini, priporočam samo eno polico, ker jo boste morali vsakič, ko vstavite in odstranite Arduino in senzor, razstaviti. Dodali smo majhna okna, da si lahko hitro ogledamo notranjost, medtem ko je vrh zaprt, da vidimo, da vse deluje brezhibno. Da bi CubeSat postal bolj stabilen, smo na dnu sestavili dve plasti Lega. Bolj stabilen, tem bolje, ker bo moral CubeSat preživeti številne različne ovire.
3. korak: Ožičenje in kodiranje Arduina
Drugi korak tega projekta je, kjer boste morali povezati arduino. Ta korak je zelo pomemben, ker če to ne storite pravilno, kocka sat ne bo mogla odčitati temperature. Za dokončanje ožičenja arduina boste potrebovali nekaj materialov. Ti materiali so baterija, arduino, kartica SD, mostične žice, plošča, temperaturni senzor in računalnik. Računalnik bo uporabil za preverjanje, ali ožičenje deluje pravilno. Tukaj je spletno mesto, ki nam je pomagalo pri vodenju, kako povezati arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Zgornje slike in shema vlečenja vam lahko pomagajo. Kodiranje arduina bodo preizkusili tudi v računalniku in preverili, ali deluje. Če vse deluje, lahko arduino vzamete iz računalnika in je pripravljen za uporabo.
Koda:
// Podatkovna žica je priključena v vrata 2 na Arduinu
#define ONE_WIRE_BUS 2
File sensorData;
// Nastavitev primerka oneWire za komunikacijo z vsemi napravami OneWire (ne samo s temperaturnimi IC -ji Maxim/Dallas)
OneWire oneWire (ONE_WIRE_BUS);
// Vključite knjižnice, ki jih potrebujemo
#vključi
#vključi
#vključi
// Prenesite referenco oneWire na temperaturo v Dallasu.
Senzorji temperature Dallas (& oneWire);
// polja za shranjevanje naslova naprave
Naslov naprave znotrajTermometer;
/*
* Nastavitvena funkcija. Tu naredimo osnove
*/
nastavitev void (void)
{
pinMode (10, OUTPUT);
SD.začetek (4);
// zaženite serijska vrata
Serial.begin (9600);
Serial.println ("Predstavitev knjižnice za nadzor temperature v Dallasu");
// poiščite naprave na vodilu
Serial.print ("Lociranje naprav …");
sensors.begin ();
Serial.print ("Najdeno");
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("naprave.");
// poročamo o zahtevah po moči parazitov
Serial.print ("Moč parazitov je:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("OFF");
/*Ročno dodelite naslov. Naslove spodaj bo treba spremeniti
na veljavne naslove naprav na vašem avtobusu. Naslov naprave je mogoče pridobiti
z uporabo oneWire.search (deviceAddress) ali posamično prek
sensors.getAddress (deviceAddress, index) Upoštevajte, da boste morali tukaj uporabiti svoj poseben naslov
znotrajTermometer = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
1. metoda:
Poiščite naprave na vodilu in jih dodelite na podlagi indeksa. V idealnem primeru
to bi storili tako, da bi najprej odkrili naslove na avtobusu, nato pa
uporabite te naslove in jih ročno dodelite (glejte zgoraj), ko veste
naprave na vašem avtobusu (in ob predpostavki, da se ne spremenijo).
*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Ni mogoče najti naslova za napravo 0");
// metoda 2: iskanje ()
// iskanje () išče naslednjo napravo. Vrne 1, če je bil nov naslov
// vrnjeno. Nič lahko pomeni, da je vodilo v kratkem stiku, ni naprav, // ali pa ste jih že pridobili. Morda bi bilo dobro
// preverite CRC in se prepričajte, da niste dobili smeti. Naročilo je
// deterministično. Vedno boste dobili iste naprave v istem vrstnem redu
//
// Poklicati ga je treba pred iskanjem ()
//oneWire.reset_search ();
// prvemu najdenemu naslovu dodeli insideThermometer
// if (! oneWire.search (insideThermometer)) Serial.println ("Ni mogoče najti naslova insideThermometer");
// prikaže naslove, ki smo jih našli na avtobusu
Serial.print ("Naslov naprave 0:");
printAddress (znotraj termometra);
Serial.println ();
// nastavite ločljivost na 9 bitov (vsaka naprava Dallas/Maxim ima več različnih ločljivosti)
sensors.setResolution (znotrajTermometer, 9);
Serial.print ("Ločljivost naprave 0:");
Serial.print (sensors.getResolution (znotraj termometra), DEC);
Serial.println ();
}
// funkcija za tiskanje temperature za napravo
void printTemperature (DeviceAddress deviceAddress)
{
// 1. metoda - počasnejša
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // Pokliče drugi getTempC in se nato pretvori v Fahrenheit
// metoda 2 - hitrejša
float tempC = sensors.getTempC (deviceAddress);
če (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Napaka: podatkov o temperaturi ni bilo mogoče prebrati");
vrnitev;
}
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)); // Pretvori tempC v Fahrenheit
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Glavna funkcija. Od senzorjev bo zahteval tempC in prikaz na Serial.
*/
void zanka (void)
{
// pokličite sensors.requestTemperatures () za izdajo globalne temperature
// zahteva do vseh naprav na vodilu
Serial.print ("Zahtevane temperature …");
sensors.requestTemperatures (); // Pošljite ukaz za merjenje temperature
Serial.println ("KONČANO");
// Odzove se skoraj takoj. Natisnimo podatke
printTemperature (znotrajTermometer); // Za tiskanje podatkov uporabite preprosto funkcijo
}
// funkcija za tiskanje naslova naprave
void printAddress (DeviceAddress deviceAddress)
{
za (uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
Odgovori naprej
4. korak: Preverite Cubesat
Zdaj, ko je CubeSat, koda in ožičenje Arduina končan, boste kmalu začeli s preskusi. Če ti testi ne bodo uspešni, bi lahko bil vaš CubeSat skupaj z Arduinom popolnoma uničen. Zato se boste želeli prepričati, da je vaš Arduino na to pripravljen. Tu pride na vrsto ta korak, ki preverja CubeSat. Najprej morate svoj Arduino varno namestiti v CubeSat in se prepričati, da se ne bo premikal. Nato se boste morali prepričati, da so vsi kosi CubeSat varno nameščeni. Ne sme biti nobenih ohlapnih kosov ali pa se bo CubeSat med preskusi bolj verjetno razpadel. Če natančno preverite svoj CubeSat, bi morali biti testi, ki jih opravi, zlahka opravljeni.
5. korak: Nizanje CubeSat navzgor
Ta korak bo v pripravi na prvi test, ki ga bo CubeSat opravil. Na testu se bo CubeSat hitro vrtel v krogu 30 sekund. Poskrbeti morate, da je CubeSat trdno napet, da ne odleti. Dve vrvici smo popolnoma vezali okoli CubeSat -a in jih močno privezali. Nato smo dodali še eno dolgo vrvico, ki je bila vezana okoli prvih dveh. To vrvico smo večkrat vozlali zgoraj in spodaj, da je bila čim bolj zavarovana. To lahko traja več poskusov, ker želite narediti niz popoln, da se med letom ne bo zrahljal.
Korak 6: Preskus zamaha
Zaradi varnosti v tem koraku obvezno nosite očala za zaščito oči. V tem koraku boste CubeSat izvajali s preizkusom, da preverite, ali dovolj dobro ščiti Arduino, da lahko opravlja svojo nalogo (iskanje temperature). Prvi test je tisti, ki potrebuje niz. V tem testu se bo Arduino obrnil (kot je prikazano na zgornji sliki/videoposnetku)- (včasih ima videoposnetek težave pri nalaganju). Model Marsa je lahko postavljen na sredino. Za uspešno dokončanje tega testa se bo moral Arduino vrteti, ne da bi bil pripet, zato ga je treba dobro nanizati, Arduino pa bo moral po koncu preskusa popolnoma delovati. Zato se morate prepričati, da je Arduino dobro pritrjen v CubeSat.
Korak 7: Preizkusite številko 2- preizkus pretresanja
V tem koraku bo vaš CubeSat opravil test #2. Ta test je preskus tresenja. V tem testu bo CubeSat nameščen v držalo, kot je prikazano na sliki/videoposnetku (včasih se videoposnetek nalaga), in se močno trese naprej in nazaj 30 sekund. Da bi lahko prestali ta test, bosta morala CubeSat in Arduino še vedno popolnoma delovati, potem ko ju pretresite.
8. korak: Rezultati/Dokončana temperatura CubeSat
Na koncu je naš CubeSat med vsakim preizkusom uspešno zapisal temperaturo. Podatki pri vsakem testu dosledno berejo 26-30 stopinj Celzija. To je isto kot 78-86 stopinj Fahrenheita. Vendar smo na poti naleteli na nekatere težave. Na primer, kodiranje arduina večkrat ni delovalo in se je glasilo 126 stopinj Celzija. Potrebnih je bilo več poskusov, da bi dosegli pravilno temperaturo. Nekaj nasvetov, ki bi jih dal vsem, ki izvajajo ta projekt, bi bil, da preizkusijo več različic kode in ožičenja ter se prepričajo, da se vaš arduino tesno prilega CubeSat. Morda boste morali zaostriti vrzel znotraj CubeSat -a, da se prepričate, da se arduino popolnoma prilega notranjosti. Imeli smo nekaj težav, ker je bil arduino preveč ohlapen v CubeSat.
V tem projektu boste morali uporabiti tudi svoje znanje o fiziki. V celotnem projektu bo treba uporabiti fizikalno znanje o tehnologiji, energiji in sili. Skozi projekt smo izvedeli več o sončnem sistemu in novih tehnologijah, kot je CubeSats. Spoznali smo tudi gravitacijsko silo in kako lahko ta sila vpliva na CubeSat. Ena zelo pomembna tema tega projekta je bilo satelitsko gibanje. Za gibanje satelitov smo izvedeli z uporabo hitrosti, neto sile in gravitacije. To bi nam pomagalo najti izstrelke satelitov.
Ko sta CubeSat in arduino uspešno prestala preskuse in pravilno delovala, ste končali. Vaš CubeSat bi moral preživeti atmosfero Marsa. Prepričajte se, da je senzor tudi med preskusi uspešno zabeležil temperaturo. Vaš CubeSat je pripravljen za vesolje!
Priporočena:
AVTOMATSKA TEMPERATURNA KOMPENZACIJA ATLASOVEGA SENZORJA PREVIDNOSTI: 4 koraki
AVTOMATSKA TEMPERATURNA KOMPENZACIJA ATLASOVEGA SENZORJA PREVODNOSTI: V tem projektu bomo samodejno kompenzirali temperaturni senzor prevodnosti podjetja Atlas Scientific. Temperaturne spremembe vplivajo na prevodnost/skupno raztopljene trdne snovi/slanost tekočin in s tem, ko to kompenziramo, smo
DEEDU Temperaturna aktivnost: 7 korakov
DEEDU Temperature Activity: Namen te dejavnosti je povečati občutljivost uporabnika na porabo energije za nadzor temperature. Ta dejavnost je namenjena otrokom, starejšim od 9 let, ki lahko preberejo in razumejo okvirne številke temperature in
THINGSPEAK TEMPERATURNA IN VLAGNA APLIKACIJA Z ESP8266: 9 koraki
THINGSPEAK TEMPERATURNA IN VLAGNA APLIKACIJA Z UPORABO ESP8266: Med brskanjem po elektronskih napravah sem dobil to idejo, da naredim spletno vremensko aplikacijo. Ta spletna aplikacija uporablja senzor SHT31 za pridobivanje podatkov o temperaturi in vlažnosti v realnem času. Naš projekt smo razmestili na modulu WiFi ESP8266. Na spletu ali zunaj
Arduino Nano in dva temperaturna senzorja DS18B20 z I2C LCD: 5 korakov
Arduino Nano in dva temperaturna senzorja DS18B20 z I2C LCD: Danes vam želim pokazati, kako narediti dva temperaturna senzorja DS18B20 z Arduino Nano Clone in I2C LCD. a I2C displejem. Uporabljam Arduino IDE 1.8.8 // Pouziv
Lora Temperaturna nadzorna plošča: 5 korakov
Lora Temperature Dashboard: V mojem zadnjem Instructable sem vam pokazal, kako temperaturni senzor povezati z Loro prek TTN. Zdaj vam bom pokazal, kako lahko preberete te podatke in jih prikažete na nadzorni plošči. Prav tako bomo obravnavali, kako uporabiti podatke v IFTTT