সুচিপত্র:

নিমজ্জিত যান: 5 টি ধাপ
নিমজ্জিত যান: 5 টি ধাপ

ভিডিও: নিমজ্জিত যান: 5 টি ধাপ

ভিডিও: নিমজ্জিত যান: 5 টি ধাপ
ভিডিও: নিজের গুরুত্ব এভাবে বাড়াও কারো কাছে ।। PART 1 || PERSONALITY DEVELOPMENT || ASHWAMEDH || 2024, জুলাই
Anonim
নিমজ্জিত যানবাহন
নিমজ্জিত যানবাহন
নিমজ্জিত যানবাহন
নিমজ্জিত যানবাহন

***********

এই নির্দেশযোগ্যটি সাউথ ফ্লোরিডা ইউনিভার্সিটি (www.makecourse.com) এ মেককোর্সের প্রকল্পের প্রয়োজনীয়তা পূরণের জন্য তৈরি করা হয়েছিল।

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

ধাপ 1: উপকরণ

উপকরণ
উপকরণ
উপকরণ
উপকরণ
উপকরণ
উপকরণ

যেখানে ব্যবহৃত ইলেকট্রনিক্স:

1x Arduino Uno

1x মোবিয়াস অ্যাকশন ক্যামেরা

1x মোবিয়াস অ্যাকশন ক্যামেরা ইউএসবি-বি থেকে এ/ভি কেবল

1x ফিল্ড ভিউ 777 ডিসপ্লে স্ক্রিন

1x টারনিজি সামুদ্রিক 50A ESC (ইলেকট্রনিক গতি নিয়ন্ত্রণ)

1x টারনিজি সামুদ্রিক প্রোগ্রামিং কার্ড

1x টি-মোটর ন্যাভিগেটর 400kv

1x YEP 20A BEC (ব্যাটারি নির্মূল সার্কিট)

6x শখ রাজা HK15139 জলরোধী servos

2x সমান্তরাল টি-কানেক্টর এবং হারনেস

2x 18 ইঞ্চি servo এক্সটেনশন তারের

6x 6 ইঞ্চি servo এক্সটেনশন তারের

2x 1300mah 3s লাইপো ব্যাটারি

2x 2500mah 4s লিপো ব্যাটারি

5x এবং 12v উভয় নির্দিষ্ট আউটপুট সহ 1x পাওয়ার ডিস্ট্রিবিউশন বোর্ড

নির্মাণ সামগ্রী যেখানে:

পাতলা পাতলা কাঠের 1x 3/16 ইঞ্চি শীট

1x 6 ইঞ্চি আইডি এবিএস শিপিং টিউব

1x সিলিকন টিউব

ফ্লেক্স সীল 1x ক্যান

ABS 3D প্রিন্টার ফিলামেন্টের 4x স্পুল

1x 24 ইঞ্চি ড্রয়ার স্লাইড

তাপ সঙ্কুচিত নল

1x 10 ফুট স্কচ ব্র্যান্ডের ডুরালোক ভেলক্রো

1x জেবি ওয়েল্ড প্লাস্টিক ইপক্সি

1x 6.2 ইঞ্চি ব্যাসের এক্রাইলিক নিরাপত্তা ক্যামেরা গম্বুজ

2x IP68 ইথারনেট পাসথ্রু

2x 24 ইঞ্চি cat6 ইথারনেট কেবল

1x 200 ফুট cat6 ইথারনেট কেবল

ব্যবহৃত হার্ডওয়্যার ছিল:

24x 1/2 ইঞ্চি ব্রাস কাঠের স্ক্রু

24x ------ স্ক্রু (সার্ভিস সহ অন্তর্ভুক্ত)

ব্যবহৃত সরঞ্জামগুলি:

ফিলিপস এবং ফ্ল্যাট হেড স্ক্রু ড্রাইভার

অ্যালেন কী সেট

তাতাল

তাপ বন্দুক

3D প্রিন্টার (আমি একটি Monoprice Maker Select Plus ব্যবহার করেছি)

ধাপ 2: প্রোগ্রামিং

প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং

নিম্নে যে কোডটি তৈরি করা হয়েছে তা নিমজ্জিত করা হয়েছে। আমি.ino ফাইলটিও সংযুক্ত করেছি যাতে এটি ডাউনলোড করা যায়।

এই কোডটি Arduino Uno- এর জন্য Arduino কম্পাইলার ব্যবহার করে তৈরি করা হয়েছিল।

/**********************************************************************************************************************************************************************

লেখক: জোনাহ পাওয়ারস তারিখ: 11/9/2018 উদ্দেশ্য: দূরবর্তীভাবে পরিচালিত সাবমার্সিবল যানবাহনের জন্য নিয়ন্ত্রণ কোড ****************************** ****************************************************** ****************************************************** ****************************************/ #অন্তর্ভুক্ত // সার্ভো লাইব্রেরি সার্ভো রোল 1 সহ; // roll1 কে একটি servo Servo roll2 হিসেবে ঘোষণা করা; // roll2 কে servo servo elev1 ঘোষণা করা; // elev1 কে একটি servo servo elev2 ঘোষণা করা; // elev2 একটি servo Servo yaw1 হতে ঘোষণা করা; // yaw1 কে একটি servo Servo yaw2 হিসেবে ঘোষণা করা; // yaw2 কে একটি servo Servo esc ঘোষণা করা; // esc কে একটি servo হিসেবে ঘোষণা করা

int pot1 = 0; // ভেরিয়েবল পট 1 কে একটি পূর্ণসংখ্যা হিসাবে এবং এটি 0 ইন্ট পট 2 = 1 এর সমান সেট করা; // একটি পূর্ণসংখ্যা হিসাবে পরিবর্তনশীল pot2 intitializing এবং এটি 2 int pot3 = 2 এর সমান সেট করা; // ভেরিয়েবল পট 3 কে একটি পূর্ণসংখ্যা হিসাবে এবং এটি 4 ইন্ট পট 4 = 3 এর সমান সেট করা; // ভেরিয়েবল পট 4 কে একটি পূর্ণসংখ্যা হিসাবে এবং এটি 5 ইন্ট ভ্যাল 1 এর সমান সেট করা; // একটি পূর্ণসংখ্যা int val2 হিসাবে পরিবর্তনশীল val1 intitializing; // একটি পূর্ণসংখ্যা int val3 হিসাবে পরিবর্তনশীল val2 intitializing; // একটি পূর্ণসংখ্যা int val4 হিসাবে পরিবর্তনশীল val3 intitializing; // একটি পূর্ণসংখ্যা int val5 হিসাবে পরিবর্তনশীল val4 intitializing; // একটি পূর্ণসংখ্যা int val6 হিসাবে পরিবর্তনশীল val5 intitializing; // একটি পূর্ণসংখ্যা int val7 হিসাবে পরিবর্তনশীল val6 intitializing; // একটি পূর্ণসংখ্যা int val8 হিসাবে পরিবর্তনশীল val7 intitializing; // একটি পূর্ণসংখ্যা int mspeed হিসাবে পরিবর্তনশীল val8 intitializing; // একটি পূর্ণসংখ্যা হিসাবে পরিবর্তনশীল mspeed intitializing

অকার্যকর সেটআপ () {// Arduino প্রারম্ভিক পর্যায়ে Serial.begin (9600); // সিরিয়াল মনিটর রোল শুরু করা হচ্ছে 1. অ্যাটাচ (2); // ডিজিটাল পিন 2 roll2.attach (3) এর সাথে servo roll1 সংযুক্ত করা; // ডিজিটাল পিন 3 elev1.attach (5) এ servo roll2 সংযুক্ত করা; // ডিজিটাল পিন 5 elev2.attach (6) এ servo elev1 সংযুক্ত করা; // ডিজিটাল পিন 6 yaw1.attach (8) এ servo elev2 সংযুক্ত করা; // ডিজিটাল পিন 8 yaw2.attach (9) এ servo yaw1 সংযুক্ত করা; // ডিজিটাল পিন 9 esc.attach (11) এ servo yaw2 সংযুক্ত করা; // ডিজিটাল পিন 11 roll1.write (90) এ servo esc সংযুক্ত করা; // সার্ভো রোল 1 এর কেন্দ্রীভূত অবস্থানে রোল 2. লেখুন (90); // সার্ভো রোল 2 এর কেন্দ্রীভূত অবস্থানে লিখন ইলেভ 1. রাইট (90); // সার্ভো এলিভ 1 এর কেন্দ্রীভূত অবস্থানে লেখা এলিভ 2. রাইট (90); // servo elev2 তার কেন্দ্রিক অবস্থানে yaw1.write লিখুন (90); // servo yaw1 এর কেন্দ্রীভূত অবস্থানে yaw2.write (90) লেখা; // servo yaw2 এর কেন্দ্রীভূত অবস্থানে লেখা esc.write (180); // তার কেন্দ্রিক অবস্থান বিলম্বের জন্য servo esc লেখা (2500); // অপেক্ষা 2 সেকেন্ড esc.write (90); বিলম্ব (5000); }

অকার্যকর লুপ () {// অসীমভাবে লুপ করার প্রধান কোড যদি (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// "জয়স্টিক" (পোটেন্টিওমিটার) কেন্দ্রিক রোল ১. রাইট ()০) কিনা তা পরীক্ষা করা; // সার্ভার রোল 1 থেকে সেন্টার পজিশন রোল 2 রাইট করা (90); // সার্ভার রোল 2 কে সেন্টার পজিশনে লেখা} অন্য {// "জয়স্টিক" না থাকলে কি করতে হবে val1 = মানচিত্র (val1, 0, 1023, 10, 170); // 10 থেকে 170 পর্যন্ত val1 ম্যাপিং এবং val1 roll1.write (val1) এ বরাদ্দ করা; // servo roll1 লেখা থেকে positon পর্যন্ত val1 roll2.write (val1); // val1} দ্বারা সংজ্ঞায়িত পজিটন থেকে servo roll2 লেখা

val2 = analogRead (pot2); // পট 2 (এনালগ পিন 2) পড়া এবং val2 হিসাবে মান সংরক্ষণ করুন যদি (val2> = 485 && val2 <= 540) {// "জয়স্টিক" (পোটেন্টিওমিটার) এলিভেটেড আছে কিনা তা পরীক্ষা করে দেখুন (90); // সার্ভার এলিভ 1 থেকে সেন্টার পজিশন এলিভ 2. রাইট (90); // সার্ভার এলিভ 2 কে সেন্টার পজিশনে লেখা} অন্যথায় {// "জয়স্টিক" না থাকলে কি করতে হবে val3 = মানচিত্র (val2, 0, 1023, 10, 170); // 10 থেকে 170 পর্যন্ত val2 ম্যাপিং এবং val3 val4 = মানচিত্র (val2, 0, 1023, 170, 10); // 170 থেকে 10 পর্যন্ত val2 ম্যাপিং এবং val4 elev1.write (val3) এ বরাদ্দ করা; // valo elev2.write (val4) দ্বারা সংজ্ঞায়িত servo elev1 থেকে positon লেখা; // valo দ্বারা সংজ্ঞায়িত servo elev2 থেকে positon লেখা

val5 = analogRead (pot3); // পট 3 (এনালগ পিন 4) পড়া এবং val5 হিসাবে মান সংরক্ষণ করুন যদি (val5> = 485 && val5 <= 540) {// "জয়স্টিক" (potentiometer) yaw1.write (90) কেন্দ্রিক কিনা তা পরীক্ষা করা হচ্ছে; // সার্ভার yaw1 রাইটিং সেন্টার পজিশন yaw2.write (90); // সেন্টার পজিশনে ইয়াও 2 লেখা // 10 থেকে 170 পর্যন্ত val5 ম্যাপিং এবং val6 val7 = মানচিত্র (val5, 0, 1023, 170, 10); // 10 থেকে 170 পর্যন্ত val5 ম্যাপিং এবং val7 yaw1.write (val6) কে বরাদ্দ করা; // valo yaw2.write (val7) দ্বারা সংজ্ঞায়িত পজিটনে servo yaw1 লেখা; // ভ্যাল 7 দ্বারা সংজ্ঞায়িত পজিটনে সারো ইয়াও 2 লেখা

val8 = analogRead (pot4); // পট 4 (এনালগ পিন 5) পড়া এবং val8 হিসেবে মান সংরক্ষণ করুন যদি (val8> 470 && val8 80 && val8 <80) || 80); বিলম্ব (1000); // অপেক্ষা 1000 মিলিসেকেন্ড} esc.write (val8); // valo mspeed = val8 দ্বারা নির্ধারিত গতিতে servo esc লেখা; // তুলনার জন্য বর্তমান গতি সঞ্চয় করা}} Serial.print ("থ্রোটল"); // "থ্রোটল" শব্দটি দেখানোর জন্য সিরিয়াল প্রিন্ট ব্যবহার করে Serial.println (val8); // সিরিয়াল প্রিন্ট ব্যবহার করে থ্রোটলটি সিরিয়াল.প্রিন্ট ("রোল") তে সেট করা মান দেখাতে; // "রোল" শব্দটি দেখানোর জন্য সিরিয়াল প্রিন্ট ব্যবহার করে Serial.println (val1); // সিরিয়াল প্রিন্ট ব্যবহার করে রোলটি Serial.print ("pitch") এ সেট করা মান দেখাতে; // "পিচ" শব্দটি দেখানোর জন্য সিরিয়াল প্রিন্ট ব্যবহার করে Serial.println (val3); // সিরিয়াল প্রিন্ট ব্যবহার করে pitch1 সিরিয়াল.প্রিন্টলন (val4) এ সেট করা মান দেখাতে; // সিরিয়াল প্রিন্ট ব্যবহার করে pitch2 সিরিয়াল.প্রিন্ট ("yaw") তে সেট করা মান দেখাতে; // সিরিয়াল প্রিন্ট ব্যবহার করে "Yaw" Serial.println (val6) শব্দটি দেখানো; // সিরিয়াল প্রিন্ট ব্যবহার করে yaw1 সিরিয়াল.প্রিন্টলন (val7) এ সেট করা মান দেখাতে; // সিরিয়াল প্রিন্ট ব্যবহার করে yaw2 সেট করা মান দেখাতে}

ধাপ 3: সার্কিট্রি

নিমজ্জিত সার্কিটের একটি ছবি নিমজ্জিত।

আমি আমার ওয়্যারিং সহজ করার জন্য Arduino এর জন্য একটি কাস্টম ieldাল তৈরি করেছি। আমি ieldালের জন্য agগল স্কিম্যাটিক ও বোর্ড ফাইল আপলোড করেছি। আমি বোর্ডটি মিল করার জন্য একটি LPKF S63 ব্যবহার করেছি। সামনের সার্ভোস যা নিয়ন্ত্রণ রোলটি Arduino এ প্লাগ করা হবে

কন্ট্রোলারের ভিতরে সার্কিটের একটি ছবি সংযুক্ত।

ধাপ 4: 3D মুদ্রিত অংশ

আমি আমার Monoprice Maker Select Plus এ এই সব ফাইল প্রিন্ট করেছি। আমি Esun ABS 1.75mm ফিলামেন্ট ব্যবহার করেছি। আমার প্রিন্ট সেটিংস ছিল প্রিন্ট বেডের তাপমাত্রার জন্য 105 ডিগ্রি সেন্টিগ্রেড এবং এক্সট্রুডার তাপমাত্রার জন্য 255 ডিগ্রি সেলসিয়াস। প্রতিটি অংশের মাত্র 1 টি প্রয়োজন হয় তবে আপনার সামনে উইংয়ের 6 টি কপি প্রয়োজন হবে। লক্ষ্য করুন এই অংশগুলি প্রাচীরের বেধ 1000 মিমি সেট করে মুদ্রিত হয়েছিল। এটি করা হয়েছিল যাতে অংশগুলি 100% ইনফিল দিয়ে মুদ্রিত হবে যাতে তারা নেতিবাচকভাবে উজ্জ্বল হয়।

ধাপ 5: সমাবেশ

********************************* শীঘ্রই আসছে *************** *******************

প্রস্তাবিত: