Мазмұны:

2 Arduino: 5 қадаммен RC ұшағын жасау
2 Arduino: 5 қадаммен RC ұшағын жасау

Бейне: 2 Arduino: 5 қадаммен RC ұшағын жасау

Бейне: 2 Arduino: 5 қадаммен RC ұшағын жасау
Бейне: MKS Gen L - Marlin 1 1 9 (configuration.h) 2024, Қараша
Anonim
2 Arduino -мен RC ұшағын жасау
2 Arduino -мен RC ұшағын жасау

Ұшақ жасау - бұл қызықты міндет. Алдын ала дайындалған контроллер мен қабылдағыштың орнына arduino -ны қолданған кезде бұл өте қиын болады.

Бұл нұсқаулықта мен сізге екі ардуино ұшағымен радиобасқарылатын ұшақ жасауды қалай жүргізгенімді көрсетемін.

1 -қадам: Сізге не қажет

Саған қажет болады:

- Қылқаламсыз қозғалтқыш

- Қозғалтқышқа арналған жол

- 2 серво

- 1 arduino uno

- 1 нано нано

- Пропеллер

- 2 nrf24l01 модулі

- 2 10 уф конденсаторлар

- Көбік тақтасы

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

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

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

2 -қадам: Радио басқару

Радио бақылау
Радио бақылау
Радио бақылау
Радио бақылау

Мен ұшақты басқару үшін nrf24l01 қолдандым. Бұл модульдің қашықтығы 1 км. Nrf24l01 қалай қосылатынын жоғарыда көрсетілген схемадан көруге болады. Потенциалды кернеудің төмендеуі үшін конденсаторды жер мен 3,3 вольт арасындағы дәнекерлеу қажет.

Келесі қадам - контроллерден кіріс алу. Мен руль мен лифтті басқару үшін джойстикті және қозғалтқышты басқару үшін потенциометрді қолдандым. Потенциометрді A0 түйреуішіне қосу керек, мен джойстикті A1 және A2 түйреуішіне жалғадым.

Енді біз ресиверді жасауымыз керек. Мен қабылдағышқа ардуино наносын қолдандым, себебі ол кішірек. Сіз nrf24l01 -ді осы адруиноға қосуыңыз керек. Осыдан кейін сізге серво мен esc (қозғалтқыштың электронды жылдамдық реттегіші) ардуиноға қосу керек. Мен D4 және D5 түйреуіштеріне серво қосылдым, 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 = Жол (лар); str += '|' + Жол (x) + '|' + Жол (у); Serial.println (str); const char мәтіні [20]; str.toCharArray (мәтін, 20); Serial.println (мәтін); radio.write (& text, sizeof (text)); кешіктіру (10);

}

ал алушының коды:

#қосу #қосу #қосу #қосу

Servo esc;

Servo sx; Қызмет көрсету жүйесі; 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 () {

таңбалы мәтін [32] = «»; if (radio.available ()) {radio.read (& text, sizeof (text)); TransData жолы = Жол (мәтін); //Serial.println(getValue(transData, '|', 1));

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

s = карта (лар, 0, 1023, 1000, 2000); // минималды және максималды мәнді салыстыру (қажет болған жағдайда өзгерту) Serial.println (transData); esc.writeMicroseconds (s); // val -ді esc ретінде сигнал ретінде пайдалану int sxVal = 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 деректері, char бөлгіш, int индексі)

{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) == бөлгіш || i == maxIndex) {табылған ++; 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

Енді сізде электроника орнатылған, электрониканы салу үшін сізге ұшақ қажет. Мен көбікті тақтаны қолдандым, себебі ол жеңіл және салыстырмалы түрде берік. Фюзуаль - бұл құйрыққа қарай жұқаратын тікбұрыш. Аэродинамика үшін фюзуаль маңызды емес. Ең бастысы, оған барлық нәрсе сәйкес келеді, сонымен қатар оны мүмкіндігінше кішкентай және жеңіл ұстайды.

Көлденең және тік стабилизаторды дайындау оңай. Жалғыз маңызды нәрсе - сіздің стабилизаторларыңыз өте жақсы. Ұшақтың тұрақтылығын сақтауға стабилизаторлар жауап береді. Егер сіздің стабилизаторлар түзу болмаса, сіздің ұшақ тұрақсыз болады.

4 -қадам: Қанаттар

Қанаттар
Қанаттар

Қанаттар - бұл ең маңызды нәрсе, сіз лифт жасау үшін әуе қалтасын жасауыңыз керек. Жоғарыдағы суретте сіз менің пленканы қалай жасағанымды көре аласыз.

Ең бастысы, ұшақтың ауырлық центрі әуе кемесінің ең биік нүктесінің айналасында. осылайша ұшақ тұрақты болады.

5 -қадам: Барлығын біріктіру

Барлығын бірге қою
Барлығын бірге қою
Барлығын бірге қою
Барлығын бірге қою
Барлығын бірге қою
Барлығын бірге қою

Енді біз барлық бөлшектерді дайындап, бәрін біріктіруіміз керек.

Сервоға стаблайзерлер қосылуы қажет. мұны басқару таяқшаларымен жасауға болады (жоғарыдағы суретті қараңыз)

Қозғалтқышты көбік үстіне қойып, ұшақтың алдында желімдеу керек (немесе қажет кезде оны алып тастау үшін серпімді жолақтарды қолданыңыз).

қозғалтқышты қосу үшін сізге винт қажет, бұл винттің мөлшері қозғалтқышқа байланысты. Оңтайлы өлшемді есептеу өте күрделі. Бірақ жалпы ереже - қозғалтқыш неғұрлым күшті болса, соғұрлым үлкен винт болуы мүмкін.

Батарея үшін липо батареясын пайдалану ұсынылады. алайда, егер сіз олардың жарылуын қаламасаңыз, бұл батареяға арнайы зарядтағыш қажет. Сондықтан мен нимх батареясын қолдандым, олар ауыр, бірақ қолдануға оңай және арзан.

Ұсынылған: