İçindekiler:
- Adım 1: Malzemeleri Toplama/CubeSat'ı çizme
- Adım 2: Cubesat'ı Oluşturma
- Adım 3: Arduino'yu Kablolama ve Kodlama
- Adım 4: Cubesat'ı Kontrol Etme
- Adım 5: CubeSat'ı Kurmak
- Adım 6: Salınım Testi
- Adım 7: Test #2- Sarsıntı Testi
- Adım 8: Sonuçlar/Tamamlanan Sıcaklık CubeSat
Video: Sıcaklık CubeSat Ben & Kaiti & Q Saat 1: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Hiç kendin uzaya gönderilebilecek ve başka bir gezegenin sıcaklığını ölçebilecek bir şey yapmak istedin mi? Lise fizik sınıfımızda, ana soru ile çalışan bir arduino ile bir CubeSat inşa etmekle görevlendirildik, bunun Mars'ta çalışmasını nasıl sağlayabiliriz? Gezegendeki sıcaklığı ölçmeye karar verdik, çünkü kim mars'ın ne kadar sıcak olduğunu bilmek istemez ki? Ancak, bunu uygun fiyatlı ama aynı zamanda dayanıklı bir şeyden çıkarmamız gerekiyordu. Bu nedenle lego kullandık. Bu, CubeSat'ı dayanıklı hale getirdi ve boyutlandırma boyutlarına oldukça kolay ulaşmamıza yardımcı oldu - tüm parçalar biraz sinir bozucu olsa bile! Amacımız, çevredeki alanın sıcaklığını alabilen tam işlevli bir sensör ve çevresinde koruyucu bir CubeSat'a sahip olmaktı.
Adım 1: Malzemeleri Toplama/CubeSat'ı çizme
Yapmak isteyeceğiniz ilk şey CubeSat'ı çizmektir. İnşa etmeden önce ne inşa etmek istediğinize dair bir fikriniz olması gerekecek. Yukarıdaki resimlerden biri yaptığımız CubeSat eskizlerinden. Ardından, malzemelerinizi toplayın. İnşa ettiğimiz CubeSat için Legolar kullanıyoruz. Legoları, hem kolay elde edilip bir araya getirilmeleri, hem de dayanıklı olmaları ve gerekli görevleri iyi bir şekilde yerine getirmeleri nedeniyle seçtik. Yani, biraz Lego almanız gerekecek. 10 cm X 10 cm X 10 cm boyutlarında birkaç geniş taban parçası veya 10'a 10 parça halinde bir araya getirilebilecek birkaç taban parçası alın. CubeSat'ımız için birden fazla taban parçası alıp bunları bir araya getirerek 10 cm'ye 10 cm taban yapmak zorunda kaldık. Aynı boyutta bir çatı parçası yapmak için de Lego almanız gerekecek. Bu Legoları aldıktan sonra, CubeSat'ın duvarlarını inşa etmek için bir ton küçük Lego almanız gerekecek. Bu Legoların oldukça ince olduğundan emin olun, böylece CubeSat'ın içini çok fazla kaplamazlar.
Adım 2: Cubesat'ı Oluşturma
İlk olarak, bu 10x10x10 güzelliği inşa ettik. Çok farklı tasarımlar aldı. Önce ortada bir rafımız vardı ama daha sonra bunun gereksiz olduğuna karar verdik. Ortada bir raf olmasını seçerseniz, Arduino ve sensörünüzü her takışınızda ve çıkardığınızda onu ayırmanız gerekeceğinden sadece bir raf tavsiye ederim. Küçük pencereler ekledik, böylece üst kısım kapalıyken içeriye hızlıca bakabiliriz, böylece her şeyin sorunsuz çalıştığını görebiliriz. CubeSat'ı daha kararlı hale getirmek için altta iki kat Lego'yu bir araya getirdik. Ne kadar kararlı olursa o kadar iyi, çünkü bu CubeSat'ın birçok farklı engelden kurtulması gerekecek.
Adım 3: Arduino'yu Kablolama ve Kodlama
Bu projenin ikinci adımı, arduino'yu kablolamanız gereken yerdir. Bu adım çok önemlidir, çünkü bu doğru yapılmazsa, o zaman küp sat sıcaklığı okuyamayacaktır. Arduino'nun kablolarını tamamlamak için bazı malzemelere ihtiyacınız olacak. Bu malzemeler pil, arduino, SD kart, jumper kablolar, devre tahtası, sıcaklık sensörü ve bilgisayardır. Bilgisayar, kablolamanın doğru çalışıp çalışmadığını görmek için kullanılacaktır. Arduino'yu nasıl bağlayacağımız konusunda bize rehberlik etmede çok yardımcı olan bir web sitesi:
create.arduino.cc/projecthub/TheGadgetBoy/…
Yukarıdaki resimler ve fritzing diyagramı da size yardımcı olabilir. Arduino'nun kodlaması, çalışıp çalışmadığını görmek için bilgisayarda da test edilecektir. Her şey çalışıyorsa, arduino bilgisayardan çıkarılabilir ve kullanıma hazırdır.
Kod:
// Veri kablosu Arduino'daki port 2'ye takılı
#define ONE_WIRE_BUS 2
Dosya sensorData;
// Herhangi bir OneWire cihazıyla iletişim kurmak için bir oneWire örneği kurun (yalnızca Maxim/Dallas sıcaklık IC'leri değil)
OneWire oneWire(ONE_WIRE_BUS);
// İhtiyacımız olan kütüphaneleri dahil et
#Dahil etmek
#Dahil etmek
#Dahil etmek
// OneWire referansımızı Dallas Sıcaklığına iletin.
DallasSıcaklık sensörleri(&oneWire);
// cihaz adresini tutacak diziler
CihazAdresi içerideTermometre;
/*
* Kurulum işlevi. Burada temelleri yapıyoruz
*/
geçersiz kurulum (void)
{
pinMode (10, ÇIKIŞ);
SD.başla(4);
// seri portu başlat
Seri.başla(9600);
Serial.println("Dallas Sıcaklık IC Kontrol Kitaplığı Demosu");
// veri yolundaki cihazları bulun
Serial.print("Aygıtların yeri belirleniyor…");
sensörler.begin();
Serial.print("Bulundu");
Serial.print(sensors.getDeviceCount(), DEC);
Serial.println("aygıtlar.");
// parazit güç gereksinimlerini bildir
Serial.print("Parazit gücü: ");
if (sensors.isParasitePowerMode()) Serial.println("AÇIK");
başka Serial.println("KAPALI");
/*Adresi manuel olarak atayın. Aşağıdaki adresler değiştirilecek
otobüsünüzdeki geçerli cihaz adreslerine. Cihaz adresi alınabilir
oneWire.search(deviceAddress) kullanarak veya tek tek
sensor.getAddress(deviceAddress, index) Burada belirli adresinizi kullanmanız gerekeceğini unutmayın.
içerideTermometre = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };
Yöntem 1:
Veri yolundaki cihazları arayın ve bir dizine göre atayın. İdeal olarak, bunu ilk önce otobüsteki adresleri keşfetmek için yaparsınız ve sonra
bu adresleri kullanın ve öğrendikten sonra bunları manuel olarak atayın (yukarıya bakın)
otobüsünüzdeki cihazlar (ve değişmediklerini varsayarak).
*/ if (!sensors.getAddress(insideThermometer, 0))) Serial.println("Cihaz 0 için adres bulunamadı");
// yöntem 2: arama()
// search() sonraki cihazı arar. Yeni bir adres varsa 1 döndürür
// iade. Sıfır, veri yolunun kısa devre olduğu, cihaz olmadığı anlamına gelebilir, // veya hepsini zaten aldınız. iyi bir fikir olabilir
// Çöp almadığınızdan emin olmak için CRC'yi kontrol edin. sipariş
// deterministik. Her zaman aynı cihazları aynı sırayla alacaksınız
//
// Aramadan önce çağrılmalıdır()
//oneWire.reset_search();
// bulunan ilk adresi insideThermometer'e atar
//if (!oneWire.search(insideThermometer)) Serial.println("InsideThermometer için adres bulunamadı");
// otobüste bulduğumuz adresleri göster
Serial.print("Aygıt 0 Adresi: ");
printAddress(insideTermometre);
Seri.println();
// çözünürlüğü 9 bit olarak ayarlayın (Her Dallas/Maxim cihazı birkaç farklı çözünürlük kapasitesine sahiptir)
sensor.setResolution(insideTermometre, 9);
Serial.print("Aygıt 0 Çözünürlüğü: ");
Serial.print(sensors.getResolution(insideTermometre), DEC);
Seri.println();
}
// bir cihazın sıcaklığını yazdırma işlevi
void printTemperature(DeviceAddress deviceAddress)
{
// yöntem 1 - daha yavaş
//Serial.print("Sıcaklık C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print(" Sıcaklık F: ");
//Serial.print(sensors.getTempF(deviceAddress)); // getTempC'ye ikinci bir çağrı yapar ve ardından Fahrenheit'e dönüştürür
// yöntem 2 - daha hızlı
float tempC = sensor.getTempC(deviceAddress);
if(tempC == DEVICE_DISCONNECTED_C)
{
Serial.println("Hata: Sıcaklık verileri okunamadı");
dönüş;
}
sensorData = SD.open("log.txt", FILE_WRITE);
if (sensorData) {
Serial.print("Sıcaklık C: ");
Seri.print(tempC);
Serial.print("Sıcaklık F:");
Serial.println(DallasSıcaklık::Fahrenheit(tempC)); // TempC'yi Fahrenhayt'a çevirir
sensorData.println(tempC);
sensorData.close();
}
}
/*
* Ana işlev. Sensörlerden tempC'yi isteyecek ve Seri olarak görüntülenecektir.
*/
boşluk döngüsü (boşluk)
{
// global bir sıcaklık vermek için sensor.requestTemperatures()'ı çağırın
// bus üzerindeki tüm cihazlara istek
Serial.print("Sıcaklık isteniyor…");
sensörler.requestTemperatures(); // Sıcaklıkları almak için komutu gönder
Serial.println("BİTTİ");
// Neredeyse anında yanıt verir. Verileri yazdıralım
printSıcaklık(insideTermometre); // Verileri yazdırmak için basit bir işlev kullanın
}
// bir aygıt adresini yazdırma işlevi
void printAddress(AygıtAdresi aygıtAdresi)
{
için (uint8_t i = 0; i < 8; i++)
{
if (deviceAddress < 16) Serial.print("0");
Serial.print(cihazAdresi, HEX);
}
}
Yanıtlaİleri
Adım 4: Cubesat'ı Kontrol Etme
Arduino'nun CubeSat, kodu ve kablolaması tamamlandığına göre, yakında testleri çalıştıracaksınız. Bu testler başarısız olursa, CubeSat'ınız Arduino'nuzla birlikte potansiyel olarak tamamen yok olabilir. Bu nedenle, Arduino'nuzun buna hazır olduğundan emin olmak isteyeceksiniz. CubeSat'ı kontrol ederek bu adımın devreye girdiği yer burasıdır. Öncelikle Arduino'nuzu CubeSat'ın içine güvenli bir şekilde yerleştirmeniz ve sallanmadığından emin olmanız gerekecek. Ardından, CubeSat'ın tüm parçalarının güvenli bir şekilde yerine oturduğundan emin olmanız gerekir. Gevşek parçalar olamaz veya CubeSat'ın testler sırasında parçalanması daha olasıdır. CubeSat'ınızı sıkı bir şekilde kontrol ederseniz, geçtiği testlerden kolayca geçilebilir.
Adım 5: CubeSat'ı Kurmak
Bu adım, CubeSat'ın geçeceği ilk test için hazırlık niteliğinde olacaktır. Testte, CubeSat 30 saniye boyunca bir daire içinde hızlı bir şekilde döndürülecektir. Uçup gitmemesi için CubeSat'ın sıkıca bağlı olduğundan emin olmanız gerekir. 2 ipi CubeSat'ın etrafına tamamen bağladık ve sıkıca bağladık. Ardından, ilk ikisinin etrafına bağlanan başka bir uzun ip ekledik. Bu ipi mümkün olduğunca güvenli olması için üstte ve altta defalarca düğümledik. Bu, uçuş sırasında gevşememesi için ipi mükemmel hale getirmek istediğiniz için birden fazla deneme gerektirebilir.
Adım 6: Salınım Testi
Bu adımda güvenlik için gözlerinizi korumak için gözlük taktığınızdan emin olun. Bu adımda, Arduino'yu görevini yerine getirmesi (sıcaklığı bulma) için yeterince iyi koruyup korumadığını görmek için CubeSat'ı bir testten geçireceksiniz. İlk test, ipe ihtiyaç duyan testtir. Bu testte, Arduino döndürülecek (yukarıdaki resimde/videoda gösterildiği gibi) - (bazen videonun yüklenmesinde sorun olur). Ortaya bir Mars modeli yerleştirilebilir. Bu testi başarılı bir şekilde tamamlamak için Arduino'nun serbest kalmadan etrafta sallanması gerekecek, bu yüzden iyi bir şekilde asılması gerekiyor ve test bittikten sonra Arduino'nun tamamen çalışıyor olması gerekecek. Bu nedenle Arduino'nun CubeSat'ta iyi bir şekilde sabitlendiğinden emin olmanız gerekir.
Adım 7: Test #2- Sarsıntı Testi
Bu adımda CubeSat'ınız 2 numaralı testten geçecektir. Bu test sallama testidir. Bu testte, CubeSat yukarıdaki resimde/videoda gösterildiği gibi (bazen videonun yüklenmesinde sorun olabiliyor) bir tutucuya yerleştirilecek ve 30 saniye boyunca şiddetli bir şekilde ileri geri sallanacaktır. Bu testi geçmek için, CubeSat ve Arduino'nuzun çalkalandıktan sonra hala tam olarak çalışır durumda olması gerekir.
Adım 8: Sonuçlar/Tamamlanan Sıcaklık CubeSat
Sonunda, CubeSat'ımız her testten geçerken sıcaklığı başarılı bir şekilde kaydetmeyi başardı. Veriler, her testte tutarlı bir şekilde 26-30 santigrat derece okur. Bu, 78-86 derece Fahrenheit ile aynıdır. Ancak yolda bazı sorunlarla karşılaştık. Örneğin, arduino'nun kodlaması birden çok kez çalışmadı ve 126 santigrat derece okudu. Doğru sıcaklığa ulaşmak için birden fazla girişimde bulunuldu. Bu projeyi yapan herkese verebileceğim bazı tavsiyeler, birden fazla kod ve kablolama varyasyonunu denemek ve arduino'nuzun CubeSat'a sıkıca oturduğundan emin olmak olacaktır. Arduino'nun içine tam olarak oturduğundan emin olmak için CubeSat'ın içindeki boşluğu sıkmanız gerekebilir. Arduino'nun CubeSat'ta çok gevşek olmasıyla ilgili bir sorunumuz vardı.
Bu projede ayrıca fizik bilginizi de uygulamanız gerekecek. Teknoloji, enerji ve kuvvetle ilgili fizik bilgisinin proje boyunca uygulanması gerekecektir. Proje boyunca güneş sistemi ve CubeSats gibi yeni teknolojiler hakkında daha fazla şey öğrendik. Ayrıca yerçekimi kuvvetini ve bu kuvvetin CubeSat'ı nasıl etkileyebileceğini öğrendik. Bu projeyle ilgili çok önemli bir konu uydu hareketiydi. Uydu hareketini hız, net kuvvet ve yerçekimi kullanarak öğrendik. Bu, uyduların mermilerini bulmamıza yardımcı olacaktır.
CubeSat ve arduino'nuz testleri başarıyla geçtikten ve düzgün çalıştıktan sonra işiniz biter. CubeSat'ınız Mars atmosferinde hayatta kalabilmelidir. Sensörün, testler boyunca sıcaklığı da başarıyla kaydettiğinden emin olun. CubeSat'ınız uzaya gitmeye hazır!
Önerilen:
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: 3 Adım
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: Bugün Analog Saat & Led Strip ve MAX7219 Dot modülü ile Arduino ile dijital saat.Yerel saat dilimi ile saati düzeltir. Analog saat, daha uzun bir LED şerit kullanabilir, böylece duvara asılarak bir sanat eseri haline getirilebilir
Arduino Uno ile LM35 Sıcaklık Sensörü Kullanarak Sıcaklık Okuma: 4 Adım
Arduino Uno ile LM35 Sıcaklık Sensörü Kullanarak Sıcaklık Okuma: Merhaba arkadaşlar bu derste LM35'i Arduino ile nasıl kullanacağımızı öğreneceğiz. Lm35, -55 °C ile 150 °C arasındaki sıcaklık değerlerini okuyabilen bir sıcaklık sensörüdür. Sıcaklıkla orantılı analog voltaj sağlayan 3 terminalli bir cihazdır. Yüksek
CubeSat Sıcaklık ve Nem: 7 Adım
CubeSat Sıcaklık ve Nem: Bu bizim CubeSat'ımız. Uzaydaki koşulları merak ettiğimiz için sıcaklık ve nemi ölçmek istediğimize karar verdik. Yapımızı 3D olarak yazdırdık ve bu modeli oluşturmanın en verimli yollarını bulduk. Amacımız bir sistem kurmaktı
Sıcaklık Cubesat Nasıl Yapılır: 5 Adım
Bir Sıcaklık Küpü Nasıl İnşa Edilir: 10x10x10'luk bir küpten başka bir şey kullanarak bir gezegeni keşfetme yeteneğine sahip olduğunuzu hayal edin. Şimdi yapabilirsiniz! (Not: Bu proje aslında aya gitmeyecek, üzgünüm) Benim adım Alyssa ve bu Eğitilebilir Tabloda size iki ortağımın (Stormi ve H
ESP32 NTP Sıcaklık Problu Steinhart-Hart Düzeltmeli ve Sıcaklık Alarmlı Pişirme Termometresi: 7 Adım (Resimli)
ESP32 NTP Sıcaklık Probu Steinhart-Hart Düzeltme ve Sıcaklık Alarmı ile Pişirme Termometresi.: "Yaklaşan bir projeyi" tamamlama yolculuğunda, "Steinhart-Hart Düzeltme ve Sıcaklık Alarmlı ESP32 NTP Sıcaklık Probu Pişirme Termometresi"; bir NTP sıcaklık probunu nasıl eklediğimi gösteren bir Eğitilebilirliktir, piezo b