Turinys:
- 1 žingsnis: Surinkite medžiagas/eskizuokite „CubeSat“
- 2 žingsnis: sukurkite „Cubesat“
- 3 žingsnis: „Arduino“prijungimas ir kodavimas
- 4 žingsnis: patikrinkite „Cubesat“
- 5 veiksmas: „CubeSat“susiejimas
- 6 žingsnis: pasukimo testas
- 7 žingsnis: išbandykite #2 purtymo testą
- 8 veiksmas: rezultatai/baigta temperatūra „CubeSat“
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
Ar kada nors norėjote patys pasigaminti kažką, ką būtų galima nusiųsti į kosmosą ir išmatuoti kitos planetos temperatūrą? Vidurinės mokyklos fizikos pamokoje mums buvo pavesta sukurti „CubeSat“su veikiančiu arduino, kurio pagrindinis klausimas yra kaip tai padaryti Marse? Mes nusprendėme išmatuoti temperatūrą planetoje, nes kas nenorėtų žinoti, koks karštas Marsas? Tačiau mums reikėjo jį pagaminti iš kažko prieinamo, bet ir patvaraus. Todėl mes naudojome „Legos“. Dėl to „CubeSat“tapo patvarus ir padėjo mums lengvai pasiekti dydžių matmenis, net jei visi gabalai buvo šiek tiek erzinantys! Mūsų tikslas buvo turėti visiškai veikiantį jutiklį, galintį išmatuoti aplinkos temperatūrą, ir aplink jį esantį apsauginį „CubeSat“.
1 žingsnis: Surinkite medžiagas/eskizuokite „CubeSat“
Pirmas dalykas, kurį norėsite padaryti, yra eskizuoti „CubeSat“. Prieš statydami turėsite įsivaizduoti, ką norite sukurti. Vienas iš aukščiau pateiktų vaizdų yra mūsų sukurti „CubeSat“eskizai. Toliau surinkite savo medžiagą. „CubeSat“, kurį kuriame, naudojame „Legos“. Pasirinkome „Lego“, nes juos lengva surinkti ir sudėti, tuo pačiu jie yra patvarūs ir gerai atliks reikiamas užduotis. Taigi, jums reikia įsigyti „Lego“. gaukite porą pločio pagrindo dalių, kurios yra 10 cm x 10 cm x 10 cm, arba kelias pagrindo dalis, kurias galima sujungti į 10 x 10 dalių. Savo „CubeSat“turėjome gauti kelis pagrindo gabalus ir sudėti juos, kad sudarytume 10 cm x 10 cm pagrindą. Taip pat turėsite įsigyti „Legos“, kad padarytumėte tokio paties dydžio stogo detalę. Gavę tuos „Lego“, turėsite gauti daugybę mažų „Lego“, kad pastatytumėte „CubeSat“sienas. Įsitikinkite, kad šie „Lego“yra gana liesi, kad jie neužimtų per daug „CubeSat“interjero.
2 žingsnis: sukurkite „Cubesat“
Pirma, mes sukūrėme šį 10x10x10 grožį. Prireikė daug įvairių dizainų. Iš pradžių mes turėjome lentyną viduryje, bet vėliau nusprendėme, kad to nereikia. Jei pasirinksite lentyną viduryje, rekomenduočiau tik vieną lentyną, nes turėsite ją išardyti kiekvieną kartą, kai įdėsite ir išimsite „Arduino“ir jutiklį. Pridėjome mažus langus, kad galėtume greitai pažvelgti į vidų, kai viršus uždarytas, kad matytume, kaip viskas veikia sklandžiai. Kad „CubeSat“būtų stabilesnis, apačioje sujungiame du „Lego“sluoksnius. Kuo stabilesnis, tuo geriau, nes šis „CubeSat“turės sugebėti išgyventi daugybę skirtingų kliūčių.
3 žingsnis: „Arduino“prijungimas ir kodavimas
Antrasis šio projekto žingsnis yra tas, kur jums reikės prijungti arduino. Šis žingsnis yra labai svarbus, nes jei tai nebus padaryta teisingai, kubas nesugebės nuskaityti temperatūros. Norėdami užbaigti arduino laidus, jums reikės tam tikrų medžiagų. Šios medžiagos yra baterija, arduino, SD kortelė, trumpieji laidai, duonos lenta, temperatūros jutiklis ir kompiuteris. Kompiuteris bus naudojamas patikrinti, ar laidai veikia tinkamai. Čia yra svetainė, kuri labai padėjo mums paaiškinti, kaip prijungti arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Aukščiau pateiktos nuotraukos ir matymo schema taip pat gali jums padėti. „Arduino“kodavimas taip pat bus išbandytas kompiuteryje, kad pamatytumėte, ar jis veikia. Jei viskas veikia, arduino galima išimti iš kompiuterio ir jis yra paruoštas naudoti.
Kodas:
// Duomenų laidas prijungtas prie 2 „Arduino“prievado
#define ONE_WIRE_BUS 2
Failo jutiklisData;
// Nustatykite „OneWire“egzempliorių, kad galėtumėte bendrauti su bet kokiais „OneWire“įrenginiais (ne tik „Maxim“/„Dalaso“temperatūros IC)
„OneWire oneWire“(ONE_WIRE_BUS);
// Įtraukite mums reikalingas bibliotekas
#įtraukti
#įtraukti
#įtraukti
// Perduokite mūsų „OneWire“nuorodą į Dalaso temperatūrą.
Dalaso temperatūros jutikliai (& oneWire);
// masyvai įrenginio adresui laikyti
DeviceAddress insideTermmometer;
/*
* Sąrankos funkcija. Čia mes atliekame pagrindus
*/
negaliojanti sąranka (negalioja)
{
pinMode (10, OUTPUT);
SD. Pradžia (4);
// pradėti nuoseklųjį prievadą
Serial.begin (9600);
Serial.println („Dalaso temperatūros IC valdymo bibliotekos demonstracija“);
// surasti įrenginius magistralėje
Serial.print („Įrenginių vietos nustatymas …“);
jutikliai.pradėti ();
Serial.print („Rasta“);
Serial.print (sensors.getDeviceCount (), DEC);
Serial.println („įrenginiai“);
// pranešti apie parazitų galios reikalavimus
Serial.print ("Parazitų galia yra:");
if (sensors.isParasitePowerMode ()) Serial.println ("ĮJUNGTA");
else Serial.println ("IŠJUNGTA");
/*Priskirti adresą rankiniu būdu. Žemiau esantys adresai bus pakeisti
į galiojančius jūsų autobuso įrenginių adresus. Įrenginio adresą galima gauti
naudojant oneWire.search (deviceAddress) arba atskirai per
sensors.getAddress (deviceAddress, index) Atminkite, kad čia turėsite naudoti konkretų adresą
vidujeTermometras = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
1 metodas:
Ieškokite įrenginių magistralėje ir priskirkite pagal indeksą. Idealiu atveju, tai padarytumėte, kad iš pradžių atrastumėte adresus autobuse, o paskui
naudoti tuos adresus ir rankiniu būdu priskirti juos (žr. aukščiau), kai tik sužinosite
jūsų autobuso įrenginius (ir darant prielaidą, kad jie nesikeičia).
*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Nepavyko rasti 0 įrenginio adreso");
// 2 metodas: paieška ()
// search () ieško kito įrenginio. Grąžina 1, jei buvo naujas adresas
// grįžo. Nulis gali reikšti, kad magistralė yra sutrumpinta, nėra įrenginių, // arba jūs jau gavote juos visus. Tai gali būti gera idėja
// patikrinkite CRC, kad įsitikintumėte, jog negavote šiukšlių. Tvarka yra
// deterministinis. Visada gausite tuos pačius įrenginius ta pačia tvarka
//
// Prieš paiešką reikia paskambinti ()
//oneWire.reset_search ();
// priskiria pirmąjį rastą adresą vidujeTermometras
// if (! oneWire.search (insideThermometer)) Serial.println ("Nepavyko rasti insideTermmometer adreso");
// rodyti adresus, kuriuos radome autobuse
Serial.print ("Įrenginio 0 adresas:");
printAddress (vidujeTermometras);
Serial.println ();
// nustatykite skiriamąją gebą į 9 bitus (kiekvienas „Dallas/Maxim“įrenginys gali turėti kelias skirtingas rezoliucijas)
sensor.setResolution (vidujeTermometras, 9);
Serial.print („Įrenginio 0 rezoliucija:“);
Serial.print (sensor.getResolution (insideTermmometer), DEC);
Serial.println ();
}
// funkcija spausdinti įrenginio temperatūrą
void printTemperature (DeviceAddress deviceAddress)
{
// 1 metodas - lėčiau
//Serijinis.spaudas („C temperatūra“:);
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // Skambina antrą kartą „getTempC“ir konvertuoja į Fahrenheitą
// 2 metodas - greičiau
plūdės tempC = sensor.getTempC (deviceAddress);
jei (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Klaida: nepavyko nuskaityti temperatūros duomenų");
grįžti;
}
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)); // konvertuoja tempC į Fahrenheit
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Pagrindinė funkcija. Jis paprašys tempC iš jutiklių ir rodys serijinį.
*/
tuštumos kilpa (tuštuma)
{
// paskambinkite sensorams.requestTemperatures (), kad išleistumėte pasaulinę temperatūrą
// prašymas visiems magistralės įrenginiams
Serial.print („Prašoma temperatūra…“);
sensor.requestTemperatures (); // Siųskite komandą temperatūrai gauti
Serial.println („ATLIKTA“);
// Jis reaguoja beveik iš karto. Atspausdinkime duomenis
printTemperature (vidujeTermometras); // Norėdami išspausdinti duomenis, naudokite paprastą funkciją
}
// funkcija spausdinti įrenginio adresą
void printAddress (DeviceAddress deviceAddress)
{
(uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
Atsakyti Pirmyn
4 žingsnis: patikrinkite „Cubesat“
Dabar, kai „Arduino“„CubeSat“, kodas ir laidai yra baigti, netrukus atliksite testus. Jei šie bandymai nepavyks, jūsų „CubeSat“kartu su „Arduino“gali būti visiškai sunaikinti. Todėl norėsite įsitikinti, kad „Arduino“yra tam pasirengęs. Būtent čia reikia atlikti šį žingsnį, tikrinant „CubeSat“. Pirmiausia turėsite saugiai įdėti „Arduino“į „CubeSat“ir įsitikinti, kad jis nesvyruos. Tada turėsite įsitikinti, kad visos „CubeSat“dalys yra saugiai pritvirtintos. Negali būti jokių palaidų dalių, kitaip bandymų metu „CubeSat“greičiausiai suskaidys. Jei tvirtai patikrinsite „CubeSat“, jo testus reikia lengvai išlaikyti.
5 veiksmas: „CubeSat“susiejimas
Šis žingsnis bus pasirengimas pirmajam „CubeSat“bandymui. Bandymo metu „CubeSat“greitu tempu ratu pasuks 30 sekundžių. Turite įsitikinti, kad „CubeSat“yra tvirtai suveržtas, kad nenukristų. Mes visiškai surišome 2 stygas aplink „CubeSat“ir tvirtai surišome. Tada pridėjome dar vieną ilgą eilutę, susietą aplink pirmuosius du. Mes kelis kartus sujungėme šią virvę viršuje ir apačioje, kad ji būtų kiek įmanoma tvirtesnė. Tai gali užtrukti kelis kartus, nes norite, kad styga būtų tobula, kad ji skrydžio metu neatsiliktų.
6 žingsnis: pasukimo testas
Kad šiame etape būtų saugu, būtinai dėvėkite akinius, kad apsaugotumėte akis. Šiame etape jūs atliksite „CubeSat“testą, kad pamatytumėte, ar jis pakankamai gerai apsaugo „Arduino“, kad jis galėtų atlikti savo užduotį (rasti temperatūrą). Pirmasis testas yra tas, kuriam reikia eilutės. Šiame bandyme „Arduino“bus pasuktas (kaip parodyta paveikslėlyje/vaizdo įraše aukščiau)- (kartais vaizdo įrašui kyla problemų įkeliant). Marso modelis gali būti dedamas viduryje. Kad sėkmingai atliktų šį testą, „Arduino“turės suktis, neatsirišęs, todėl jį reikia gerai suveržti, o pasibaigus bandymui „Arduino“turės visiškai veikti. Štai kodėl turite įsitikinti, kad „Arduino“yra gerai pritvirtintas „CubeSat“.
7 žingsnis: išbandykite #2 purtymo testą
Šiame žingsnyje jūsų „CubeSat“atliks 2 testą. Šis bandymas yra drebėjimo testas. Atliekant šį bandymą, „CubeSat“bus įdėtas į laikiklį, kaip parodyta paveikslėlyje/vaizdo įraše (kartais vaizdo įrašui kyla problemų įkeliant), ir bus stipriai purtomas pirmyn ir atgal 30 sekundžių. Kad išlaikytumėte šį testą, „CubeSat“ir „Arduino“po sukratymo vis tiek turės veikti visiškai.
8 veiksmas: rezultatai/baigta temperatūra „CubeSat“
Galų gale mūsų „CubeSat“sugebėjo sėkmingai užregistruoti temperatūrą, atlikdamas kiekvieną bandymą. Kiekvieno bandymo metu duomenys nuolat rodomi 26–30 laipsnių Celsijaus. Tai yra tas pats kaip 78–86 laipsnių pagal Celsijų. Tačiau pakeliui susidūrėme su kai kuriomis problemomis. Pavyzdžiui, kelis kartus arduino kodavimas neveikė ir rodė 126 laipsnius Celsijaus. Norint pasiekti reikiamą temperatūrą, prireikė kelių bandymų. Keletas patarimų, kuriuos duočiau visiems, atliekantiems šį projektą, būtų išbandyti kelis kodo ir laidų variantus ir įsitikinti, ar jūsų arduino tvirtai priglunda prie „CubeSat“. Jums gali tekti sugriežtinti tarpą „CubeSat“viduje, kad įsitikintumėte, jog arduino puikiai tinka viduje. Turėjome tam tikrų problemų dėl to, kad arduino buvo per daug laisvas „CubeSat“.
Šiame projekte taip pat turėsite pritaikyti savo fizikos žinias. Viso projekto metu reikės taikyti fizikos žinias apie technologijas, energiją ir jėgą. Viso projekto metu mes sužinojome daugiau apie saulės sistemą ir naujas technologijas, tokias kaip „CubeSats“. Mes taip pat sužinojome apie gravitacinę jėgą ir kaip ši jėga gali paveikti „CubeSat“. Viena labai svarbi šio projekto tema buvo palydovo judėjimas. Mes sužinojome apie palydovo judėjimą naudodami greitį, grynąją jėgą ir gravitaciją. Tai padėtų mums rasti palydovų sviedinius.
Kai jūsų „CubeSat“ir „arduino“sėkmingai išlaikys testus ir veiks tinkamai, baigsite. Jūsų „CubeSat“turėtų sugebėti išgyventi Marso atmosferą. Įsitikinkite, kad jutiklis taip pat sėkmingai užfiksavo temperatūrą bandymų metu. Jūsų „CubeSat“paruoštas skristi į kosmosą!
Rekomenduojamas:
Temperatūros skaitymas naudojant LM35 temperatūros jutiklį su „Arduino Uno“: 4 žingsniai
Temperatūros skaitymas naudojant LM35 temperatūros jutiklį su „Arduino Uno“: Sveiki, vaikinai, šioje instrukcijoje mes išmoksime naudoti LM35 su „Arduino“. Lm35 yra temperatūros jutiklis, galintis nuskaityti temperatūros reikšmes nuo -55 ° C iki 150 ° C. Tai 3 gnybtų įrenginys, kuris tiekia analoginę įtampą, proporcingą temperatūrai. Hig
Otto pasidaryk pats - sukurk savo robotą per vieną valandą!: 9 žingsniai (su nuotraukomis)
„Otto DIY“- sukurkite savo robotą per vieną valandą !: Otto yra interaktyvus robotas, kurį gali padaryti kiekvienas! poveikio misija sukurti įtraukią aplinką visiems
Kaip sukurti tikrus kompiuterinius žaidimus. Linksma ir užtruks tik valandą: 10 žingsnių
Kaip sukurti tikrus kompiuterinius žaidimus. Linksma ir užtruks tik valandą: Ei, šis projektas parodys, kaip kurti žaidimus !!! Tikri žaidimai kompiuteriams ir nereikalauja žinoti painių kodų. kai baigsite šį projektą, žinosite kai kuriuos žaidimų kūrimo pagrindus ir galėsite sukurti tiek, kiek norite
Paprastas mobiliojo telefono įkroviklis tik per vieną valandą: 10 žingsnių
Paprastas mobiliojo telefono įkroviklis tik per vieną valandą: Šiuo metu mobilieji telefonai yra labai svarbūs. Ar galite pagalvoti dieną be šio išgalvoto prietaiso? Akivaizdu, kad ne, bet ką darysite, kai pametėte telefono įkroviklį arba įkroviklis neveikia tinkamai. Akivaizdu, kad nusipirksite naują. Bet ar tu
Kaip per valandą sukurti nuostabų MP3 garsiakalbių doką!: 8 žingsniai
Kaip per valandą pasidaryti šaunų MP3 garsiakalbių doką!: Kaip nemokamai padaryti nepriekaištingą kietą mp3 garsiakalbių prijungimą per valandą