Мазмуну:

2 Arduino менен Rc учагын түзүү: 5 кадам
2 Arduino менен Rc учагын түзүү: 5 кадам

Video: 2 Arduino менен Rc учагын түзүү: 5 кадам

Video: 2 Arduino менен Rc учагын түзүү: 5 кадам
Video: ПРОСТОЙ САМОЛЕТ НА УПРАВЛЕНИИ - САМОЛЕТ НА УПРАВЛЕНИИ - КАК СДЕЛАТЬ ПРОСТОЙ САМОЛЕТ НА УПРАВЛЕНИИ 2024, Июль
Anonim
2 Arduino менен Rc учагын түзүү
2 Arduino менен Rc учагын түзүү

Учак жасоо - бул кызыктуу чакырык. Ардуинонун ордуна алдын ала курулган контроллер менен кабыл алгычты колдонгонуңузда, бул өзгөчө татаал болуп калат.

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

1 -кадам: Сизге эмне керек

Сага керек болот:

- Чотсуз мотор

- Мотор үчүн эскиз

- 2 сервос

- 1 arduino uno

- 1 нано нано

- Пропеллер

- 2 nrf24l01 модулу

- 2 10uf конденсатор

- Foamboard

- Потенциометр

- Джойстик модулу

- 3 ампер 7,2 вольттук niMH батареясы

2 -кадам: Радио көзөмөлдөрү

Радио көзөмөл
Радио көзөмөл
Радио көзөмөл
Радио көзөмөл

Мен учакты башкаруу үчүн nrf24l01 колдондум. Бул модуль 1 км аралыкка жетет. Сиз nrf24l01ди кантип туташтырууну жогоруда көрсөтүлгөн схемадан көрө аласыз. Ошондой эле, потенциалдуу чыңалуунун төмөндөшү үчүн конденсаторду жер менен 3.3 вольттун ортосунда ширетүү керек.

Кийинки кадам - контроллериңизден маалымат алуу. Мен рулду жана лифтти башкаруу үчүн джойстикти жана моторду башкаруу үчүн потенциометрди колдондум. Сиз потенциометрди A0 пинге туташтырышыңыз керек, мен джойстикти A1 жана A2 пинке туташтырдым.

Эми биз ресиверди жасашыбыз керек. Мен кичине болгондуктан ресивер үчүн arduino наносун колдондум. Сиз nrf24l01ди бул адруино менен туташтырышыңыз керек. Андан кийин arduino менен servo жана esc (мотор үчүн электрондук ылдамдыкты жөндөгүч) туташтыруу керек. Мен D4 жана D5 түйүнүнө servo менен туташтым, esc D9 пинге туташкан.

Бул мен өткөргүч үчүн колдонгон код:

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

RF24 радиосу (7, 8);

const байт дареги [6] = "00001";

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

radio.begin (); radio.openWritingPipe (дарек); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }

void loop () {

int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); String str = String (s); str += '|' + Сап (x) + '|' + Сап (y); Serial.println (str); const char text [20]; str.toCharArray (текст, 20); Serial.println (текст); radio.write (& текст, sizeof (текст)); кечигүү (10);

}

жана бул жерде алуучунун коду:

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

Servo esc;

Servo sx; Servo sy; RF24 радиосу (7, 8);

const байт дареги [6] = "00001";

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

// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн: radio.begin (); radio.openReadingPipe (0, дарек); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.attach (4); sy.attach (5); esc.writeMicroseconds (1000); // сигналды 1000 радиога баштоо.startListening (); Serial.begin (9600); }

void loop () {

char text [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); StrD transData = Стринг (текст); //Serial.println(getValue(transData, '|', 1));

int s = getValue (transData, '|', 0).toInt ();

s = карта (лар, 0, 1023, 1000, 2000); // минималдуу жана максималдуу маанини картага түшүрүү (Керек болсо өзгөртүү) Serial.println (transData); esc.writeMicroseconds (s); // valны int intVX = getValue (transData, '|', 1) үчүн сигнал катары колдонуу.toInt (); int syVal = getValue (transData, '|', 2).toInt ();

sx.write (карта (sxVal, 0, 1023, 0, 180));

sy.write (карта (syVal, 0, 1023, 0, 180));

}

}

String getValue (String data, char separator, int index)

{int found = 0; int strIndex = {0, -1}; int maxIndex = data.length ()-1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}

кайтып табылды> индекс? data.substring (strIndex [0], strIndex [1]): "";

}

3 -кадам: Fusualage жана Stabalizers

Fusualage жана Stabalizers
Fusualage жана Stabalizers

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

Горизонталдык жана вертикалдуу стабализаторду жасоо оңой. Бир гана маанилүү нерсе, сиздин стабализаторлоруңуз кемчиликсиз түз. Стабализаторлор учактын туруктуулугун сактоого жооптуу. Сиздин стабализаторлор түз эмес болгондо, сиздин учак туруксуз болот.

4 -кадам: Канаттар

Канаттар
Канаттар

Канаттар, балким, эң маанилүү нерсе, сиз лифт жасоо үчүн аба катмарын түзүшүңүз керек. Жогорудагы сүрөттө менин учакты кантип жасаганымды көрө аласыз.

Эң негизгиси - учактын оордук борбору аба катмарынын эң бийик чекитинин тегерегинде. Ошентип, учак туруктуу болот.

5 -кадам: Бардыгын бириктирүү

Бардыгын бирге коюу
Бардыгын бирге коюу
Бардыгын бирге коюу
Бардыгын бирге коюу
Бардыгын бирге коюу
Бардыгын бирге коюу

Эми биз бардык бөлүктөрдү бүтүргөндөн кийин, баарын бириктиришибиз керек.

Сервону стаблайзерлерге туташтыруу керек. Бул көзөмөл таякчалары менен жасалышы мүмкүн (жогорудагы сүрөттү караңыз)

Моторду көбүктүн бир бөлүгүнө кийгизип, учактын алдына жабыштыруу керек (же керек болгондо аны алып салуу үчүн эластикалык боолорду колдонуңуз).

моторду коюу үчүн винт керек, бул винттин өлчөмү моторго көз каранды. Бул оптималдуу өлчөмүн эсептөө үчүн абдан татаал. Бирок жалпы эреже мотор канчалык күчтүү болсо, винт ошончолук чоң болот.

Батарея үчүн lipo батареясын колдонуу сунушталат. Бирок, эгерде алар жарылып кетишин каалабасаңыз, анда бул батареяга атайын заряддагыч керек. Ошондуктан мен нимх батареясын колдондум, булар оорураак, бирок колдонууга жеңил жана арзан.

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