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, Srpanj
Anonim
Stvaranje Rc ravnine s 2 Arduina
Stvaranje Rc ravnine s 2 Arduina

Izrada aviona zabavan je izazov. To postaje posebno izazovno kada umjesto arbuina koristite upravljački sklop i prijemnik.

U ovom tutorialu pokazat ću vam kako sam radio na radijski upravljanom avionu s dva arduina.

Korak 1: Ono što će vam trebati

Trebat će vam:

- Motor bez četkica

- Esc za motor

- 2 serva

- 1 arduino uno

- 1 arduino nano

- Propeler

- 2 modula nrf24l01

- 2 10uf kondenzatora

- Foamboard

- Potenciometar

- Modul upravljačke palice

- NiMH baterija od 3 amp 7,2 V

Korak 2: Radio kontrole

Radio kontrole
Radio kontrole
Radio kontrole
Radio kontrole

Koristio sam nrf24l01 za upravljanje avionom. 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 prilagodili potencijalne padove napona.

Sljedeći korak je unos podataka s vašeg kontrolera. Koristio sam joystick za upravljanje kormilom i dizalom 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 servo i esc (elektronički regulator brzine za motor) na arduino. Spojio sam 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);

adresa conte bajta [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 = analogno čitanje (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 (& text, sizeof (tekst)); kašnjenje (10);

}

a evo i koda za prijemnik:

#include #include #include #include

Servo esc;

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

adresa conte bajta [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.prilog (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 (tekst)); 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 (po potrebi promijeni) 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 (karta (sxVal, 0, 1023, 0, 180));

sy.write (karta (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 postaje sve tanji prema repu. Fusualge nije toliko važan za aerodinamiku. Najvažnije je da će u njega stati sve, a da pritom bude što manja i svjetlija.

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

Korak 4: Krila

Krila
Krila

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: Sve spojite

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

Sad kad smo završili sve dijelove, moramo sve spojiti.

Servo je potrebno spojiti na stabilizatore. 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. No opće je pravilo da što je motor jači, to propeler može biti veći.

Za bateriju se preporučuje korištenje 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 korištenje.

Preporučeni: