Mündəricat:
- Addım 1: Materialların toplanması/CubeSat -ın eskizi
- Addım 2: Cubesat qurmaq
- Addım 3: Arduinonun naqilləri və kodlaşdırılması
- Addım 4: Cubesat üzərində yoxlama
- Addım 5: CubeSat -ı bağlayın
- Addım 6: Yelləncək Testi
- Addım 7: Test #2- Sarsıntı Testi
- Addım 8: Nəticələr/Tamamlanmış Temperatur CubeSat
Video: Temperatur CubeSat Ben & Kaiti & Q Saat 1: 8 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Kosmosa göndərilə bilən və başqa bir planetin temperaturunu ölçə biləcək bir şey özünüz etmək istəmisinizmi? Lisey fizika dərsimizdə, əsas sualı olan işləyən bir arduino ilə bir CubeSat qurmağı tapşırdığımız yerdə, bunu Marsda necə əldə edə bilərik? Planetdəki istiliyi ölçmək qərarına gəldik, çünki kim Marsın nə qədər isti olduğunu bilmək istəməz ki? Ancaq onu əlverişli, həm də davamlı bir şeydən hazırlamalı olduq. Buna görə də Legosdan istifadə etdik. Bu, CubeSat-ı dayanıqlı etdi və ölçülərimizə olduqca asanlıqla çatmağımıza kömək etdi-hətta bütün parçalar bir az sinir bozucu olsa belə! Məqsədimiz, ətrafdakı istiliyi ölçə bilən tam işləyən bir sensora və ətrafındakı qoruyucu bir CubeSat'a sahib olmaq idi.
Addım 1: Materialların toplanması/CubeSat -ın eskizi
Etmək istədiyiniz ilk şey CubeSat -ın eskizidir. İnşa etməzdən əvvəl nəyi qurmaq istədiyinizi bilməlisiniz. Yuxarıdakı şəkillərdən biri də hazırladığımız CubeSat eskizləridir. Sonra materiallarınızı toplayın. Tikdiyimiz CubeSat üçün Legos istifadə edirik. Legos'u seçdik, çünki onları yığmaq asandır və eyni zamanda davamlıdır və lazımi vəzifələri yaxşı yerinə yetirəcəkdir. Beləliklə, bir az Legos almalısınız. 10cm X 10cm X 10cm olan bir neçə geniş baza parçası və ya 10 ilə 10 parçaya bir araya gətirilə bilən bir neçə əsas parça alın. CubeSat'ımız üçün, 10 sm -dən 10 sm -ə qədər bir baza yaratmaq üçün bir neçə əsas parça əldə etməli və onları bir araya gətirməli idik. Eyni ölçüdə bir dam örtüyü düzəltmək üçün Legos almalısınız. Bu Legosları əldə etdikdən sonra, CubeSat divarlarını qurmaq üçün bir ton kiçik Legos almalı olacaqsınız. Bu Legosun kifayət qədər cılız olduğundan əmin olun, buna görə CubeSat -ın daxili hissəsini çox tutmur.
Addım 2: Cubesat qurmaq
Əvvəlcə bu 10x10x10 gözəlliyi qurduq. Çox fərqli dizaynlar lazım idi. Əvvəlcə ortada bir rəf var idi, amma sonradan bunun lazımsız olduğuna qərar verdik. Ortada bir rəf olmağı seçsəniz, yalnız bir raf tövsiyə edərdim, çünki hər dəfə Arduino və sensorunuzu taxıb çıxardığınız zaman onu ayırıb çıxarmalı olacaqsınız. Kiçik pəncərələr əlavə etdik ki, üstü bağlı olarkən içəriyə tez bir zamanda baxaq və hər şeyin düzgün işlədiyini görə bilək. CubeSat -ı daha sabit etmək üçün altda iki qat Lego qoyduq. Nə qədər sabit olsa, bir o qədər yaxşıdır, çünki bu CubeSat -ın bir çox fərqli maneəni aşa bilməsi lazımdır.
Addım 3: Arduinonun naqilləri və kodlaşdırılması
Bu layihənin ikinci addımı, arduinoya tel bağlamanız lazım olduğu yerdir. Bu addım çox vacibdir, çünki əgər bu düzgün edilməsə, kub ölçüsü temperaturu oxuya bilməyəcək. Arduino kabelini tamamlamaq üçün bəzi materiallara ehtiyacınız olacaq. Bu materiallar batareya, arduino, SD kart, tullanan tellər, çörək taxtası, temperatur sensoru və kompüterdir. Kabelin düzgün işlədiyini yoxlamaq üçün kompüter istifadə ediləcək. Arduino -ya tel bağlamaq üçün bizə kömək edən bir veb saytdır:
create.arduino.cc/projecthub/TheGadgetBoy/…
Yuxarıdakı şəkillər və qıvrım diaqramı da sizə kömək edə bilər. Arduino -nun kodlaşdırılması da işlədiyini yoxlamaq üçün kompüterdə yoxlanılacaq. Hər şey işləyirsə, arduino kompüterdən çıxarıla bilər və işə hazırdır.
Kod:
// Məlumat teli Arduino port 2 -ə qoşulur
#ONE_WIRE_BUS -u təyin edin 2
Fayl sensoru Məlumat;
// OneWire cihazları ilə ünsiyyət qurmaq üçün OneWire nümunəsi qurun (yalnız Maxim/Dallas temperatur IC -ləri deyil)
OneWire OneWire (ONE_WIRE_BUS);
// Ehtiyacımız olan kitabxanaları daxil edin
#daxil edin
#daxil edin
#daxil edin
// OneWire istinadımızı Dallas Temperaturuna keçirin.
DallasTemperatur sensorlar (& oneWire);
// cihaz ünvanını saxlamaq üçün massivlər
Termometr daxilində cihaz ünvanı;
/*
* Quraşdırma funksiyası. Burada əsasları edirik
*/
boş quraşdırma (boş)
{
pinMode (10, Çıxış);
SD.begin (4);
// seriya limanına başlayın
Serial.begin (9600);
Serial.println ("Dallas Temperatur IC Control Library Demo");
// avtobusdakı cihazları tapın
Serial.print ("Cihazları tapır …");
sensorlar.begin ();
Serial.print ("Tapıldı");
Serial.print (sensorlar.getDeviceCount (), DEC);
Serial.println ("cihazlar.");
// parazit güc tələblərini bildirin
Serial.print ("Parazit gücü:");
if (sensors.isParasitePowerMode ()) Serial.println ("ON");
else Serial.println ("OFF");
/*Ünvanı əl ilə təyin edin. Aşağıdakı ünvanlar dəyişdirilməlidir
avtobusunuzda etibarlı cihaz ünvanları. Cihazın ünvanını əldə etmək olar
ya oneWire.search (deviceAddress) istifadə edərək və ya fərdi olaraq
sensors.getAddress (deviceAddress, index) Burada xüsusi ünvanınızı istifadə etməyiniz lazım olduğunu unutmayın
içəridə termometr = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};
Metod 1:
Avtobusdakı cihazları axtarın və indeksə əsasən təyin edin. İdeal olaraq
Bunu əvvəlcə avtobusdakı ünvanları kəşf etmək üçün edərdiniz, sonra
bu ünvanlardan istifadə edin və bildiyiniz zaman onları əl ilə təyin edin (yuxarıya baxın)
avtobusunuzdakı qurğular (və dəyişmədiklərini düşünürsünüzsə).
*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Cihaz 0 üçün ünvan tapılmadı");
// metod 2: axtarış ()
// search () növbəti cihazı axtarır. Yeni bir ünvan varsa 1 qaytarır
// qayıtdı. Sıfır, avtobusun qısaldığını, heç bir cihazın olmadığını, // və ya hamısını artıq əldə etdiniz. Bunu etmək yaxşı bir fikir ola bilər
// zibil almadığınızdan əmin olmaq üçün CRC -ni yoxlayın. Sifarişdir
// deterministik. Həmişə eyni cihazları eyni qaydada alacaqsınız
//
// Axtarışdan əvvəl zəng edilməlidir ()
//oneWire.reset_search ();
// tapılan ilk ünvanı içəridəki termometrə təyin edir
// if (! oneWire.search (insideThermometer)) Serial.println ("InsideThermometer üçün ünvan tapılmadı");
// avtobusda tapdığımız ünvanları göstər
Serial.print ("Cihaz 0 Ünvan:");
printAddress (içərisində termometr);
Serial.println ();
// qətnaməni 9 bit olaraq təyin edin (Hər Dallas/Maxim cihazı bir neçə fərqli qətnamə qabiliyyətinə malikdir)
sensorlar.setResolution (içərisində Termometr, 9);
Serial.print ("Cihaz 0 Çözünürlük:");
Serial.print (sensorlar.getResolution (içərisində Termometr), DEC);
Serial.println ();
}
// cihazın temperaturunu çap etmək funksiyası
boş çap İstiliyi (DeviceAddress deviceAddress)
{
// metod 1 - daha yavaş
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print ("Temp F:");
//Serial.print(sensors.getTempF(deviceAddress)); // getTempC üçün ikinci zəng edir və sonra Fahrenheitə çevrilir
// metod 2 - daha sürətli
float tempC = sensors.getTempC (deviceAddress);
əgər (tempC == DEVICE_DISCONNECTED_C)
{
Serial.println ("Xəta: temperatur məlumatları oxunmadı");
qayıtmaq;
}
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)); // tempC -ni Fahrenheit -ə çevirir
sensorData.println (tempC);
sensorData.close ();
}
}
/*
* Əsas funksiya. Sensorlardan tempC istəyəcək və Serialda göstərəcəkdir.
*/
boşluq döngəsi (boşluq)
{
// qlobal bir temperatur vermək üçün sensorlar.requestTemperatures () çağırın
// avtobusdakı bütün cihazlara müraciət edin
Serial.print ("İstilik istənir…");
sensorlar.requestTemperatures (); // İstilik almaq üçün əmr göndərin
Serial.println ("BİTDİ");
// Demək olar ki, dərhal cavab verir. Verilənləri çap edək
çap temperaturu (içərisində termometr); // Məlumatları çap etmək üçün sadə bir funksiyadan istifadə edin
}
// cihaz ünvanını çap etmək funksiyası
void printAddress (DeviceAddress deviceAddress)
{
üçün (uint8_t i = 0; i <8; i ++)
{
if (deviceAddress <16) Serial.print ("0");
Serial.print (deviceAddress , HEX);
}
}
Cavab irəli
Addım 4: Cubesat üzərində yoxlama
Arduinonun CubeSat, kodu və naqilləri tamamlandıqdan sonra tezliklə testlər keçirəcəksiniz. Bu testlər uğursuz olarsa, CubeSat'ınız Arduino ilə birlikdə potensial olaraq tamamilə məhv edilə bilər. Buna görə də Arduino -nun buna hazır olduğundan əmin olmaq istəyəcəksiniz. Bu addımın CubeSat -ı yoxlayaraq oynamaq üçün gəldiyi yer budur. Birincisi, Arduino -nuzu CubeSat -ın içərisinə etibarlı bir şəkildə yerləşdirməlisiniz və ətrafında əyilməyəcəyinə əmin olmalısınız. Sonra, CubeSat -ın bütün hissələrinin etibarlı şəkildə yerində olduğundan əmin olmalısınız. Boş hissələr ola bilməz və ya CubeSat -ın sınaqlar zamanı parçalanma ehtimalı daha çox olacaq. CubeSat'ınızı möhkəm bir şəkildə yoxlayırsınızsa, keçdiyi testlər asanlıqla keçməlidir.
Addım 5: CubeSat -ı bağlayın
Bu addım CubeSat -ın keçəcəyi ilk sınağa hazırlıq olacaq. Testdə, CubeSat 30 saniyə ərzində bir dairədə sürətlə fırlanacaq. Uçmaq üçün CubeSat -ın möhkəm bağlandığından əmin olmalısınız. CubeSat ətrafına tamamilə 2 tel bağladıq və möhkəm bağladıq. Sonra, ilk ikisinin ətrafında bağlanmış başqa bir uzun ip əlavə etdik. Mümkün qədər etibarlı olması üçün bu ipi yuxarı və aşağıdan bir neçə dəfə bağladıq. Uçuş zamanı boş qalmaması üçün ipi mükəmməl etmək istədiyiniz üçün bu bir çox cəhd tələb edə bilər.
Addım 6: Yelləncək Testi
Bu addımda təhlükəsizlik üçün gözlərinizi qorumaq üçün gözlük taxdığınızdan əmin olun. Bu addımda, CubeSat -ı Arduinonu vəzifəsini yerinə yetirməsi üçün (temperatur tapma) kifayət qədər yaxşı qoruyub saxlamadığını yoxlamaq üçün sınaqdan keçirəcəksiniz. İlk sınağa ehtiyac duyulan testdir. Bu testdə Arduino yuvarlanacaq (yuxarıdakı şəkil/videoda göstərildiyi kimi)- (bəzən videonun yüklənməsində problem yaranır). Ortada bir Mars modeli yerləşdirilə bilər. Bu sınağı uğurla başa çatdırmaq üçün Arduinonun əlini bağlamadan yuvarlanmaq lazımdır, bu səbəbdən onu yaxşı bağlamaq lazımdır və test bitdikdən sonra Arduinonun tam işləməsi lazımdır. Buna görə də Arduinonun CubeSat -da yaxşı təmin olunduğundan əmin olmalısınız.
Addım 7: Test #2- Sarsıntı Testi
Bu addımda CubeSat 2 nömrəli testdən keçəcək. Bu test sarsıntı testidir. Bu testdə, CubeSat yuxarıdakı şəkil/videoda göstərildiyi kimi tutucuya yerləşdiriləcək (bəzən videonun yüklənməsində problem yaranır) və 30 saniyə ərzində şiddətlə irəli -geri sarsılacaq. Bu testdən keçmək üçün CubeSat və Arduinonun sarsıldıqdan sonra hələ də tam işləməsi lazım olacaq.
Addım 8: Nəticələr/Tamamlanmış Temperatur CubeSat
Sonda, CubeSatımız hər sınaqdan keçərkən temperaturu uğurla qeyd edə bildi. Məlumatlar hər testdə ardıcıl olaraq 26-30 dərəcə Selsi oxuyur. Bu, 78-86 dərəcə Fahrenheit ilə eynidir. Ancaq yolda bəzi problemlərlə üzləşdik. Məsələn, bir neçə dəfə arduino kodlaması işləmədi və 126 dərəcə Selsi oxudu. Düzgün istiliyi əldə etmək üçün bir çox cəhd edildi. Bu layihəni həyata keçirən hər kəsə verə biləcəyim bəzi məsləhətlər, birdən çox kod və naqillərin sınanması və arduino -nun CubeSat -a sıx uyğunlaşdığından əmin olmaqdır. Arduinonun içəriyə mükəmməl uyğunlaşdığından əmin olmaq üçün CubeSat içərisindəki boşluğu sıxmanız lazım ola bilər. Arduinonun CubeSat -da çox boş olması ilə əlaqədar bir problem yaşadıq.
Bu layihədə fizika haqqında biliklərinizi də tətbiq etməlisiniz. Texnologiya, enerji və güc haqqında fizika biliklərinin layihə boyunca tətbiq edilməsi lazım olacaq. Layihə boyunca günəş sistemi və CubeSats kimi yeni texnologiyalar haqqında daha çox məlumat əldə etdik. Cazibə qüvvəsi və bu qüvvənin CubeSat -a necə təsir edə biləcəyini də öyrəndik. Bu layihə ilə əlaqədar çox əhəmiyyətli bir mövzu peyk hərəkəti idi. Sürət, net qüvvə və cazibə qüvvəsi ilə peyk hərəkətini öyrəndik. Bu, peyklərin mərmilərini tapmağımıza kömək edərdi.
CubeSat və arduino testlərinizi uğurla keçdikdən və düzgün işlədikdən sonra bitirdiniz. CubeSatınız Mars atmosferindən sağ çıxmağı bacarmalıdır. Sensorun testlər zamanı temperaturu uğurla qeyd etdiyinə əmin olun. Sizin CubeSat kosmosa getməyə hazırdır!
Tövsiyə:
Arduino istifadə edərək Led Strip ilə Analog Saat və Rəqəmsal Saat Necə Hazırlanır: 3 Addım
Arduino istifadə edərək Led Strip ilə Analog Saat və Rəqəmsal Saat Necə Hazırlanır: Bu gün biz Analog Clock & Led Strip və Arduino ilə MAX7219 Dot modulu olan rəqəmsal saat yerli vaxt qurşağı ilə saatı düzəldəcək. Analog saat daha uzun bir LED şeridi istifadə edə bilər, buna görə də sənətkar olmaq üçün divara asıla bilər
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: 10 addım (şəkillərlə)
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: Heç ağıllı bir saat istəmisinizmi? Əgər belədirsə, bu sizin üçün bir həlldir! Ağıllı Zəngli Saat hazırladım, bu veb saytına görə zəngli saatını dəyişə biləcəyiniz bir saatdır. Siqnal çalınanda bir səs (zil) olacaq və 2 işıq yanacaq
C51 4 Bit Elektron Saat - Taxta Saat: 15 Addım (Şəkillərlə)
C51 4 Bit Elektron Saat - Taxta Saat: Bu həftə sonu bir az boş vaxtım oldu, buna görə də bir müddət əvvəl AliExpress -dən aldığım 2.40 dollarlıq 4 bitlik elektron elektron rəqəmsal saatı yığdım
M-Saat Miniatür Çox Modlu Saat: 11 addım
M-Clock Miniatür Çox Modlu Saat: Minimalist Saatı? Çox rejimli saat? Matrix Clock? Bu MSP430G2432-ə əsaslanan çox rejimli bir saat layihəsidir. Lehim olmadan və minimum alət istifadə etmədən yığıla bilər. Məhdud 8x8 piksel ekran qətnaməsi ilə bu 12 saatlıq saat göstərir
Kompüteriniz üçün əsl zəng vuran bir saat və yanğınsöndürən bir saat yaradın .: 3 addım (şəkillərlə)
Kompüteriniz üçün əsl zəng vuran bir saat və yanğınsöndürmə saatı yaradın .: Bir pirinç zəngi, kiçik bir neçə şey və əsl bir zəng masaüstünüzdəki saatları vura bilər. Bu layihə Windows və Mac-da işləyir. OS X də, zibil qutusunda tapdığım bir kompüterə Ubuntu Linux qurmaq qərarına gəldim və bu işlə məşğul oldum: heç vaxt