Mundarija:

Arduino va akselerometr yordamida kubometrni qanday qurish mumkin: 5 qadam
Arduino va akselerometr yordamida kubometrni qanday qurish mumkin: 5 qadam

Video: Arduino va akselerometr yordamida kubometrni qanday qurish mumkin: 5 qadam

Video: Arduino va akselerometr yordamida kubometrni qanday qurish mumkin: 5 qadam
Video: Measure Temperature and Humidity using M5Stack Core 2 with DHT11 and DHT22 - Robojax 2024, Noyabr
Anonim
Arduino va akselerometr yordamida kubometrni qanday qurish mumkin
Arduino va akselerometr yordamida kubometrni qanday qurish mumkin

Bizning ismlarimiz Brok, Eddi va Drew. Bizning Fizika darsining asosiy maqsadi Cube Sat yordamida Mars atrofidagi orbitani simulyatsiya qilish va ma'lumotlarni yig'ish paytida Yerdan Marsgacha sayohat qilishdir. Bizning guruhning maqsadi - bu loyiha bo'yicha bizning sayyoramizda tortishish kuchini topish uchun "Mars" orbitasida joylashgan Cube Sat ichida Arduino -ga o'rnatilgan akselerometr sensori yordamida ma'lumot to'plash. Bu aniq vazifa uchun mumkin bo'lgan ba'zi cheklovlar kod to'g'ri ishlamasligi, akselerometr ma'lumot to'plamasligi va CubeSat tortishi mumkin bo'lgan chegara bo'lishi mumkin. Garchi har qanday odam duch kelishi mumkin bo'lgan boshqa odamlar ko'p bo'lsa -da, ular bizning guruhimizga duch kelishgan. Bizning yakuniy loyihamiz va testimiz videosini bu erda topishingiz mumkin https://www.youtube.com/embed/u1_o38KSrEc -Eddie

1 -qadam: materiallar ro'yxati

Materiallar ro'yxati
Materiallar ro'yxati
Materiallar ro'yxati
Materiallar ro'yxati
Materiallar ro'yxati
Materiallar ro'yxati

BARCHA MATERIALLAR CUBESAT INSAYDIDA Ro'yxatlangan

1. Arduino & Power Cable https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino elektronikani rassomlar, dizaynerlar, havaskorlar va interaktiv ob'ektlar yoki muhit yaratishga qiziquvchilar uchun yanada qulayroq qilish uchun mo'ljallangan.

: Arduino va kompyuteringizga quvvat va ruxsat bering

2. Ish taxtasi

: elektr zanjirining eksperimental modelini yasash uchun taxta

NORBOHLARGA QO'ShILGAN MATERIALLAR

1. Arduino akselerometri

: tezlikni o'lchash yoki tebranishlarni aniqlash va o'lchash uchun asbob

2. Arduino SD-karta moduli

: bu sizning loyihangizga ommaviy saqlash va ma'lumotlarni ro'yxatga olishni qo'shish imkonini beradi

3. Arduino simlari

: kodni Arduino va non paneli bo'ylab uzatadi

4. LED chiroq

: LED - bu kichik yorug'lik (u "yorug'lik chiqaruvchi diod" degan ma'noni anglatadi), u nisbatan kam quvvat bilan ishlaydi

-Drew

2 -qadam: Kerakli vositalar va xavfsizlik choralari

QUROLLAR KERAK

1. Exacto pichog'i

- biz Arduino va Breadboard shaklini strafor yordamida kesish va kuzatish uchun aniq pichoqni ishlatdik, bunda baxtsiz hodisalar ro'y berganda Arduino va Breadboardni himoya qildik.

2. Issiq yopishtiruvchi qurol

- biz Arduino va Breadboard -ning xavfsiz bo'lishini ta'minlash uchun ko'pikni Cubesat -ning yon tomonlariga yopishtirish uchun issiq yopishtiruvchi qurol ishlatdik.

3. Strafor

- biz Cubesat -ning yon tomonlariga Arduino va non taxtasini mahkamlash uchun ko'pikli bo'laklardan foydalanardik, shuningdek, agar Cubesat tushsa yoki silkitilsa, yostiq qo'yamiz.

XAVFSIZLIK AMALI

1. biz qo'llagan birinchi xavfsizlik amaliyoti, Cubesat -ni bosib chiqarishda 3D -printerga tegmasligimizga ishonch hosil qilish edi. 3D printer juda qiziydi va unga tegmaslikni unutmaslik kerak.

2. Styrofoam bo'laklarini kesish uchun aniq pichoqni ishlatganda, stollar buzilmasligi uchun uning ostiga karton qo'yish kerak edi. pichoqni ishlatganda ko'zoynak taqishga majbur bo'ldik, chunki yuzimizda yoki ish joyimizda biror narsa uchib ketgan bo'lsa.

3. og'ir mehnat talab qiladigan asboblardan foydalanganda, xavfsizlik maqsadida ko'zoynak taqing.

4. Cubesat -ni orbitaga biriktirganingizdan so'ng, atrofingizdagi odamlarga Cubesat -ni sinovdan o'tkazishingiz haqida ogohlantiring va tananing barcha qismlari va odamlar xavfsizligini ta'minlash uchun ko'zoynak taqing.

-Drew

3 -qadam: Qanday qilib:

Qanday
Qanday
Qanday
Qanday
Qanday
Qanday

CubeSat -ni qanday yaratish kerak

1. CubeSat qurilish jarayonini boshlash uchun siz 10x10x10 o'lchamli va STL fayli bo'lgan CubeSat modellarini qidirishingiz kerak.

2. Agar non paneli va Arduino -ni xavfsiz ushlab turadigan modelni topganingizda, siz 3D -printerdagi fayllarga kirishingiz uchun fayllarni flesh -diskka yuklab olishingiz kerak bo'ladi.

3. flesh -diskda to'g'ri fayllar yuklanganidan so'ng, siz flesh -diskni 3D -printerga ulangan kompyuterga ulashingiz mumkin.

4. bosib chiqarayotganda, to'g'ri fayllarni tanlaganingizga ishonch hosil qiling va barcha simlar, kodlar va kirishlar kompyuter va 3D printer o'rtasida to'g'ri ulangan. bu CubeSat -ning to'g'ri chop etilishini ta'minlaydi va hamma narsa rejaga muvofiq bo'ladi.

5. har bir guruh a'zosiga printerni va CubeSat -ning ishlashini tekshirish uchun belgilangan vaqtni belgilang. har 2-3 soatda bir guruh a'zosining ishini kuzatib borishi, har qanday muammolarni bartaraf etish va erishiladigan yutuqlarni kuzatish uchun etarli yordam beradi.

-Edi

KOD:

#qo'shish #qo'shish #qo'shish #qo'shish

const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; er -xotin qadam, rulon;

Fayl ma'lumotlari;

bo'sh o'rnatish () {

pinMode (10, OUTPUT); // ishlatilmasa ham chiqish uchun 10 -pinni o'rnatish kerak; // svetodiod SD.begin (4) ni yoqish uchun 7 -pinni sozlash; // sd -karta CS bilan boshlanadi, u 4 -qatorga o'rnatiladi Serial.begin (9600); Serial.println (F ("BMP280 testi")); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (haqiqiy); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (noto'g'ri); Wire.requestFrom (MPU, 14, to'g'ri);

int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int temp, toff; er -xotin t, tx, tf;

// Tezlashtirish ma'lumotlarini tuzatish AcXoff = -950; AcYoff = -300; AcZoff = 0;

// Haroratni to'g'rilash toff = -1600;

// Gyro tuzatish GyXoff = 480; GyYoff = 170; GyZoff = 210;

// accel ma'lumotlarini o'qish AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;

// harorat ma'lumotlarini o'qish temp = (Wire.read () << 8 | Wire.read ()) + toff; tx = harorat; t = tx/340 + 36,53; tf = (t * 9/5) + 32;

// gyro ma'lumotlarini o'qing GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;

Ma'lumotlar = SD.open ("Log.txt", FILE_WRITE); // "Jurnal" deb nomlangan faylni ochadi.

// pitch/roll getAngle (AcX, AcY, AcZ) olish;

// ma'lumotlarni Serial.print ketma -ket portiga yuboring ("Burchak:"); Serial.print ("Pitch ="); Ketma -ket chop etish (qadam); Serial.print ("| Roll ="); Serial.println (rulon);

Serial.print ("Harorat:"); Serial.print ("Temp (F) ="); Ketma -ket chop etish (tf); Serial.print ("| Harorat (C) ="); Serial.println (t);

Serial.print ("Akselerometr:"); Serial.print ("X ="); Serial.print (AcX); Serial.print ("| Y ="); Ketma -ket chop etish (AcY); Serial.print ("| Z ="); Serial.println (AcZ);

Serial.print ("Giroskop:"); Serial.print ("X ="); Serial.print (GyX); Serial.print ("| Y ="); Serial.print (GyY); Serial.print ("| Z ="); Serial.println (GyZ); Serial.println ("");

Data.print (qadam); Data.println (rulon);

Data.print (tf); Data.println (t); Data.print (AcX); // Data.print fayliga acel ma'lumotlarini yozadi (","); // Data.print (AcY) faylida vergul bosadi; Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (GyY); Data.print (","); Data.println (GyZ);

kechikish (1000); }

// aksel ma'lumotlarini pitch/roll void getAngle ga aylantirish (int Vx, int Vy, int Vz) {double x = Vx; ikki marta y = Vy; er -xotin z = Vz;

}

}

KOD (davomi):

-bu biz akselerometr va SD -kartadan ma'lumotlarni to'plash uchun ishlatgan kod.

-Arduino va Breadboard -ni simlarni chizish sxemasidagi kabi ulashdan so'ng, biz SD -kartani SD -karta adapter moduliga uladik va oxirgi sinovimizga tayyorgarlikni davom ettirdik.

-Bizda uzoq vaqtdan beri kod bilan bog'liq muammolar bor edi, lekin yuqorida keltirilgan kod -bu biz taqdim etgan ma'lumotni bizga bergan oxirgi kod.

-bu kod akselerometrdan ma'lumotlarni to'playdi va ma'lumotlarni SD -kartaga o'tkazadi.

-SD -karta USB -ga ulangan va kompyuterga ulangan. u erdan ma'lumotlar bizning kompyuterimizga joylashtirilgan.

-Brok

ARDUINO ni ulash:

- Arduino -ni ulashda biz dud simlar va dud Arduinos bilan kurashdik.

- noto'g'ri ulanish tufayli biz Arduino -ning simlarini bir necha bor tuzatishga majbur bo'ldik.

- simlarning to'g'ri ulanishi va kodlashini ta'minlash uchun simlaringiz to'liq himoyalanganligiga va kodingiz to'g'ri ishlashiga ishonch hosil qiling.

FRITZING DIAGRAMI:

- tortishish sxemasi oldinga siljidi va unga amal qilish oson edi

- biz SD -karta moduli fritzing dasturining bir qismi bo'lmaganida diagramma bilan bog'liq muammolarga duch keldik. shuning uchun biz diagramaga qo'shilishi uchun yuklab olinadigan qismni Internetda qidirishga majbur bo'ldik

- biz diagrammaga to'g'ri qismlar va dasturlarni kiritish orqali sxemani to'ldirdik

-Drew

4 -qadam: Natijalar/o'rganilgan darslar

Bizning grafigimiz haroratning aniq ko'tarilishini ko'rsatadi, ehtimol isitgich maksimal haroratga yetishi uchun vaqt kerak.

Ushbu loyiha uchun biz duch kelgan fizika CubeSat orbitasida ushlab turuvchi markazdan tashqari kuch edi.

-Brok

Tavsiya: