Mündəricat:

2 Arduino: 5 Adımla Rc Təyyarəsi Yaratmaq
2 Arduino: 5 Adımla Rc Təyyarəsi Yaratmaq

Video: 2 Arduino: 5 Adımla Rc Təyyarəsi Yaratmaq

Video: 2 Arduino: 5 Adımla Rc Təyyarəsi Yaratmaq
Video: Знакомство с RFID и подключение модуля RC522 к Arduino 2024, Iyul
Anonim
2 Arduino ilə Rc Təyyarəsi Yaratmaq
2 Arduino ilə Rc Təyyarəsi Yaratmaq

Təyyarə hazırlamaq əyləncəli bir işdir. Arduino əvəzinə əvvəlcədən qurulmuş bir nəzarətçi və qəbuledici istifadə etdiyiniz zaman xüsusilə çətin olur.

Bu təlimatda sizə iki arduino ilə radio idarə olunan bir təyyarə necə hazırladığımı göstərəcəyəm.

Addım 1: Nə lazımdır

Sizə lazım olacaq:

- Fırçasız motor

- Motor üçün eskiz

- 2 servo

- 1 ədəd arduino

- 1 arduino nano

- Pervane

- 2 nrf24l01 modulu

- 2 10uf kondansatör

- Köpük lövhə

- Potansiyometr

- Joystick modulu

- 3 amper 7.2 volt niMH batareya

Addım 2: Radio İdarəediciləri

Radio İdarəediciləri
Radio İdarəediciləri
Radio İdarəediciləri
Radio İdarəediciləri

Təyyarəni idarə etmək üçün bir nrf24l01 istifadə etdim. Bu modul 1 km məsafəyə malikdir. Nrf24l01 -in necə bağlanacağını yuxarıda göstərilən sxemdə görə bilərsiniz. Potensial gərginlik düşməsi üçün kondansatörü yerlə 3.3 volt arasında lehimləməlisiniz.

Növbəti addım nəzarətçinizdən məlumat əldə etməkdir. Sükan və lift idarəetmələri üçün bir joystick və motor idarə etməsi üçün potensiometrdən istifadə etdim. A0 pininə potansiyometr bağlamalısınız, mən joysticki A1 və A2 pininə bağladım.

İndi alıcı qəbul etməliyik. Kiçik olduğu üçün alıcı üçün bir arduino nano istifadə etdim. Nrf24l01 -i bu adruino -ya da bağlamalısınız. Bundan sonra servoları və esc'i (motor üçün elektron sürət tənzimləyicisi) arduinoya bağlamalısınız. Servoya D4 və D5 pininə qoşuldum, esc D9 pininə qoşuldu.

Verici üçün istifadə etdiyim kod budur:

#daxil edin #daxil edin #daxil edin

RF24 radio (7, 8);

const bayt ünvanı [6] = "00001";

boş quraşdırma () {

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

boşluq döngəsi () {

int s = analogRead (0); int x = analogRead (1); int y = analogRead (2); String str = String (lər); str += '|' + Sətir (x) + '|' + Sətir (y); Serial.println (str); const char mətni [20]; str.toCharArray (mətn, 20); Serial.println (mətn); radio.write (& text, sizeof (text)); gecikmə (10);

}

və alıcının kodu budur:

#daxil edin #əlavə edin #daxil edin

Servo qaçış;

Servo sx; Servo sistemi; RF24 radio (7, 8);

const bayt ünvanı [6] = "00001";

boş quraşdırma () {

// quraşdırma kodunuzu buraya qoyun, bir dəfə işləsin: radio.begin (); radio.openReadingPipe (0, ünvan); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); esc.attach (9); sx.tach (4); sy.tach (5); esc.writeMicroseconds (1000); // 1000 radio.startListening () siqnalını işə salın. Serial.begin (9600); }

boşluq döngəsi () {

simvol mətni [32] = ""; if (radio.available ()) {radio.read (& text, sizeof (text)); StrD transData = String (mətn); //Serial.println(getValue(transData, '|', 1));

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

s = xəritə (s, 0, 1023, 1000, 2000); // valın minimum və maksimuma uyğunlaşdırılması (Lazım gələrsə dəyişdirin) Serial.println (transData); esc.writeMikrosaniyələr (lər); // valdan qaçmaq üçün siqnal kimi istifadə int sxVal = getValue (transData, '|', 1).toInt (); int syVal = getValue (transData, '|', 2).toInt ();

sx.write (xəritə (sxVal, 0, 1023, 0, 180));

sy.write (xəritə (syVal, 0, 1023, 0, 180));

}

}

String getValue (String data, char separator, int index)

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

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == ayırıcı || i == maxIndex) {tapılan ++; strIndex [0] = strIndex [1] +1; strIndex [1] = (i == maxIndex)? i+1: i; }}

qayıtdı> indeks? data.substring (strIndex [0], strIndex [1]): "";

}

Addım 3: Fusualage və Stabalizers

Fusualage və Stabalizatorlar
Fusualage və Stabalizatorlar

İndi elektronika qurduqdan sonra, elektronikanı taxmaq üçün təyyarəyə ehtiyacınız var. Yüngül və nisbətən güclü olduğu üçün köpük taxtasından istifadə etdim. Fusualge yalnız quyruğa doğru incələnən bir düzbucaqdır. Aerodinamik üçün fusualge o qədər də vacib deyil. Ən başlıcası, hər şeyin içəriyə sığması və eyni zamanda mümkün qədər kiçik və yüngül olmasıdır.

Üfüqi və şaquli stabalizatorun hazırlanması olduqca asandır. Yeganə vacib şey, stabalizatorlarınızın mükəmməl düz olmasıdır. Stabalizatorlar təyyarənin sabit qalmasından məsuldur. Stabalizatorlarınız düz olmadıqda, təyyarəniz qeyri -sabit olacaq.

Addım 4: Qanadlar

Qanadlar
Qanadlar

Qanadlar, ehtimal ki, ən vacib şeydir, qaldırmaq üçün bir hava qanadı yaratmalısınız. Yuxarıdakı şəkildə hava qanadımı necə düzəltdiyimi görə bilərsiniz.

Ən başlıcası, təyyarənin ağırlıq mərkəzinin hava qanadının ən yüksək nöqtəsi ətrafında olmasıdır. bu şəkildə təyyarə sabit olacaq.

Addım 5: Hər şeyi bir araya gətirmək

Hər şeyi bir araya gətirmək
Hər şeyi bir araya gətirmək
Hər şeyi bir araya gətirmək
Hər şeyi bir araya gətirmək
Hər şeyi bir araya gətirmək
Hər şeyi bir araya gətirmək

İndi bütün hissələri hazırladıqdan sonra hamısını bir yerə yığmalıyıq.

Servonun stablaizersə qoşulması lazımdır. Bu nəzarət çubuqları ilə edilə bilər (yuxarıdakı şəklə baxın)

Motoru bir köpük parçasına taxıb təyyarənin önünə yapışdırmaq lazımdır (və ya elastik bantlardan istifadə etmək lazımdır, lazım olduqda çıxara bilərsiniz).

motoru taxmaq üçün bir pervane lazımdır, bu pervanenin ölçüsü motordan asılıdır. Optimal ölçüsü hesablamaq çox çətindir. Ancaq ümumi bir qayda budur ki, motor nə qədər güclüdürsə, pervane də o qədər böyükdür.

Batareya üçün lipo batareyalarından istifadə etmək məsləhətdir. Lakin, bu batareyanın partlamasını istəmirsinizsə, xüsusi bir şarj cihazına ehtiyacı var. Buna görə də nimh batareyaları istifadə etdim, bunlar daha ağırdır, lakin istifadəsi daha asan və daha ucuzdur.

Tövsiyə: