সুচিপত্র:

সহজ ityক্য নিয়ন্ত্রক: 5 টি ধাপ
সহজ ityক্য নিয়ন্ত্রক: 5 টি ধাপ

ভিডিও: সহজ ityক্য নিয়ন্ত্রক: 5 টি ধাপ

ভিডিও: সহজ ityক্য নিয়ন্ত্রক: 5 টি ধাপ
ভিডিও: Best ITI Trade in Bengali | Top 5 ITI Trade | ITI Courses After 12th 2024, নভেম্বর
Anonim
সহজ ityক্য নিয়ন্ত্রক
সহজ ityক্য নিয়ন্ত্রক

বর্ণনা

এই প্রকল্পটি একটি খুব সহজ নিয়ামক যা ইউনিটকে ইনপুট দিতে পারে যখন বোতাম টিপলে আমি এটি তৈরি করেছি এমন একটি খেলা নিয়ন্ত্রণ করার জন্য যেখানে খেলোয়াড় বাম এবং ডানে যেতে পারে। অবশ্যই আপনি সবসময় আরো নিয়ন্ত্রণের জন্য এটি সমন্বয় করতে পারেন। কোন অতিরিক্ত লাইব্রেরি ব্যবহার করার প্রয়োজন নেই।

ধাপ 1: উপকরণ

প্রয়োজনীয় উপাদান

  • -আরডুইনো 2x রোধক
  • -[~ 220 ওহম
  • -তারের
  • -2x বোতাম
  • -ব্রেডবোর্ড

ধাপ 2: ব্রেডবোর্ডিং

ব্রেডবোর্ডিং
ব্রেডবোর্ডিং

আমি আরডুইনো জিএনডি পোর্টকে ব্রেডবোর্ডের বাম পাশে একটি নেতিবাচক (-) পিনের সাথে সংযুক্ত করে শুরু করেছি, এবং রুটিবোর্ডের ডান দিকে 5V কে একটি ইতিবাচক (+) এর সাথে সংযুক্ত করেছি।

তারপরে আমি যে জায়গায় এমটিও হতে চেয়েছিলাম সেখানে বোতামগুলি রাখলাম। এবং তারের এবং প্রতিরোধক ব্যবহার করে তাদের সংযুক্ত।

ধাপ 3: Arduino কোডিং

Arduino চালানোর জন্য প্রথমে আপনাকে কিছু কোড লিখতে হবে। আমি কোডে মন্তব্য রাখি যা ব্যাখ্যা করে যে এটি কী করে।

// বোতামগুলির সাথে সংযুক্ত পিনগুলি ঘোষণা করুন।

const int buttonPin1 = 3; const int buttonPin2 = 4;

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

{// সিরিয়াল শুরু করুন Serial.begin (9600); // আউটপুট হিসাবে পিন কনফিগার করুন। pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

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

{// বাটনের অবস্থা পড়ুন যদি (digitalRead (buttonPin1) == HIGH) {// স্টেট হাই হলে এই লাইনটি প্রিন্ট করুন। Serial.println ("বাম"); বিলম্ব (20); } if (digitalRead (buttonPin2) == HIGH) {// স্টেট হাই হলে এই লাইনটি প্রিন্ট করুন। Serial.println ("ডান"); বিলম্ব (20); }}

ধাপ 4: ক্য

যদি আপনার কোন গেম প্রস্তুত না থাকে, এই কোডটি gameক্যবদ্ধভাবে যেকোন গেমবজেক্টে কাজ করবে।

এই ক্ষেত্রে যদি আপনি সরানো একটি gameobject প্রয়োজন হবে।

সরলতার জন্য আমরা GameObject-> 3D Object-> Cube এ গিয়ে একটি ঘনক তৈরি করব

একবার আপনার দৃশ্যে ঘনক্ষেত্র হয়ে গেলে, এটি নির্বাচন করুন এবং উপাদান যুক্ত করুন বোতাম টিপুন এবং নতুন স্ক্রিপ্ট তৈরি করুন।

এছাড়াও System. IO. Ports লাইব্রেরি কাজ করার জন্য আপনাকে Api সামঞ্জস্য স্তর পরিবর্তন করতে হবে।

এটি করতে Edit-> Project Settings-> Player এ যান

এই মেনুতে নিচে স্ক্রোল করুন যতক্ষণ না আপনি এপিআই সামঞ্জস্যতা স্তরটি খুঁজে পান এবং. NET 2.0 উপসেটটির পরিবর্তে. NET 2.0 নির্বাচন করুন

আপনি এখন কোডিং শুরু করার জন্য প্রস্তুত।

System. Collections ব্যবহার করে; System. Collections. Generic ব্যবহার করে; ইউনিটি ইঞ্জিন ব্যবহার করে; System. IO. Ports ব্যবহার করে;

পাবলিক ক্লাস প্লেয়ার মুভমেন্ট: মনোবিভিয়ার

{পাবলিক ফ্লোট স্পিড; ভাসা আন্দোলন;

SerialPort sp = নতুন SerialPort ("COM3", 9600);

অকার্যকর শুরু ()

{// সিরিয়াল পোর্ট OpenSerialPort () খুলতে কোডটি চালান; }

অকার্যকর OpenSerialPort ()

{// সিরিয়াল পোর্ট sp. Open () খুলুন; sp. ReadTimeout = 1; }

অকার্যকর আন্দোলন (স্ট্রিং নির্দেশ)

{// arduino কোন দিক দিয়ে গেছে তা পরীক্ষা করুন যদি (দিকনির্দেশ == "বাম") {আন্দোলন = -1; } যদি (দিক == "ডান") {আন্দোলন = 1; } // যে পরিমাণ দ্বারা gameobject সরানো হবে গণনা করুন float translation = movement * speed; // gameobject transform এ আন্দোলন প্রয়োগ করুন। অনুবাদ করুন (অনুবাদ, 0, 0); }

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

{যদি (sp. IsOpen) {চেষ্টা করুন {// যখন সিরিয়ালপোর্ট খোলা থাকে তখন মুভমেন্ট ফাংশন চালান এবং Arduino মুভমেন্ট মুভমেন্ট (sp. ReadLine ()) লাইনটি পাস করুন; } catch (System. Exception) {

}

}

} }

ধাপ 5: চূড়ান্ত নোট

আপনার উপাদানগুলি কাজ করছে কিনা তা পরীক্ষা করুন

এটি তৈরির সময় আমি যে সমস্যার সম্মুখীন হয়েছিলাম তা হল যে সমস্ত তার এবং কোড সঠিক ছিল এবং কোন সমস্যা হওয়া উচিত ছিল না, কিন্তু এটি কাজ করছিল না আমার ক্ষেত্রে এটি একটি তারের ছিল যা কাজ করছিল না, যদিও আপনার অন্যান্য কিছু উপাদানের সাথে একই হতে পারে।

প্রস্তাবিত: