Sadržaj:

Stvaranje Rc ravnine s 2 Arduina: 5 koraka
Stvaranje Rc ravnine s 2 Arduina: 5 koraka

Video: Stvaranje Rc ravnine s 2 Arduina: 5 koraka

Video: Stvaranje Rc ravnine s 2 Arduina: 5 koraka
Video: 🛜Neil Degrasse Tyson, WRONG about Tesla?!? 🛜 ​⁠@joerogan (30min) 2024, Juli
Anonim
Stvaranje Rc aviona s 2 Arduina
Stvaranje Rc aviona s 2 Arduina

Napraviti avion zabavan je izazov. To postaje posebno izazovno kada umjesto arbuina koristite unaprijed izgrađeni kontroler i prijemnik.

U ovom tutorialu pokazat ću vam kako sam radio o radio -upravljanom avionu sa dva arduina.

Korak 1: Šta će vam trebati

Trebat će vam:

- Motor bez četkica

- Esc za motor

- 2 servo motora

- 1 arduino uno

- 1 arduino nano

- Propeler

- 2 nrf24l01 modula

- 2 10uf kondenzatora

- Tabla spužve

- Potenciometar

- Modul džojstika

- NiMH baterija od 3 amp 7,2 volta

Korak 2: Radio kontrole

Radio kontrole
Radio kontrole
Radio kontrole
Radio kontrole

Koristio sam nrf24l01 za kontrolu aviona. Domet ovog modula je 1 km. Možete vidjeti kako spojiti nrf24l01 na gornjoj shemi. Također morate lemiti kondenzator između mase i 3,3 volta kako biste uzeli u obzir potencijalne padove napona.

Sljedeći korak je unos podataka sa vašeg kontrolera. Koristio sam joystick za upravljanje kormilom i liftom i potenciometar za upravljanje motorom. Morate spojiti potenciometar na pin A0, ja sam spojio joystick na pin A1 i A2.

Sada moramo napraviti prijemnik. Koristio sam arduino nano za prijemnik jer je manji. Morate spojiti nrf24l01 i na ovaj adruino. Nakon toga morate spojiti servosisteme i esc (elektronički regulator brzine za motor) na arduino. Spojio sam se na servo na pin D4 i D5, esc je bio spojen na pin D9.

Ovo je kod koji sam koristio za odašiljač:

#include #include #include

Radio RF24 (7, 8);

const bajt adresa [6] = "00001";

void setup () {

radio.begin (); radio.openWritingPipe (adresa); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }

void loop () {{100} {101}

int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); String str = String (s); str += '|' + Niz (x) + '|' + Niz (y); Serial.println (str); const char tekst [20]; str.toCharArray (tekst, 20); Serial.println (tekst); radio.write (& tekst, veličina (tekst)); kašnjenje (10);

}

i evo koda za prijemnik:

#include #include #include #include

Servo esc;

Servo sx; Servo sy; Radio RF24 (7, 8);

const bajt adresa [6] = "00001";

void setup () {

// ovdje postavite svoj kôd za postavljanje, da biste ga jednom pokrenuli: radio.begin (); radio.openReadingPipe (0, adresa); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.attach (4); sy.attach (5); esc.writeMicroseconds (1000); // inicijalizira signal na 1000 radio.startListening (); Serial.begin (9600); }

void loop () {{100} {101}

char text [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); String transData = String (tekst); //Serial.println(getValue(transData, '|', 1));

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

s = karta (s, 0, 1023, 1000, 2000); // preslikavanje val na minimum i maksimum (Promijeni ako je potrebno) Serial.println (transData); esc.writeMicroseconds (s); // koristeći val kao signal za esc int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();

sx.write (mapa (sxVal, 0, 1023, 0, 180));

sy.write (mapa (syVal, 0, 1023, 0, 180));

}

}

String getValue (Podaci niza, separator znakova, int indeks)

{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; }}

povratak pronađen> indeks? data.substring (strIndex [0], strIndex [1]): "";

}

Korak 3: Fusualage i stabilizatori

Fusualage i stabilizatori
Fusualage i stabilizatori

Sad kad ste postavili elektroniku, potreban vam je avion za umetanje elektronike. Koristio sam foamboard jer je lagan i relativno jak. Fusualge je samo rentang koji se tanji prema repu. Fusualge nije toliko važan za aerodinamiku. Najvažnije je da će se sve uklopiti u njega, a istovremeno ga držati što je moguće manjim i svjetlijim.

Horizontalni i vertikalni stabilizator je prilično jednostavan za izradu. Jedina važna stvar je da su vaši stabilizatori savršeno ravni. Stabalizatori su odgovorni za održavanje stabilnosti aviona. Kada vaši stabilizatori nisu ravni, vaš avion će biti nestabilan.

Korak 4: Krila

The Wings
The Wings

Krila su vjerojatno najvažnija stvar, morate stvoriti profil za generiranje dizanja. Na gornjoj slici možete vidjeti kako sam napravio svoj profil.

Najvažnije je da se težište aviona nalazi oko najviše točke zračnog profila. na ovaj način avion će biti stabilan.

Korak 5: Stavljanje svega zajedno

Stavljajući sve zajedno
Stavljajući sve zajedno
Stavljajući sve zajedno
Stavljajući sve zajedno
Stavljajući sve zajedno
Stavljajući sve zajedno

Sada kada smo završili sve dijelove, moramo sve spojiti.

Servo treba biti povezan sa stabilizatorima. to se može učiniti pomoću upravljačkih šipki (vidi gornju sliku)

Motor je potrebno staviti na komad pjene i zalijepiti ispred ravnine (ili upotrijebiti elastične trake kako biste ga mogli ukloniti po potrebi).

za postavljanje motora potreban vam je propeler, veličina ovog propelera ovisi o motoru. Izračunavanje optimalne veličine vrlo je komplicirano. Ali opće je pravilo da što je motor jači, to propeler može biti veći.

Za bateriju se preporučuje upotreba lipo baterija. međutim, ovim baterijama je potreban poseban punjač ako ne želite da eksplodiraju. Zato sam koristio nimh baterije, one su teže, ali lakše i jeftinije za upotrebu.

Preporučuje se: