সুচিপত্র:

2 টি Arduino এর সাথে একটি Rc প্লেন তৈরি করা: 5 টি ধাপ
2 টি Arduino এর সাথে একটি Rc প্লেন তৈরি করা: 5 টি ধাপ

ভিডিও: 2 টি Arduino এর সাথে একটি Rc প্লেন তৈরি করা: 5 টি ধাপ

ভিডিও: 2 টি Arduino এর সাথে একটি Rc প্লেন তৈরি করা: 5 টি ধাপ
ভিডিও: ৫০ লাখ টাকার ড্রোনের কি হাল| Dji Drone crash | #travel #shorts #Eat&Travelwithmamun 2024, জুলাই
Anonim
2 আরডুইনো দিয়ে একটি আরসি প্লেন তৈরি করা
2 আরডুইনো দিয়ে একটি আরসি প্লেন তৈরি করা

একটি বিমান তৈরি করা একটি মজার চ্যালেঞ্জ। এটি বিশেষভাবে চ্যালেঞ্জিং হয়ে ওঠে যখন আপনি একটি prebuild নিয়ামক এবং রিসিভার এর পরিবর্তে arduino এর ব্যবহার করেন।

এই টিউটোরেলে আমি আপনাকে দেখাব কিভাবে আমি দুটি আরডুইনো দিয়ে একটি রেডিও নিয়ন্ত্রিত বিমান তৈরি করতে গিয়েছিলাম।

ধাপ 1: আপনার যা লাগবে।

আপনার প্রয়োজন হবে:

- একটি ব্রাশহীন মোটর

- মোটরের জন্য একটি esc

- 2 servos

- 1 arduino uno

- 1 আরডুইনো ন্যানো

- একটি প্রপেলার

- 2 nrf24l01 মডিউল

- 2 10uf ক্যাপাসিটার

- ফেনা বোর্ড

- একটি potentiometer

- একটি জয়স্টিক মডিউল

- একটি 3 এমপি 7.2 ভোল্ট niMH ব্যাটারি

ধাপ 2: রেডিও নিয়ন্ত্রণ

রেডিও নিয়ন্ত্রণ করে
রেডিও নিয়ন্ত্রণ করে
রেডিও নিয়ন্ত্রণ করে
রেডিও নিয়ন্ত্রণ করে

প্লেন নিয়ন্ত্রণ করতে আমি একটি nrf24l01 ব্যবহার করেছি। এই মডিউলের পরিসর 1 কিলোমিটার। আপনি উপরে দেখানো স্কিমটিতে nrf24l01 কে কীভাবে সংযুক্ত করবেন তা দেখতে পারেন। সম্ভাব্য ভোল্টেজ ড্রপের জন্য আপনাকে মাটি এবং 3.3 ভোল্টের মধ্যে ক্যাপাসিটরের সোল্ডার করতে হবে।

পরবর্তী ধাপ হল আপনার নিয়ামক থেকে ইনপুট পাওয়া। আমি রুডার এবং লিফট নিয়ন্ত্রণের জন্য একটি জয়স্টিক এবং মোটর নিয়ন্ত্রণের জন্য একটি পোটেন্টিওমিটার ব্যবহার করেছি। আপনাকে A0 এবং A2 পিন করার জন্য potentiometer সংযোগ করতে হবে, আমি A1 এবং A2 পিন করতে জয়স্টিক সংযুক্ত করেছি।

এখন আমাদের রিসিভার বানাতে হবে। আমি রিসিভারের জন্য একটি আরডুইনো ন্যানো ব্যবহার করেছি কারণ এটি ছোট। আপনাকে nrf24l01 কেও এই অ্যাড্রুইনোর সাথে সংযুক্ত করতে হবে। এর পরে আপনাকে সার্ভিস এবং esc (মোটরের জন্য ইলেকট্রনিক স্পিড কন্ট্রোলার) আরডুইনোতে সংযুক্ত করতে হবে। আমি D4 এবং D5 পিন করার জন্য servo এর সাথে সংযুক্ত ছিলাম, esc পিন D9 এর সাথে সংযুক্ত ছিল।

এই কোডটি আমি ট্রান্সমিটারের জন্য ব্যবহার করেছি:

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত

RF24 রেডিও (7, 8);

const বাইট ঠিকানা [6] = "00001";

অকার্যকর সেটআপ() {

radio.begin (); radio.openWritingPipe (ঠিকানা); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); Serial.begin (9600); }

অকার্যকর লুপ () {

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 (& text, sizeof (text)); বিলম্ব (10);

}

এবং এখানে রিসিভারের জন্য কোড:

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত

Servo esc;

Servo sx; Servo sy; RF24 রেডিও (7, 8);

const বাইট ঠিকানা [6] = "00001";

অকার্যকর সেটআপ() {

// আপনার সেটআপ কোড এখানে রাখুন, একবার চালানোর জন্য: 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 রেডিওতে সংকেত আরম্ভ করুন। StartListening (); Serial.begin (9600); }

অকার্যকর লুপ () {

চার টেক্সট [32] = ""; যদি (radio.available ()) {radio.read (& text, sizeof (text)); স্ট্রিং ট্রান্সডাটা = স্ট্রিং (টেক্সট); //Serial.println(getValue(transData, '|', 1));

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

s = মানচিত্র (গুলি, 0, 1023, 1000, 2000); // সর্বনিম্ন এবং সর্বোচ্চ মান ম্যাপিং (প্রয়োজন হলে পরিবর্তন করুন) Serial.println (transData); esc.writeMicroseconds (গুলি); // সংকেত হিসাবে 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 পাওয়া = 0; int strIndex = {0, -1}; int maxIndex = data.length ()-1;

(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 এবং Stabalizers

Fusualage এবং Stabalizers
Fusualage এবং Stabalizers

এখন যেহেতু আপনি আপনার ইলেকট্রনিক্স সেট আপ করেছেন, আপনার ইলেকট্রনিক্স রাখার জন্য একটি প্লেন দরকার। আমি ফোমবোর্ড ব্যবহার করেছি কারণ এটি হালকা এবং অপেক্ষাকৃত শক্তিশালী। ফুসুয়ালজ একটি আয়তক্ষেত্র যা লেজের দিকে পাতলা হয়ে যায়। ফুসুয়ালজ অ্যারোডাইনামিক্সের জন্য এত গুরুত্বপূর্ণ নয়। সর্বাধিক গুরুত্বপূর্ণ বিষয় হ'ল এটিতে যথাসম্ভব ছোট এবং হালকা রাখার সময় এটিতে সবকিছু ফিট হবে।

অনুভূমিক এবং উল্লম্ব স্ট্যাবালাইজার তৈরি করা খুব সহজ। একমাত্র গুরুত্বপূর্ণ বিষয় হল যে আপনার স্টেবিলাইজারগুলি পুরোপুরি সোজা। সমতল স্থিতিশীল রাখার জন্য স্ট্যাবলাইজার দায়ী। যখন আপনার স্ট্যাবিলাইজার সোজা হয় না, আপনার বিমানটি অস্থির হবে।

ধাপ 4: উইংস

পাখাগুলি
পাখাগুলি

ডানাগুলি সম্ভবত সবচেয়ে গুরুত্বপূর্ণ জিনিস, লিফট তৈরির জন্য আপনাকে একটি এয়ারফয়েল তৈরি করতে হবে। উপরের ছবিতে আপনি দেখতে পাবেন কিভাবে আমি আমার এয়ারফয়েল তৈরি করেছি।

সবচেয়ে গুরুত্বপূর্ণ বিষয় হল যে বিমানের মাধ্যাকর্ষণ কেন্দ্রটি এয়ারফোইলের সর্বোচ্চ বিন্দুর কাছাকাছি। এইভাবে বিমান স্থিতিশীল হবে।

ধাপ 5: একসঙ্গে সবকিছু রাখা।

সবকিছু একসাথে রাখা।
সবকিছু একসাথে রাখা।
সবকিছু একসাথে রাখা।
সবকিছু একসাথে রাখা।
সবকিছু একসাথে রাখা।
সবকিছু একসাথে রাখা।

এখন আমরা সব অংশ সম্পন্ন করেছি, আমাদের এটি সব একসাথে রাখা দরকার।

স্ট্যাব্লাইজারের সাথে সার্ভোর সংযোগ থাকা প্রয়োজন। এটি নিয়ন্ত্রণ রড দিয়ে করা যেতে পারে (উপরের ছবি দেখুন)

মোটরটিকে ফোমের টুকরোতে লাগাতে হবে এবং সমতলের সামনে আঠালো করা উচিত (অথবা ইলাস্টিক ব্যান্ড ব্যবহার করুন যাতে আপনি যখন প্রয়োজন হয় তখন এটি সরিয়ে ফেলতে পারেন)।

মোটর লাগানোর জন্য আপনার একটি প্রোপেলার দরকার, এই প্রপেলারের আকার মোটরের উপর নির্ভর করে। অনুকূল আকার গণনা করা খুব জটিল। কিন্তু একটি সাধারণ নিয়ম হল যে মোটর যত শক্তিশালী, প্রোপেলার তত বড় হতে পারে।

ব্যাটারির জন্য লিপো ব্যাটারি ব্যবহার করার পরামর্শ দেওয়া হয়। যাইহোক, এই ব্যাটারির একটি বিশেষ চার্জার প্রয়োজন যদি আপনি তাদের বিস্ফোরিত করতে না চান। এজন্যই আমি নিম ব্যাটারি ব্যবহার করেছি, এগুলি ভারী কিন্তু ব্যবহার করা সহজ এবং সস্তা।

প্রস্তাবিত: