Talaan ng mga Nilalaman:

Lumilikha ng isang Rc Plane Na May 2 Arduino's: 5 Mga Hakbang
Lumilikha ng isang Rc Plane Na May 2 Arduino's: 5 Mga Hakbang

Video: Lumilikha ng isang Rc Plane Na May 2 Arduino's: 5 Mga Hakbang

Video: Lumilikha ng isang Rc Plane Na May 2 Arduino's: 5 Mga Hakbang
Video: Paano gamitin ang Sharp IR Distance Sensor na may Arduino (download code) 2024, Nobyembre
Anonim
Lumilikha ng isang Rc Plane Na May 2 Arduino's
Lumilikha ng isang Rc Plane Na May 2 Arduino's

Ang paggawa ng isang eroplano ay isang masaya na challange. Lalo na itong nagiging challanging kapag gumamit ka ng arduino's sa halip na isang prebuild controller at receiver.

Sa tutorail na ito ay ipapakita ko sa iyo kung paano ako nagpunta sa paggawa ng isang sasakyang panghimpapawid na kinokontrol na radyo na may dalawang arduino.

Hakbang 1: Ano ang Kakailanganin Mo

Kakailanganin mong:

- Isang walang motor na motor

- Isang esc para sa motor

- 2 servos

- 1 arduino uno

- 1 arduino nano

- Isang tagabunsod

- 2 modules ng nrf24l01

- 2 10uf capacitors

- Foamboard

- Isang potensyomiter

- Isang module ng joystick

- Isang 3 amp 7.2 volt niMH na baterya

Hakbang 2: Ang Mga Pagkontrol sa Radyo

Ang Mga Pagkontrol sa Radyo
Ang Mga Pagkontrol sa Radyo
Ang Mga Pagkontrol sa Radyo
Ang Mga Pagkontrol sa Radyo

Gumamit ako ng isang nrf24l01 upang makontrol ang eroplano. Ang module na ito ay may isang saklaw ng 1 km. Maaari mong makita kung paano ikonekta ang nrf24l01 sa scheme na ipinakita sa itaas. Kailangan mo ring maghinang ang capacitor sa pagitan ng lupa at ng 3.3 volt upang makatipon para sa mga potensyal na patak ng boltahe.

Ang susunod na hakbang ay upang makakuha ng input mula sa iyong controller. Gumamit ako ng isang joystick para sa mga kontrol sa timon at elevator at isang potensyomiter para sa motor control. Kailangan mong ikonekta ang potentiometer upang i-pin ang A0, ikinonekta ko ang joystick upang i-pin ang A1 at A2.

Ngayon kailangan naming gawin ang tatanggap. Gumamit ako ng isang arduino nano para sa tatanggap sapagkat mas maliit ito. Kailangan mong ikonekta ang nrf24l01 sa adruino na ito rin. Pagkatapos nito kailangan mong ikonekta ang mga servos at ang esc (electronic speed controller para sa motor) sa arduino. Nakakonekta ako sa servo upang i-pin ang D4 at D5, ang esc ay konektado sa pin D9.

Ito ang code na ginamit ko para sa transmitter:

#include #include #include

Radyo RF24 (7, 8);

const byte address [6] = "00001";

walang bisa ang pag-setup () {

radio.begin (); radio.openWritingPipe (address); 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 = Mga String (s); str + = '|' + String (x) + '|' + String (y); Serial.println (str); teksto ng char char [20]; str.toCharArray (teksto, 20); Serial.println (teksto); radio.write (& text, sizeof (text)); antala (10);

}

at narito ang code para sa tatanggap:

# isama # isama # isama # isama

Servo esc;

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

const byte address [6] = "00001";

walang bisa ang pag-setup () {

// ilagay ang iyong setup code dito, upang tumakbo nang isang beses: radio.begin (); radio.openReadingPipe (0, address); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.attach (4); sy.attach (5); esc.writeMicroseconds (1000); // ipasimuno ang signal sa 1000 radio.startListening (); Serial.begin (9600); }

void loop () {

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

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

s = mapa (s, 0, 1023, 1000, 2000); // mapping val to minimum and maximum (Baguhin kung kinakailangan) Serial.println (transData); esc.writeMicroseconds (s); // using val as the signal to 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 (String data, char separator, int index)

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

para sa (int i = 0; i <= maxIndex && natagpuan <= index; i ++) {kung (data.charAt (i) == separator || i == maxIndex) {natagpuan ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i + 1: i; }}

bumalik natagpuan> index? data.substring (strIndex [0], strIndex [1]): "";

}

Hakbang 3: Ang Fusualage at Stabalizers

Ang Fusualage at Stabalizers
Ang Fusualage at Stabalizers

Ngayon na nai-set up mo na ang iyong electronics, Kailangan mo ng isang eroplano upang ilagay ang electronics. Gumamit ako ng foamboard dahil ito ay magaan at medyo malakas. Ang fusualge ay isang parihaba lamang na pumayat sa buntot. Ang fusualge ay hindi lahat mahalaga para sa aerodynamics. Ang pinakamahalagang bagay ay ang bagay na bagay na magkakasya dito habang pinapanatili din itong maliit at magaan hangga't maaari.

Ang pahalang at patayong stabalizer ay madaling gawin. Ang mahalaga lamang ay ang iyong mga stabalizer ay perpektong tuwid. Mananagot ang mga stabalizer sa pagpapanatiling matatag sa eroplano. Kapag ang iyong mga stabalizer ay hindi tuwid, ang iyong eroplano ay magiging kawala.

Hakbang 4: Ang mga Pakpak

Mga pakpak
Mga pakpak

Ang mga pakpak ay maaaring ang pinaka-imporant na bagay, kailangan mong lumikha ng isang airfoil upang makabuo ng pagtaas. Sa larawan sa itaas makikita mo kung paano ko ginawa ang aking airfoil.

Ang pinakamahalagang bagay ay ang gitna ng gravity ng eroplano ay nasa paligid ng pinakamataas na punto ng airfoil. sa ganitong paraan magiging matatag ang eroplano.

Hakbang 5: Pagsasama-sama sa Kahit Kailan

Pinagsasama ang Everthing
Pinagsasama ang Everthing
Pinagsasama ang Everthing
Pinagsasama ang Everthing
Pinagsasama ang Everthing
Pinagsasama ang Everthing

Ngayon na natapos na natin ang lahat ng mga bahagi, Kailangan nating pagsamahin ang lahat.

Kailangang konektado ang servo sa mga stablaizer. magagawa ito sa mga control rod (tingnan ang larawan sa itaas)

Ang motor ay kailangang ilagay sa isang piraso ng foam at nakadikit sa harap ng eroplano (o gumamit ng mga elestic band upang maaari mo itong alisin kapag kailangan mo).

kailangan mo ng isang propeller upang ilagay sa motor, ang laki ng propeller na ito ay depende sa motor. Ito ay napaka comlicated upang makalkula ang pinakamainam na sukat. Ngunit ang isang pangkalahatang tuntunin ay ang mas malakas ang motor, mas malaki ang propeller ay maaaring.

Para sa baterya inirerekumenda na gumamit ng baterya ng lipo. gayunpaman, ang mga baterya na ito ay nangangailangan ng isang espesyal na charger kung hindi mo nais na sumabog sila. Iyon ang dahilan kung bakit ginamit ko ang nimh baterya, ang mga ito ay mabibigat ngunit mas madali at mas murang gamitin.

Inirerekumendang: