Съдържание:

Създаване на Rc равнина с 2 Arduino: 5 стъпки
Създаване на Rc равнина с 2 Arduino: 5 стъпки

Видео: Създаване на Rc равнина с 2 Arduino: 5 стъпки

Видео: Създаване на Rc равнина с 2 Arduino: 5 стъпки
Видео: Another Arduino drum sequencer with minimum hardware drumseq81212 (with schematic) 2024, Юли
Anonim
Създаване на Rc самолет с 2 Arduino
Създаване на Rc самолет с 2 Arduino

Създаването на самолет е забавно предизвикателство. Това става особено предизвикателно, когато използвате вместо това arduino на предварително изграден контролер и приемник.

В тази инструкция ще ви покажа как направих радиоуправляеми самолети с два ардуино.

Стъпка 1: Какво ще ви трябва

Ще имаш нужда:

- Безчетков двигател

- Esc за двигателя

- 2 сервомотора

- 1 arduino uno

- 1 arduino nano

- Витло

- 2 модула nrf24l01

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

- Foamboard

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

- Модул с джойстик

- 3 amp 7,2 волта niMH батерия

Стъпка 2: Радиоуправлението

Радио управление
Радио управление
Радио управление
Радио управление

Използвах nrf24l01 за управление на самолета. Този модул има обхват от 1 км. Можете да видите как да свържете nrf24l01 в схемата, показана по -горе. Също така трябва да запоите кондензатора между земята и 3,3 волта, за да вземете предвид потенциалните спадове на напрежението.

Следващата стъпка е да получите вход от вашия контролер. Използвах джойстик за управление на кормилото и асансьора и потенциометър за управление на двигателя. Трябва да свържете потенциометъра към щифт A0, аз свързах джойстика към извод A1 и A2.

Сега трябва да направим приемника. Използвах arduino nano за приемника, защото е по -малък. Трябва да свържете nrf24l01 и към този adruino. След това трябва да свържете сервомоторите и esc (електронен контролер на скоростта на двигателя) към arduino. Свързах се със серво към щифт D4 и D5, esc беше свързан към щифт D9.

Това е кодът, който използвах за предавателя:

#включи #включи #включи

Радиостанция RF24 (7, 8);

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

void setup () {

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); Низ str = Низ (и); str += '|' + Низ (x) + '|' + Низ (y); Serial.println (str); const char текст [20]; str.toCharArray (текст, 20); Serial.println (текст); radio.write (& текст, размер на (текст)); забавяне (10);

}

и ето кода за приемника:

#включи #включи #включи #включи

Servo esc;

Servo sx; Servo sy; Радиостанция RF24 (7, 8);

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

void setup () {

// поставете вашия код за настройка тук, за да стартирате веднъж: 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 radio.startListening (); Serial.begin (9600); }

void loop () {

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

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

s = карта (s, 0, 1023, 1000, 2000); // картографиране на val на минимум и максимум (Промяна, ако е необходимо) 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));

}

}

Низ getValue (Данни за низ, разделител на символи, 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 и стабилизатори

Фузулаж и стабилизатори
Фузулаж и стабилизатори

Сега, когато сте настроили електрониката, имате нужда от самолет, където да поставите електрониката. Използвах пенопласт, защото е лек и относително здрав. Фузулажът е просто ректал, който става по -тънък към опашката. Фузулата не е толкова важна за аеродинамиката. Най -важното е, че всичко ще се побере в него, като същевременно ще бъде възможно най -малко и леко.

Хоризонталният и вертикалният стабилизатор се правят много лесно. Единственото важно нещо е, че вашите стабилизатори са идеално прави. Стабилизаторите са отговорни за поддържането на самолета стабилен. Когато стабилизаторите ви не са прави, самолетът ви ще бъде нестабилен.

Стъпка 4: Крилата

Крилата
Крилата

Крилата вероятно са най -важното нещо, трябва да създадете профил, за да генерирате повдигане. На горната снимка можете да видите как направих моя профил.

Най -важното е, че центърът на тежестта на самолета е около най -високата точка на профила. по този начин самолетът ще бъде стабилен.

Стъпка 5: Сглобяване на всичко

Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно

Сега, когато свършихме всички части, трябва да съберем всичко заедно.

Необходимостта на сервото да бъде свързано към стаблайзерите. това може да стане с контролни пръти (вижте снимката по -горе)

Моторът трябва да бъде поставен върху парче пяна и залепен пред равнината (или използвайте еластични ленти, за да можете да го премахнете, когато е необходимо).

имате нужда от витло, което да поставите на двигателя, размерът на това витло зависи от двигателя. Изчисляването на оптималния размер е много сложно. Но общо правило е, че колкото по -силен е моторът, толкова по -голям може да бъде витлото.

За батерията се препоръчва използването на липо батерии. тези батерии обаче се нуждаят от специално зарядно устройство, ако не искате да експлодират. Ето защо използвах батерии nimh, те са по -тежки, но по -лесни и по -евтини за използване.

Препоръчано: