Përmbajtje:
- Hapi 1: Mbledhja e materialeve/skicimi i CubeSat
- Hapi 2: Ndërtimi i Kubesatit
- Hapi 3: Instalimi dhe kodimi i Arduino
- Hapi 4: Kontrollimi i Kubesatit
- Hapi 5: Stringing Up CubeSat
- Hapi 6: Testi i Lëkundjes
- Hapi 7: Testi #2- Testi i Shkundjes
- Hapi 8: Rezultatet/Temperatura e përfunduar CubeSat
Video: Cube TemperatureSat Ben & Kaiti & Q Ora 1: 8 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:11
A keni dashur ndonjëherë të bëni diçka vetë që mund të dërgohet në hapësirë dhe të marrë temperaturën e një planeti tjetër? Në orën tonë të fizikës në shkollën e mesme, ne u caktuam të ndërtonim një CubeSat me një arduino funksionale me pyetjen kryesore Si mund ta bëjmë këtë të funksionojë në Mars? Ne vendosëm ta matnim temperaturën në planet, sepse kush nuk do të donte të dinte sa i nxehtë është marsi? Sidoqoftë, na duhej ta bënim atë nga diçka e përballueshme, por edhe e qëndrueshme. Prandaj, ne përdorëm Legos. Kjo e bëri CubeSat të qëndrueshëm dhe na ndihmoi të arrijmë përmasat e madhësisë mjaft lehtë-edhe nëse të gjitha pjesët janë pak të bezdisshme! Qëllimi ynë ishte të kishim një sensor plotësisht funksionues që mund të marrë temperaturën e zonës përreth, dhe një CubeSat mbrojtës rreth tij.
Hapi 1: Mbledhja e materialeve/skicimi i CubeSat
Gjëja e parë që dëshironi të bëni është të vizatoni CubeSat. Ju do të duhet të keni një ide se çfarë doni të ndërtoni para se ta ndërtoni atë. Një nga fotografitë e mësipërme është e skicave të CubeSat që kemi bërë. Tjetra, mblidhni materialet tuaja. Për CubeSat që po ndërtojmë, ne po përdorim Legos. Ne zgjodhëm Legos sepse ato janë të lehta për tu mbledhur dhe bashkuar, dhe në të njëjtën kohë ato janë të qëndrueshme dhe do të kryejnë mirë detyrat e kërkuara. Pra, do t'ju duhet të merrni disa Legos. merrni disa pjesë bazë të gjera, që janë 10cm X 10 cm X 10 cm, ose disa pjesë bazë që mund të vendosen së bashku në një copë 10 me 10. Për CubeSat -in tonë, na duhej të merrnim pjesë të shumta bazë dhe t'i bashkonim ato për të bërë një bazë 10 cm me 10 cm. Ju gjithashtu do të duhet të merrni Legos për të bërë një copë çati me të njëjtën madhësi. Pasi të keni marrë ato Legos, do t'ju duhet të merrni një ton Legos të vegjël për të ndërtuar muret e CubeSat. Sigurohuni që këto Legos janë mjaft të dobëta, kështu që ato nuk zënë shumë nga brendësia e CubeSat.
Hapi 2: Ndërtimi i Kubesatit
Së pari, ne ndërtuam këtë bukuri 10x10x10. U deshën shumë modele të ndryshme. Së pari kishim një raft në mes, por më vonë vendosëm se ishte e panevojshme ta kishim. Nëse zgjidhni të keni një raft në mes, unë do të rekomandoja vetëm një raft sepse do t'ju duhet ta ndani sa herë që vendosni dhe nxirrni Arduino -n dhe sensorin tuaj. Ne shtuam dritare të vogla në mënyrë që të kemi një vështrim të shpejtë brenda ndërsa pjesa e sipërme është e mbyllur në mënyrë që të shohim që gjithçka funksionon pa probleme. Për ta bërë CubeSat më të qëndrueshëm, ne bashkojmë dy shtresa të Lego në fund. Sa më i qëndrueshëm aq më mirë, sepse ky CubeSat do të duhet të jetë në gjendje të mbijetojë në shumë pengesa të ndryshme.
Hapi 3: Instalimi dhe kodimi i Arduino
Hapi i dytë i këtij projekti është vendi ku do t'ju duhet të lidhni arduino. Ky hap është shumë i rëndësishëm, sepse, nëse kjo nuk bëhet siç duhet, atëherë kubi i ulur nuk do të jetë në gjendje të lexojë temperaturën. Për të përfunduar instalimet elektrike të arduino, do t'ju duhet disa materiale. Këto materiale janë një bateri, arduino, një kartë SD, tela kërcyes, një tabelë, një sensor të temperaturës dhe një kompjuter. Kompjuteri do të përdoret për të parë nëse instalimet elektrike po funksionojnë siç duhet. Këtu është një faqe në internet që ishte shumë e dobishme për të na udhëzuar se si të lidhni arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Fotografitë dhe diagrami mahnitës më sipër mund t'ju ndihmojnë gjithashtu. Kodimi i arduino gjithashtu do të testohet në kompjuter për të parë nëse funksionon. Nëse gjithçka po funksionon, atëherë arduino mund të hiqet nga kompjuteri dhe është gati për të shkuar.
Kodi:
// Tela e të dhënave lidhet me portën 2 në Arduino
#përcakto ONE_WIRE_BUS 2
Sensori i skedaritData;
// Vendosni një shembull oneWire për të komunikuar me çdo pajisje OneWire (jo vetëm IC -të e temperaturës Maxim/Dallas)
OneWire oneWire (ONE_WIRE_BUS);
// Përfshini bibliotekat që na duhen
#përfshi
#përfshi
#përfshi
// Kaloni referencën tonë oneWire tek Temperatura e Dallasit.
Sensorë të temperaturës Dallas (& oneWire);
// vargjet për të mbajtur adresën e pajisjes
Pajisja Adresa brenda Termometri;
/*
* Funksioni i konfigurimit. Këtu bëjmë bazat
*/
konfigurimi i zbrazëtisë (i pavlefshëm)
{
pinMode (10, OUTPUT);
SD.filloj (4);
// filloni portin serik
Serial.filloj (9600);
Serial.println ("Demo Biblioteka e Kontrollit të Temperaturës IC të Dallas");
// gjeni pajisjet në autobus
Serial.print ("Gjetja e pajisjeve …");
sensorë.fillojnë ();
Serial.print ("U gjet");
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println ("pajisje.");
// raportoni kërkesat për fuqi parazitare
Serial.print ("Fuqia parazitare është:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
tjetër Serial.println ("OFF");
/*Caktoni adresën me dorë. Adresat më poshtë do të ndryshojnë
te adresat e vlefshme të pajisjes në autobusin tuaj. Adresa e pajisjes mund të merret
duke përdorur ose oneWire.search (deviceAddress) ose individualisht nëpërmjet
sensors.getAddress (pajisje Adresa, indeksi) Vini re se do t'ju duhet të përdorni adresën tuaj specifike këtu
brendaTermometri = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
Metoda 1:
Kërkoni për pajisje në autobus dhe caktoni bazuar në një indeks. Në mënyrë ideale, ju do ta bënit këtë për të zbuluar fillimisht adresat në autobus dhe më pas
përdorni ato adresa dhe caktojini ato me dorë (shih më lart) sapo ta dini
pajisjet në autobusin tuaj (dhe duke supozuar se nuk ndryshojnë).
*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Në pamundësi për të gjetur adresën për Pajisjen 0");
// metoda 2: kërko ()
// search () kërkon pajisjen tjetër. Kthen 1 nëse ka qenë një adresë e re
// u kthye. Një zero mund të nënkuptojë që autobusi është i shkurtuar, nuk ka pajisje, // ose i keni marrë tashmë të gjitha. Mund të jetë një ide e mirë për të
// kontrolloni CRC për t'u siguruar që nuk keni marrë mbeturina. Rendi është
// deterministike. Ju gjithmonë do të merrni të njëjtat pajisje në të njëjtin rend
//
// Duhet të thirret para kërkimit ()
//oneWire.reset_search ();
// cakton adresën e parë të gjetur në brendësi të Termometrit
// nëse (! oneWire.search (brendaTermometrit)) Serial.println ("Në pamundësi për të gjetur adresën për brendaTermometrin");
// tregoni adresat që gjetëm në autobus
Serial.print ("Adresa e Pajisjes 0:");
printAdresa (brendaTermometri);
Serial.println ();
// vendosni rezolucionin në 9 bit (Çdo pajisje Dallas/Maxim është e aftë për disa rezolucione të ndryshme)
sensorë.setResolution (brendaTermometër, 9);
Serial.print ("Rezolucioni i pajisjes 0:");
Serial.print (sensorë.getResolution (brendaTermometrit), DEC);
Serial.println ();
}
// funksion për të printuar temperaturën për një pajisje
printim i pavlefshëm Temperatura (DeviceAddress deviceAddress)
{
// metoda 1 - më e ngadaltë
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // Bën një thirrje të dytë në getTempC dhe më pas konvertohet në Fahrenheit
// metoda 2 - më e shpejtë
float tempC = sensorë.getTempC (pajisja Adresa);
nëse (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Gabim: Nuk mund të lexoja të dhënat e temperaturës");
kthim;
}
sensorData = SD.open ("log.txt", FILE_WRITE);
nëse (sensorData) {
Serial.print ("Temp C:");
Serial.print (tempC);
Serial.print ("Temp F:");
Serial.println (DallasTemperature:: toFahrenheit (tempC)); // Konverton tempC në Fahrenheit
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Funksioni kryesor. Do të kërkojë tempC nga sensorët dhe do të shfaqet në Serial.
*/
lak i zbrazët (i pavlefshëm)
{
// telefononi sensorët. requestTemperatura () për të lëshuar një temperaturë globale
// kërkesë për të gjitha pajisjet në autobus
Serial.print ("Duke kërkuar temperatura …");
sensorë.kërkojmëTemperaturat (); // Dërgo komandën për të marrë temperaturat
Serial.println ("Bërë");
// Përgjigjet pothuajse menjëherë. Le të shtypim të dhënat
printTemperature (brendaTermometrit); // Përdorni një funksion të thjeshtë për të printuar të dhënat
}
// funksion për të printuar një adresë të pajisjes
print i pavlefshëm Adresa (DeviceAddress deviceAddress)
{
për (uint8_t i = 0; i <8; i ++)
{
if (pajisje Adresa <16) Serial.print ("0");
Serial.print (pajisje Adresa , HEX);
}
}
PërgjigjuPërpara
Hapi 4: Kontrollimi i Kubesatit
Tani që CubeSat, kodi dhe instalimet elektrike të një Arduino kanë përfunduar, së shpejti do të bëni teste. Nëse këto teste dështojnë, CubeSat juaj mund të shkatërrohet plotësisht, së bashku me Arduino -n tuaj. Prandaj, do të dëshironi të siguroheni që Arduino juaj është gati për këtë. Kjo është ajo ku ky hap vjen për të luajtur, duke kontrolluar mbi CubeSat. Së pari, do t'ju duhet ta vendosni Arduino -n tuaj në mënyrë të sigurt brenda CubeSat dhe sigurohuni që nuk do të lëvizë. Pastaj, do të duhet të siguroheni që të gjitha pjesët e CubeSat të jenë të sigurta në vend. Nuk mund të ketë copa të lirshme, ose CubeSat do të ketë më shumë gjasa të ndahet gjatë testeve. Nëse kontrolloni me vendosmëri CubeSat -in tuaj, atëherë testet nëpër të cilat kalon duhet të kalojnë lehtë.
Hapi 5: Stringing Up CubeSat
Ky hap do të jetë në përgatitje për testin e parë që do të kalojë CubeSat. Në test, CubeSat do të rrotullohet me një ritëm të shpejtë në një rreth për 30 sekonda. Ju do të duhet të siguroheni që CubeSat është i lidhur fort në mënyrë që të mos fluturojë. Ne lidhëm 2 tela plotësisht rreth CubeSat, dhe i lidhëm fort. Pastaj, shtuam një varg tjetër të gjatë, që ishte lidhur rreth dy të parëve. Ne e lidhëm këtë varg disa herë në krye dhe në fund, kështu që ishte sa më i siguruar. Kjo mund të marrë përpjekje të shumta sepse doni ta bëni vargun të përsosur, kështu që nuk do të lirohet gjatë fluturimit.
Hapi 6: Testi i Lëkundjes
Për siguri në këtë hap, sigurohuni që të mbani syze për të mbrojtur sytë tuaj. Në këtë hap, ju do të kaloni CubeSat përmes një testi për të parë nëse e mbron Arduino aq mirë sa të kryejë detyrën e tij (gjetja e temperaturës). Testi i parë është ai që ka nevojë për tela. Në këtë test, Arduino do të rrotullohet (siç tregohet në foto/video më sipër)- (ndonjëherë videoja ka probleme me ngarkimin). Një model Marsi mund të vendoset në mes. Për të përfunduar me sukses këtë test, Arduino do të duhet të rrotullohet pa u bashkuar, kjo është arsyeja pse duhet të lidhet mirë dhe ata Arduino do të duhet të funksionojnë plotësisht pasi të ketë përfunduar testi. Kjo është arsyeja pse ju duhet të siguroheni që Arduino është siguruar mirë në CubeSat.
Hapi 7: Testi #2- Testi i Shkundjes
Në këtë hap CubeSat juaj do të kalojë testin #2. Ky test është testi i dridhjes. Në këtë test, CubeSat do të vendoset në një mbajtës siç tregohet në figurë/video (ndonjëherë videoja ka probleme me ngarkimin) më sipër dhe do të tronditet dhunshëm para dhe mbrapa për 30 sekonda. Për të kaluar këtë test, CubeSat dhe Arduino juaj do të duhet të funksionojnë plotësisht pasi të tronditen.
Hapi 8: Rezultatet/Temperatura e përfunduar CubeSat
Në fund, CubeSat ynë ishte në gjendje të regjistronte me sukses temperaturën gjatë kalimit të çdo prove. Të dhënat lexohen vazhdimisht 26-30 gradë Celsius në çdo test. Kjo është e njëjtë me 78-86 gradë Fahrenheit. Sidoqoftë, ne hasëm në disa probleme gjatë rrugës. Për shembull, shumë herë kodimi i arduino nuk funksionoi, dhe lexoi 126 gradë Celsius. U deshën përpjekje të shumta për të arritur temperaturën e duhur. Disa këshilla që do t'i jepja kujtdo që bën këtë projekt do të ishte të provonte variacione të shumta të kodit dhe instalimeve elektrike dhe të sigurohej që arduino juaj të përshtatet fort me CubeSat. Ju mund të keni nevojë të forconi hendekun brenda CubeSat për t'u siguruar që arduino të përshtatet në mënyrë të përsosur brenda. Ne kishim një problem me arduinon që ishte shumë i lirshëm në CubeSat.
Në këtë projekt, do t'ju duhet gjithashtu të aplikoni njohuritë tuaja për fizikën. Njohuritë fizike të teknologjisë, energjisë dhe forcës do të duhet të aplikohen gjatë gjithë projektit. Gjatë gjithë projektit mësuam më shumë rreth sistemit diellor dhe teknologjive të reja si CubeSats. Ne gjithashtu mësuam për forcën gravitacionale dhe se si kjo forcë mund të ndikojë në CubeSat. Një temë shumë e rëndësishme me këtë projekt ishte lëvizja satelitore. Ne mësuam për lëvizjen e satelitit duke përdorur shpejtësinë, forcën neto dhe gravitetin. Kjo do të na ndihmonte të gjenim predhat e satelitëve.
Pasi CubeSat dhe arduino juaj të kenë kaluar me sukses testet dhe të punojnë siç duhet, ju keni mbaruar. CubeSat juaj duhet të jetë në gjendje të mbijetojë në atmosferën e Marsit. Sigurohuni që sensori të regjistrojë me sukses temperaturën edhe gjatë testeve. CubeSat juaj është gati për të shkuar në hapësirë!
Recommended:
Ora e alarmit me flluska e bën zgjimin argëtues (ish): 7 hapa (me fotografi)
Ora e alarmit me flluska e bën zgjimin argëtues (ish): Zgjimi në një orë alarmi gumëzhitëse është e keqe. Unë jam një nga ata njerëz që nuk më pëlqen të zgjohem para se të dalë dielli (ose ka dalë jashtë për shumë orë). Pra, cila mënyrë më e mirë për ta bërë zgjimin argëtues sesa të kesh një festë me flluska në shtrat! Duke përdorur një arduino dhe një
Ora e daljes në pension / Numërimi / Ora Dn: 4 hapa (me fotografi)
Ora e daljes në pension / Numërimi / Ora Dn: Unë kisha disa nga këto ekrane 8x8 LED me pikat e matricës në sirtar dhe po mendoja se çfarë të bëja me to. Frymëzuar nga udhëzime të tjera, më lindi ideja për të ndërtuar një ekran numërimi/zbritje për të numëruar deri në një datë/kohë të ardhshme dhe nëse koha e synuar p
Ora e Rrjetit ESP8266 Pa asnjë RTC - Ora Nodemcu NTP Pa RTC - PROJEKTI I OROCS INTERNET: 4 hapa
Ora e Rrjetit ESP8266 Pa asnjë RTC | Ora Nodemcu NTP Pa RTC | PROJEKTI I OROCS INTERNET: Në projekt do të bëhet një projekt i orës pa RTC, do të marrë kohë nga interneti duke përdorur wifi dhe do ta shfaq atë në ekranin st7735
Ora e bazuar në Arduino duke përdorur modulin DS1307 Ora në kohë reale (RTC) & 0.96: 5 hapa
Ora e bazuar në Arduino duke përdorur modulin DS1307 Ora në kohë reale (RTC) & 0.96: Përshëndetje djema në këtë tutorial do të shohim se si të bëjmë një orë pune duke përdorur një modul orësh në kohë reale DS1307 & Ekranet OLED. Pra, ne do të lexojmë kohën nga moduli i orës DS1307. Dhe shtypeni atë në ekranin OLED
Ora Gixie: Ora më e Bukur e Tubit me Shkëlqim: 4 Hapa
Ora Gixie: Ora më e Bukur e Tubave me Shkëlqim: Më pëlqen shumë Nixie Tube, por është shumë e shtrenjtë, nuk mund ta përballoj. Kështu kalova gjysmë viti duke krijuar këtë Orë Gixie. Ora Gixie arrihet duke përdorur ndriçimin ws2812 për të bërë dritën akrilike. Unë bëj çmos për ta bërë tubin RGB më të hollë