Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Adlarımız Brock, Eddie və Drew. Fizika Dərsliyimizin əsas məqsədi, Cube Sat istifadə edərək Mars ətrafında orbit simulyasiya edərkən və məlumat toplayarkən Yerdən Marsa səyahət etməkdir. Qrupumuzun bu layihədəki məqsədi, planetdəki cazibə qüvvəsini tapmaq üçün "Mars" ın orbitinə çıxacaq bir Cube Satın içərisində Arduinomuza bağlanacaq bir akselerometr sensoru istifadə edərək məlumat toplamaqdır. Bu xüsusi tapşırıq üçün bəzi mümkün məhdudiyyətlər kodun düzgün işləməməsi, akselerometrin məlumat toplamaması və CubeSat -ın çəkə biləcəyi limit ola bilər. Hər kəsin qarşılaşa biləcəyi bir çox insan olsa da, qrupumuzun üzləşdiyi insanlar idi. Son layihəmizin və testimizin videosunu burada tapa bilərsiniz https://www.youtube.com/embed/u1_o38KSrEc -Eddie
Addım 1: Materialların siyahısı
BÜTÜN MATERİALLAR CUBESAT İÇİNDƏ GETİR
1. Arduino & Power Cable https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino, elektronikanı sənətkarlar, dizaynerlər, hobbiçilər və interaktiv obyektlər və ya mühit yaratmaqla maraqlanan hər kəs üçün daha əlçatan etmək üçün hazırlanmışdır.
: Arduinoya və kompüterinizə güc verin
2. Çörək lövhəsi
: elektrik dövrəsinin eksperimental modelini hazırlamaq üçün lövhə
Çörək taxtasına yapışdırılmış materiallar
1. Arduino Accelerometer
: sürətlənməni ölçmək və ya titrəmələri aşkar etmək və ölçmək üçün bir alət
2. Arduino SD Kart Modulu
: bu, layihənizə kütləvi saxlama və məlumat girişi əlavə etməyə imkan verir
3. Arduino Telləri
: kodu Arduino və çörək taxtası boyunca köçürür
4. LED İşığı
: LED, nisbətən az güclə işləyən kiçik bir işıqdır ("işıq yayan diod" deməkdir)
-Drew
Addım 2: Lazımi alətlər və Təhlükəsizlik Təcrübələri
GEREKLİ ARAÇLAR
1. Exacto Bıçağı
- Arduino və Breadboardun formasını Strafor vasitəsilə kəsmək və izləmək üçün dəqiq bir bıçaq istifadə etdik, qəzalar baş verdikdə Arduino və Breadboardu qorumaq üçün
2. İsti Yapışqan Tabancası
- Arduino və Çörək lövhəmizin etibarlı olmasını təmin etmək üçün Struboranı Cubesatımızın yan tərəflərinə yapışdırmaq üçün isti yapışqan silahından istifadə etdik.
3. Strafor
- Arduino və çörək taxtasını Cubesatımızın yan tərəflərinə bağlamaq üçün, həmçinin Cubesat düşdükdə və ya sarsıldıqda bir yastığa icazə vermək üçün köpük parçaları istifadə etdik.
TƏHLÜKƏSİZLİK TƏLİMATLARI
1. tətbiq etdiyimiz ilk təhlükəsizlik praktikası, Cubesat -ı çap edərkən 3D printerə toxunmadığımızdan əmin olmaq idi. 3D printer çox istiləşəcək və ona toxunmamağı unutmayın.
2. Strafor parçalarını kəsmək üçün dəqiq bıçaqdan istifadə edərkən masaların zədələnməməsini təmin etmək üçün altına karton qoymalı olduq. Üzümüzə və ya iş yerimizin ətrafına uçan bir şey olmadıqda bıçaq istifadə edərkən gözlük taxmalı olduq.
3. Zəhmət tələb edən hər hansı bir alətdən istifadə edərkən təhlükəsizlik məqsədi ilə gözlük taxdığınızdan əmin olun.
4. Cubesat'ı orbiterə bağladıqdan sonra, ətrafdakı insanlara Cubesat'ınızı sınayacağınız barədə xəbərdarlıq etdiyinizə və bütün bədən hissələrinin və insanların təhlükəsiz olduğundan əmin olmaq üçün gözlük taxdığınızdan əmin olun.
-Drew
Addım 3: Necə edilir:
CubeSat necə qurulacaq
1. CubeSat qurma prosesinə başlamaq üçün 10x10x10 olan və lazımlı bir STL faylına malik olan CubeSat modellərini axtarmalısınız.
2. Çörək taxtası və Arduino -nu təhlükəsiz bir şəkildə tutmaq üçün işləyəcək bir model tapdıqda, faylları 3D printerdə əldə etmək üçün flash sürücüyə yükləməlisiniz.
3. Düzgün fayllar flash sürücüyə yükləndikdən sonra, flash sürücünü 3D printerə qoşulmuş kompüterə bağlaya bilərsiniz.
4. çap edərkən, doğru faylları seçdiyinizə və bütün tellərin, kodların və girişlərin kompüterlə 3D printer arasında düzgün bağlandığından əmin olun. bu, CubeSat -ın düzgün çap olunmasını təmin edəcək və hər şey plana uyğun gedir.
5. Hər bir qrup üzvünə, çap edə biləcəyiniz problemləri həll etmək üçün printeri və CubeSat tərəqqisini səmərəli şəkildə yoxlamaq üçün müəyyən bir vaxt təyin edin. Hər 2-3 saatda bir komanda üzvünün gedişatını yoxlaya bilməsi, hər hansı bir problemi həll etmək və əldə ediləcək irəliləyişi izləmək üçün kifayət qədər kömək göstərəcəkdir.
-Eddie
KOD:
#daxil edin #əlavə edin #daxil edin
const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; ikiqat meydança, rulon;
Fayl məlumatları;
boş quraşdırma () {
pinMode (10, Çıxış); // istifadə edilməsə belə pin 10 -u çıxışa təyin etməlidir; // LED SD.begin (4) yandırmaq üçün pin 7 qurmaq; // sd kartı CS 4 pinini bağlamağa başlayır Serial.begin (9600); Serial.println (F ("BMP280 testi")); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (doğru); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (yanlış); Wire.requestFrom (MPU, 14, doğru);
int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int temp, toff; ikiqat t, tx, tf;
// Sürətləndirici məlumatların düzəldilməsi AcXoff = -950; AcYoff = -300; AcZoff = 0;
// İstilik düzəldilməsi toff = -1600;
// Gyro korreksiyası GyXoff = 480; GyYoff = 170; GyZoff = 210;
// AccX məlumatlarını oxuyun AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;
// temperatur məlumatlarını oxu temp = (Wire.read () << 8 | Wire.read ()) + toff; tx = temp; t = tx/340 + 36.53; tf = (t * 9/5) + 32;
// gyro məlumatlarını oxuyun GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;
Məlumat = SD.open ("Log.txt", FILE_WRITE); // "Giriş" adlı faylı açır
// addım at/get getAngle (AcX, AcY, AcZ) al;
// məlumatları Serial.print seriyalı portuna göndərin ("Açı:"); Serial.print ("Pitch ="); Serial.çap (meydança); Serial.print ("| Roll ="); Serial.println (rulon);
Serial.print ("Temp:"); Serial.print ("Temp (F) ="); Serial. çap (tf); Serial.print ("| Temp (C) ="); Serial.println (t);
Serial.print ("Sürətləndirici:"); Serial.print ("X ="); Serial. çap (AcX); Serial.print ("| Y ="); Serial çapı (AcY); Serial.print ("| Z ="); Serial.println (AcZ);
Serial.print ("Giroskop:"); Serial.print ("X ="); Serial.print (GyX); Serial.print ("| Y ="); Serial. çap (GyY); Serial.print ("| Z ="); Serial.println (GyZ); Serial.println ("");
Data.print (meydança); Data.println (rulon);
Data.print (tf); Data.println (t); Data.print (AcX); // Data.print (",") faylına acel məlumatlarını yazır; // Data.print (AcY) faylında vergül yazır; Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (GyY); Data.print (","); Data.println (GyZ);
gecikmə (1000); }
// accel məlumatlarını pitch/roll boşluğuna çevirmək getAngle (int Vx, int Vy, int Vz) {double x = Vx; ikiqat y = Vy; ikiqat z = Vz;
}
}
KOD (DAVAMI):
-bu, akselerometrdən və SD Kartdan məlumat toplamaq üçün istifadə etdiyimiz koddur.
-Arduino və Breadboard'umuzu qıvrım diaqramında olduğu kimi bağladıqdan sonra SD Kartı SD Kart Adapter Moduluna bağladıq və son sınaqlarımıza hazırlaşmağa davam etdik.
-Kodla uzun müddətdir problemimiz var idi, ancaq yuxarıda verilən kod təqdimat üçün istifadə etdiyimiz məlumatları verən son kodumuzdur.
-Bu kod, akselerometrdən məlumatları toplayır və məlumatları SD karta köçürür.
-SD kart USB -yə və kompüterə qoşuldu. oradan məlumatlar kompüterimizə yerləşdirildi.
-Brok
ARDUINO -nu QABLAMA:
- Arduino -nu bağlayarkən, dud telləri və dud Arduinos ilə mübarizə apardıq.
- Arduinonun naqillərini səhv bağladığımız üçün dəfələrlə düzəltməli olduq.
- Kabellərin düzgün bağlanmasını və kodlaşdırılmasını təmin etmək üçün, tellərinizin tamamilə bərkidildiyindən və kod prosesinizin düzgün aparıldığından əmin olun.
KÜÇÜK DİQRAMI:
- qıvrım diaqramı düz irəli idi və onunla birlikdə izləmək asan idi
- SD Kart Modulu çiləmə proqramının bir hissəsi olmadıqda diaqramla bağlı problemlərlə üzləşdik. bu səbəbdən, diaqrama daxil etmək üçün yüklənə bilən bir hissəni onlayn olaraq axtarmalı olduq
- Diaqrama düzgün hissələri və proqramları daxil edərək diaqramı tamamlamışdıq
-Drew
Addım 4: Nəticələr/öyrənilən dərslər
Qrafikimiz, çox güman ki, qızdırıcının maksimum temperatura çatması üçün vaxt ayırması səbəbindən açıq bir temperatur artımını göstərir.
Bu layihə üçün qarşılaşdığımız fizika CubeSat -ın orbitini saxlayan mərkəzdənkənar qüvvə idi.
-Brok