Мазмуну:

Ардуино жана акселерометр менен кубетти кантип куруу керек .: 5 кадам
Ардуино жана акселерометр менен кубетти кантип куруу керек .: 5 кадам

Video: Ардуино жана акселерометр менен кубетти кантип куруу керек .: 5 кадам

Video: Ардуино жана акселерометр менен кубетти кантип куруу керек .: 5 кадам
Video: Measure Temperature and Humidity using M5Stack Core 2 with DHT11 and DHT22 - Robojax 2024, Ноябрь
Anonim
Кантип Arduino жана акселерометр менен Cubesat курууга болот
Кантип Arduino жана акселерометр менен Cubesat курууга болот

Биздин ысымдар Брок, Эдди жана Дрю. Физика сабагынын негизги максаты - Cube Satтин жардамы менен Марстын айланасындагы орбитага окшоштуруу жана маалыматтарды чогултуу менен бирге Жерден Марска чейин саякаттоо. Биздин топтордун бул долбоордун максаты - бул планетада тартылуу күчүн табуу үчүн "Марсты" айланып өтө турган кубдуктун ичиндеги биздин Arduino тиркелүүчү акселерометр сенсорунун жардамы менен маалыматтарды чогултуу. Бул конкреттүү тапшырманы аткаруу үчүн кээ бир мүмкүн болгон чектөөлөр код туура иштебей, акселерометр маалымат чогултпаганы жана CubeSat таразалаган чек болушу мүмкүн. Башка адамдар көп болсо да, алар биздин топко туш болушкан. Акыркы долбоорубуздун жана тестирлөөнүн видеосун бул жерден тапса болот https://www.youtube.com/embed/u1_o38KSrEc -Eddie

1 -кадам: материалдар тизмеси

Материалдар тизмеси
Материалдар тизмеси
Материалдар тизмеси
Материалдар тизмеси
Материалдар тизмеси
Материалдар тизмеси

БАРДЫК МАТЕРИАЛДАР CUBESAT ИЧИНЕ КИРГИЗИЛГЕН

1. Arduino & Power Cable https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino электрониканы сүрөтчүлөргө, дизайнерлерге, хоббисттерге жана интерактивдүү объектилерди же чөйрөлөрдү түзүүгө кызыккандарга жеткиликтүү кылуу үчүн иштелип чыккан.

: Arduino менен компьютериңизге электр энергиясын иштетүүгө уруксат бериңиз

2. Breadboard

: электр схемасынын эксперименталдык моделин жасоо үчүн такта

НАН ТАРТЫНА ТИРКЕЛГЕН МАТЕРИАЛДАР

1. Arduino акселерометри

: ылдамданууну өлчөөчү же термелүүлөрдү аныктоо жана өлчөөчү прибор

2. Arduino SD карт модулу

: бул сиздин долбоорго массалык сактоону жана маалыматтарды каттоону кошууга мүмкүндүк берет

3. Arduino Wires

: кодду Arduino жана breadboard боюнча өткөрүп берет

4. LED Жарыгы

: LED - бул кичинекей жарык (ал "жарык берүүчү диод" дегенди билдирет) салыштырмалуу аз кубаттуулукта иштейт

-Дрю

2 -кадам: Керектүү шаймандар жана коопсуздук практикасы

КУРАЛДАР КЕРЕК

1. Exacto бычагы

- Биз такты бычак менен Styrofoam аркылуу Arduino менен Breadboardдун формасын кесүү жана байкоо үчүн, Arduino менен Breadboardду кырсыктардан коргоо үчүн колдондук.

2. Hot Glue Gun

- биз Arduino жана Breadboard коопсуз болушун камсыз кылуу үчүн Cubesatтин капталына стирофамды желимдөө үчүн ысык желим тапанчаны колдондук.

3. Пенополис

- биз Cubesatтын капталына Arduino менен нан тактасын бекитүү үчүн, ошондой эле Cubesat түшүп кетсе же чайпалса, жаздыкка уруксат берүү үчүн, пенопласттын бөлүктөрүн колдондук.

Коопсуздук практикасы

1. биз колдонгон биринчи коопсуздук практикасы, Cubesat басып чыгарууда 3D принтерине тийбегенибизди текшерүү. 3D принтери абдан ысып кетет жана аны тийбөөнү унутпоо керек.

2. Стирофамдын бөлүктөрүн кесүү үчүн так бычакты колдонуп жатканда, үстөлдөр бузулбасын үчүн астына картонду коюшубуз керек болчу. биз ошондой эле бычакты колдонуп жатканда, көз айнек тагынышыбыз керек болчу, эгерде биздин жүзүбүзгө же иш мейкиндигибизге эч нерсе учпаса.

3. оор эмгекти талап кылган ар кандай шаймандарды колдонууда, коопсуздук максатында көз айнек тагынууну унутпаңыз.

4. Cubesatти орбитага туташтыргандан кийин, орбитанын тегерегиндеги адамдарга Cubesatти сынап көрөрүңдү эскертип, дененин бардык бөлүктөрү менен адамдардын коопсуздугун камсыз кылуу үчүн көз айнек тагын.

-Дрю

3 -кадам: Кантип:

Кантип
Кантип
Кантип
Кантип
Кантип
Кантип

CubeSat кантип курулат

1. CubeSat куруу процессин баштоо үчүн, сиз 10x10x10 болгон жана STL файлы бар CubeSat моделдерин издөөңүз керек.

2. Эгерде сиз нан табакты жана Arduino -ны коопсуз кармап турган моделди тапканыңызда, сиз 3D принтердеги файлдарга кирүү үчүн файлдарды флешкага жүктөп алышыңыз керек.

3. туура файлдар флешкага жүктөлгөндөн кийин, флешканы 3D принтерине туташтырылган компьютерге туташтырсаңыз болот.

4. басып чыгарууда, туура файлдарды тандап алгандыгыңызды текшериңиз жана бардык зымдар, коддор жана кириштер компьютер менен 3D принтердин ортосунда туура зымдалган. бул CubeSatтин туура басылышын камсыздайт жана бардыгы план боюнча жүрөт.

5. Топтун ар бир мүчөсүнө принтерди жана CubeSat прогрессин эффективдүү текшерүү үчүн белгиленген убакытты бөлүп, сиз туш болгон көйгөйлөрдү чечиңиз. ар бир 2-3 саатта бир топтун мүчөсүнүн аткарылышын текшерип турушу, ар кандай көйгөйлөрдү чечүү үчүн жетишерлик жардам көрсөтөт жана аткарыла турган прогресске көз салат.

-Эди

КОД:

#кошуу #кошуу #кошуу #кошуу

const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; кош кадам, түрмөк;

Файл маалыматтары;

жараксыз орнотуу () {

pinMode (10, OUTPUT); // колдонулбаса да чыгаруу үчүн 10 -пин орнотушу керек; // орнотуучу пин 7 SD.begin (4) жарыктандыруу үчүн; // sd картасы CS менен башталат 4 Pinial Serial.begin (9600); Serial.println (F ("BMP280 тест")); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (чыныгы); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (жалган); Wire.requestFrom (MPU, 14, чыныгы);

int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int temp, toff; кош t, tx, tf;

// Ылдамдатуу маалыматын оңдоо AcXoff = -950; AcYoff = -300; AcZoff = 0;

// Температураны коррекциялоо toff = -1600;

// Gyro коррекциялоо GyXoff = 480; GyYoff = 170; GyZoff = 210;

// accel маалыматтарын окуу AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;

// температуранын маалыматын окуу темп = (Wire.read () << 8 | Wire.read ()) + toff; tx = темп; t = tx/340 + 36.53; tf = (t * 9/5) + 32;

// gyro маалыматтарын окуу GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;

Маалыматтар = SD.open ("Log.txt", FILE_WRITE); // "Журнал" деп аталган файлды ачат

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

// маалыматтарды Serial.print сериялык портунан жөнөтүү ("Бурч:"); Serial.print ("Pitch ="); Serial.print (кадам); Serial.print ("| Roll ="); Serial.println (түрмөк);

Serial.print ("Temp:"); Serial.print ("Temp (F) ="); Serial.print (tf); Serial.print ("| Temp (C) ="); Serial.println (t);

Serial.print ("Акселерометр:"); Serial.print ("X ="); Serial.print (AcX); Serial.print ("| Y ="); Serial.print (AcY); Serial.print ("| Z ="); Serial.println (AcZ);

Serial.print ("Гироскоп:"); Serial.print ("X ="); Serial.print (GyX); Serial.print ("| Y ="); Serial.print (GyY); Serial.print ("| Z ="); Serial.println (GyZ); Serial.println ("");

Data.print (кадам); Data.println (түрмөк);

Data.print (tf); Data.println (t); Data.print (AcX); // Data.print файлына acel маалыматтарын жазат (","); // Data.print (AcY) файлында үтүрдү басып чыгарат; Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (GyY); Data.print (","); Data.println (GyZ);

кечигүү (1000); }

// accel маалыматтарын pitch/roll жараксыздыгына айландыруу getAngle (int Vx, int Vy, int Vz) {double x = Vx; кош y = Vy; кош z = Vz;

}

}

КОД (Уландысы):

-бул биз акселерометрден жана SD картадан маалыматтарды чогултуу үчүн колдонулган код.

-биздин Arduino менен Breadboard'ду зым диаграммасындагыга окшоштургандан кийин, биз SD картаны SD карт адаптер модулуна туташтырып, акыркы тестибизге даярданууну уланттык.

-Биз код менен көпкө чейин көйгөйлөргө туш болдук, бирок жогоруда берилген код -бул биздин презентация үчүн колдонулган маалыматтарды берген акыркы код.

-Бул код акселерометрден маалыматтарды чогултат жана маалыматты SD картага өткөрүп берет.

-SD карта USBге туташтырылган жана компьютерге туташтырылган. ал жерден маалымат биздин компьютерге киргизилген.

-Кашкулак

ARDUINOну туташтыруу:

- Arduino зымдарын туташтырып жатып, биз зым зымдары жана Ардуинолор менен күрөштүк.

- туура эмес өткөрүлгөндүктөн Arduino зымдарыбызды бир нече жолу оңдоого туура келди.

- Туура өткөргүчтөрдү жана коддорду камсыз кылуу үчүн зымдарыңыздын толугу менен корголгонун жана кодуңуздун туура иштешин текшериңиз.

ФРИТЗИНГ ДИАГРАММАСЫ:

- Фритинг диаграммасы түз алдыга жана аны ээрчүү оңой эле

- SD карт модулу фризинг программасынын бир бөлүгү болбогондо диаграммага байланыштуу көйгөйлөргө туш болдук. ушундан улам, биз диаграммага кошуу үчүн жүктөлүүчү бөлүктү интернеттен издешибиз керек болчу

- биз диаграммага туура бөлүктөрдү жана программаларды киргизүү менен диаграмманы толтурган элек

-Дрю

4 -кадам: Жыйынтыктар/алынган сабактар

Биздин график температуранын так көтөрүлүшүн көрсөтөт, кыязы, жылыткыч максималдуу температурага жетүү үчүн убакыт талап кылынат.

Бул долбоор үчүн биз чуркаган физика CubeSatтин орбитасында жүргөн борбордон тышкаркы күч болчу.

-Кашкулак

Сунушталууда: