সুচিপত্র:
ভিডিও: নিমজ্জিত যান: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
***********
এই নির্দেশযোগ্যটি সাউথ ফ্লোরিডা ইউনিভার্সিটি (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: সমাবেশ
********************************* শীঘ্রই আসছে *************** *******************
প্রস্তাবিত:
মূল বিষয়গুলিতে ফিরে যান: বাচ্চাদের জন্য সোল্ডারিং: 6 টি ধাপ (ছবি সহ)
মূল বিষয়গুলিতে ফিরে যান: বাচ্চাদের জন্য সোল্ডারিং: আপনি রোবট তৈরি করছেন বা আরডুইনোর সাথে কাজ করছেন, " হাতে-কলমে " ইলেকট্রনিক্স থেকে একটি প্রজেক্ট আইডিয়ার প্রোটোটাইপিং, কিভাবে সোল্ডার করা যায় তা জেনে রাখা সহজ হবে। সোল্ডারিং একটি অপরিহার্য দক্ষতা শিখতে হবে যদি কেউ সত্যিই ইলেক্ট্রনে থাকে
গেমকোর সাথে অসীম স্তরের প্ল্যাটফর্মার মেককোড আর্কেডের সাথে যান: 5 টি ধাপ (ছবি সহ)
গেমগোতে মেককোড আর্কেডের সাথে অসীম স্তরের প্ল্যাটফর্মার: গেমগো একটি মাইক্রোসফ্ট মেককোড সামঞ্জস্যপূর্ণ রেট্রো গেমিং পোর্টেবল কনসোল যা টিঙ্কারজেন স্টেম শিক্ষা দ্বারা বিকাশিত। এটি STM32F401RET6 ARM Cortex M4 চিপের উপর ভিত্তি করে তৈরি করা হয়েছে এবং STEM শিক্ষাবিদদের জন্য তৈরি করা হয়েছে অথবা যারা রেট্রো ভিডিও গেম তৈরি করতে মজা করতে পছন্দ করে
নিমজ্জিত 2017: 95 টি ধাপ
সাবমার্সেবল 2017: সাবমার্সেবল 2017
বিটিএস - 33 - নিমজ্জিত: 11 ধাপ
বিটিএস - 33 - সাবমার্সিবল: এই নির্দেশনাটি আপনাকে 3 টি সুইচ কন্ট্রোল দিয়ে একটি সাবমার্সিবল তৈরি করতে শেখাবে
খনিজ তেল নিমজ্জিত পিসি: 6 টি ধাপ (ছবি সহ)
খনিজ তেল নিমজ্জিত পিসি: নিচের লিংকটি হল কিভাবে খনিজ তেল দিয়ে ভরা অ্যাকোয়ারিয়ামে পিসি নিমজ্জিত করা যায় তার একটি টিউটোরিয়াল। UT2004 এবং CS: S- এর জন্য একটি সার্ভার ব্যবহার করে কম্পিউটার ব্যবহার করা হচ্ছে এমন ফলাফলগুলি বেশ চমকপ্রদ ছিল। এটি 120 ডিগ্রি ফারেনহাইটে চলে এবং সম্পূর্ণ মৃত এস