সুচিপত্র:
- ধাপ 1: আপনার যা লাগবে
- ধাপ 2: সার্কিট
- ধাপ 3: কোড
- ধাপ 4: ঘের
- ধাপ 5: Minecraft Forge এবং SerialCraft Mod
- ধাপ 6: সিরিয়ালক্রাফ্ট মোড ব্যবহার করা
ভিডিও: Minecraft লতা আবিষ্কারক: 6 ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
AllwinedesignsAllwine ডিজাইন দ্বারা লেখক আরো অনুসরণ করুন:
সম্পর্কে: আমি আমার সারা জীবন সফটওয়্যার ডেভেলপার ছিলাম, কলেজে 3 ডি গ্রাফিক্সের উপর মনোযোগ দিয়ে কম্পিউটার সায়েন্স অধ্যয়ন করেছি, ড্রিমওয়ার্কস এনিমেশনের একজন প্রভাবশালী শিল্পী এবং এখানে বাচ্চাদের এবং প্রাপ্তবয়স্কদের প্রযুক্তি শেখানো হয়েছে… allwinedesigns সম্পর্কে More
কয়েক বছর ধরে, আমি বোজম্যানের শিশু জাদুঘরকে তাদের স্টিমল্যাবের পাঠ্যক্রম তৈরি করতে সাহায্য করেছি। আমি সবসময় ইলেকট্রনিক্স এবং কোডিংয়ের সাথে বাচ্চাদের যুক্ত করার মজাদার উপায় খুঁজছিলাম। মাইনক্রাফ্ট বাচ্চাদের দরজায় নিয়ে যাওয়ার একটি সহজ উপায় এবং এটি মজাদার এবং শিক্ষাগত উপায়ে ব্যবহারের জন্য প্রচুর সংস্থান রয়েছে। যদিও মাইনক্রাফ্ট এবং ইলেকট্রনিক্সের সমন্বয় করা কঠিন ছিল। মাইনক্রাফ্টের সাথে আরডুইনো প্রকল্পগুলিকে একীভূত করতে সাহায্য করার জন্য, আমি সিরিয়ালক্রাফ্ট নামে আমার নিজের মাইনক্রাফ্ট মোড তৈরি করেছি। ধারণা ছিল যে আপনি যে কোনও ডিভাইসকে সিরিয়াল যোগাযোগ ব্যবহার করতে পারেন এবং আমার মোড ব্যবহার করে মাইনক্রাফ্ট থেকে বার্তা পাঠাতে এবং গ্রহণ করতে পারেন। বেশিরভাগ Arduinos ইউএসবি এর মাধ্যমে সিরিয়াল যোগাযোগ করতে সক্ষম, তাই একটি সার্কিটকে তারে সংযুক্ত করা এবং সিরিয়াল সংযোগের উপর কিছু ডেটা পাঠানো সহজ। আমি কন্ট্রোলার কিট তৈরি করেছি যা বাচ্চারা একত্রিত হতে পারে এবং তাদের চরিত্র নিয়ন্ত্রণ করতে পারে, রেডস্টোন সিগন্যালগুলিকে ট্রিগার করতে পারে এবং সাড়া দিতে পারে, এবং কম জীবন বা যখন লতা কাছাকাছি থাকে এমন কিছু ইভেন্ট সম্পর্কে তাদের সতর্ক করার জন্য এলইডি জ্বলতে পারে। এই নির্দেশযোগ্য লতা সতর্কতা কার্যকারিতা উপর দৃষ্টি নিবদ্ধ করে এবং এটি Adafruit Neopixels এবং একটি লেজার কাট এক্রাইলিক এবং পাতলা পাতলা কাঠ ব্যবহার করে আরও এক ধাপ এগিয়ে নিয়ে যায়। লতার ডিটেক্টর একটি 8 LED নিওপিক্সেল স্টিক ব্যবহার করে আপনাকে নিকটতম লতা সম্পর্কে মূল্যবান তথ্য দিতে। যখন সমস্ত এলইডি বন্ধ থাকে, তার মানে 32 টি ব্লকের মধ্যে লতা নেই। যখন সমস্ত এলইডি চালু থাকে (সেগুলিও জ্বলজ্বল করবে), আপনি লতার 3 ব্লক বিস্ফোরণের ব্যাসার্ধের মধ্যে আছেন (যে ব্যাসার্ধে লতা থামবে, তার ফিউজ জ্বালান এবং বিস্ফোরিত হবে)। এর মধ্যে যেকোনো কিছু আপনাকে একটি অনুমান দিতে পারে যে লতা আপনার থেকে কত দূরে। যখন 8 টি LED এর মধ্যে 4 টি জ্বালানো হয়, তখন আপনি একটি লতা থেকে প্রায় 16 টি ব্লক, যা সেই সীমা যেখানে কোন লতা আপনাকে দেখলে এটি আক্রমণ করবে। যখন আপনি লতা (7 ব্লক) এর বিস্ফোরণের ব্যাসার্ধের মধ্যে থাকবেন তখন এলইডি জ্বলতে শুরু করবে। এটি এমন ব্যাসার্ধও যে যদি আপনি বেরিয়ে যান, লতা তার ফিউজ বন্ধ করবে এবং আপনার পরে আসতে থাকবে। এই জ্ঞানের সাহায্যে, আপনি কোন অপ্রত্যাশিত লতার আক্রমণ এড়াতে বা কাছাকাছি কোন লতা শিকার করতে সক্ষম হওয়া উচিত!
এই নির্দেশনায়, আমরা আপনার নিজের লতা আবিষ্কারক তৈরি করতে এবং সিরিয়ালক্রাফ্ট মোডটি কীভাবে ইনস্টল এবং ব্যবহার করতে হয় তা যা আপনি আপনার আরডুইনো প্রকল্পগুলির সাথে মাইনক্রাফ্টকে ইন্টারফেস করতে দেয় তার সবকিছু আমরা যাব। যদি আপনি এটি পছন্দ করেন, দয়া করে Minecraft প্রতিযোগিতা এবং Epilog চ্যালেঞ্জে এটির জন্য ভোট দেওয়ার কথা বিবেচনা করুন। চল শুরু করি!
ধাপ 1: আপনার যা লাগবে
আমি আমার ব্যবহার করা সঠিক পণ্যগুলির সাথে লিঙ্ক করার জন্য যথাসাধ্য চেষ্টা করেছি, কিন্তু কখনও কখনও আমি অ্যামাজনে আমার নিকটতম জিনিস খুঁজে পাই। কখনও কখনও আপনার স্থানীয় ইলেকট্রনিক্স দোকান বা হার্ডওয়্যারের দোকান থেকে কিছু জিনিস বাছাই করা ভাল যাতে অনলাইনে বেশি পরিমাণে কেনা না হয়।
- আমি একটি 8 LED RGBW NeoPixel স্টিক ব্যবহার করেছি, কিন্তু আমি সাদা (W) LED ব্যবহার করিনি তাই একটি 8 LED RGB NeoPixel স্টিক করবে। আপনি এটিকে যেকোনো RGB বা RGBW NeoPixel পণ্যের জন্য প্রতিস্থাপন করতে পারেন, কিন্তু সেখানে পাওয়ার বিবেচনার বিষয় রয়েছে যা আমরা পরবর্তী ধাপে আলোচনা করব এবং কোড পরিবর্তনের কথা বলব যা আমরা এখানে এলে উল্লেখ করব। আপনি এমন একটি বেছে নিতে চাইতে পারেন যার জন্য সোল্ডারিংয়ের প্রয়োজন হয় না, তবে আমি আপনাকে দেখিয়ে দেব কিভাবে আমি কাঠের উপর তারগুলি সোল্ডার করেছি।
- একটি মাইক্রোকন্ট্রোলার এবং এর সাথে মিলে যাওয়া ইউএসবি কেবল। আমি SparkFun এর RedBoard ব্যবহার করেছি যা একটি Arduino Uno ক্লোন। এটি একটি মিনি বি ইউএসবি সংযোগকারী ব্যবহার করে (আমি নিশ্চিত নই কেন এটি অ্যামাজনে এত ব্যয়বহুল, আপনি এখানে সরাসরি স্পার্কফুন থেকে এটি পেতে পারেন, অথবা অ্যামাজনে বিকল্পের জন্য যেতে পারেন, যেমন এটি)। আমরা কোডিং সহজ করার জন্য একটি Arduino লাইব্রেরি ব্যবহার করব, কিন্তু এটি শুধুমাত্র মৌলিক সিরিয়াল যোগাযোগ ব্যবহার করে যাতে লাইব্রেরিটি সম্ভবত যেকোনো মাইক্রোকন্ট্রোলারে কাজ করার জন্য পোর্ট করা যায় যা USB সিরিয়াল করতে পারে। প্রায় কোন Arduino করবে। নিশ্চিত করুন যে এটিতে ইউএসবি সিরিয়াল আছে (বেশিরভাগই করে, কিন্তু কিছু আসল ত্রিঙ্কেটের মতো নয়)।
- তার, সোল্ডারিং লোহা এবং ঝাল (তারের স্ট্রিপার এবং তৃতীয় হাতও কাজে আসে)। আমরা NeoPixel স্টিকে তারের সোল্ডারিং করব যাতে এটি একটি Arduino এ প্লাগ করা যায়। এগুলি অপ্রয়োজনীয় হতে পারে যদি আপনি এমন একটি নিওপিক্সেল পণ্য চয়ন করেন যা ইতিমধ্যে তারের সাথে সংযুক্ত থাকে বা একটি মাইক্রোকন্ট্রোলার যা বোর্ডে নিওপিক্সেলগুলির সাথে আসে (যেমন সার্কিট প্লেগ্রাউন্ড এক্সপ্রেস, যার জন্য আমি ভবিষ্যতে পদক্ষেপের জন্য কোড অন্তর্ভুক্ত করেছি)। LED টি এলইডি স্টিকের ফর্ম ফ্যাক্টর হচ্ছে আমি আমার লতা আবিষ্কারক এর ঘেরটি ডিজাইন করেছি, তাই আপনি যদি কোন ভিন্ন ফর্ম ফ্যাক্টরের জন্য যান তবে আপনাকে পরিবর্তন করতে হবে বা ঘের ছাড়া যেতে হবে।
- ঘের উপকরণ। আমি 1/8 "ফ্রস্টেড এক্রাইলিক, 1/8" ক্লিয়ার এক্রাইলিক এবং 1/8 "প্লাইউড ব্যবহার করেছি যা আমি লেজার কাট এবং M3 মেশিনের স্ক্রু এবং বাদাম একসাথে ধরে রাখার জন্য। আমি কিছু #2 x 1/4 "কাঠের স্ক্রু ব্যবহার করে নিওপিক্সেল স্টিকটিকে ঘেরের সাথে বেঁধে রাখি। ঘেরটি অপ্রয়োজনীয়, তবে অবশ্যই কিছু অতিরিক্ত লতা স্বভাব যুক্ত করে। আমার ঘেরটি শুধুমাত্র নিওপিক্সেল রাখার জন্য ডিজাইন করা হয়েছিল, মাইক্রোকন্ট্রোলার নয়। যদি আপনি এটি সম্পূর্ণরূপে স্বনির্ভর হতে চান, আপনাকে পরিবর্তন করতে হবে!
- একটি Minecraft অ্যাকাউন্ট, Minecraft Forge 1.7.10 এবং SerialCraft (mod এবং Arduino Library)। লতা আবিষ্কারক সিরিয়ালক্রাফ্ট মোডের উপর নির্ভর করে, যা শুধুমাত্র Minecraft 1.7.10 এ Minecraft Forge দিয়ে কাজ করে। এগুলি কীভাবে ডাউনলোড করবেন এবং ভবিষ্যতে কীভাবে সেগুলি সেট আপ করবেন তা নিয়ে আমরা আলোচনা করব।
- Arduino IDE বা Arduino Create এবং Arduino Create প্লাগইন এর একটি অ্যাকাউন্ট (আমি Arduino Create ব্যবহার করার সুপারিশ করি কারণ আপনি সরাসরি আমার Arduino Create স্কেচ এ যেতে পারবেন এবং সেখান থেকে কম্পাইল করে আপলোড করতে পারবেন)।
ধাপ 2: সার্কিট
সার্কিটটি খুব সহজ, মাত্র 3 টি তারের, নিওপিক্সেল স্টিক এবং একটি আরডুইনো। সমস্ত অ্যাডাফ্রুট নিওপিক্সেলের নিজস্ব নিয়ামক রয়েছে যা একটি একক ডেটা ওয়্যারকে যে কোনও সংখ্যক শৃঙ্খলিত এলইডি নিয়ন্ত্রণ করতে দেয়। আমি এটা আমার Arduino 12 পিন সংযুক্ত।
অন্য দুটি তারের শক্তি এবং স্থল জন্য। NeoPixels কে পাওয়ার করার জন্য আমাদের 5V পাওয়ার সোর্স লাগবে। আমাদের নিশ্চিত করতে হবে যে আমাদের শক্তির উৎস যথেষ্ট পরিমাণে কারেন্ট প্রদান করতে সক্ষম, যদিও। প্রতিটি NeoPixel সম্পূর্ণ উজ্জ্বলতায় 60mA (RGBW LEDs সহ 80mA) পর্যন্ত আঁকতে পারে। 8 টি LEDs এর সাথে, এর মানে হল আমাদের সর্বাধিক বর্তমান 480mA (RGBW LEDs সহ 640mA)। আরডুইনো চালু করতে ~ 40mA লাগে। প্রথম নজরে, মনে হচ্ছে আমাদের একটি বাহ্যিক বিদ্যুৎ সরবরাহ ব্যবহার করতে হবে। ইউএসবি সর্বাধিক 500 এমএএর অনুমতি দেয় যা আমরা যদি আমাদের সমস্ত এলইডি সর্বাধিক (480+40 = 520 আরজিবি এলইডি দিয়ে বা 640+40 = 680 আরজিবিডব্লিউ এলইডি সহ) সেট করতে পারি। সৌভাগ্যবশত, আমাদের LEDs কে তাদের পূর্ণ উজ্জ্বলতায় পরিণত করার প্রয়োজন হবে না (পূর্ণ উজ্জ্বলতা বেশ অন্ধকার), তাই আমরা আমাদের Arduino এর 5V রেল ব্যবহার করে নিরাপদ থাকব, USB এর মাধ্যমে প্লাগ ইন করা। প্রকৃতপক্ষে, আমি যে সবুজ রঙটি নির্বাচন করেছি তা ব্যবহার করে শুধুমাত্র LED 7-8mA সর্বোচ্চ LED ব্যবহার করা হবে মোট ~ 100mA সর্বোচ্চ বর্তমান ড্রয়ের জন্য, USB দ্বারা আরোপিত 500mA সর্বোচ্চের অধীনে।
সুতরাং, আমাদের যা করতে হবে তা হল 12 টি পিন করতে NeoPixel স্টিকের DIN পিনটি সংযুক্ত করা (প্রায় যেকোনো পিনই কাজ করবে, কিন্তু এটি আমি ব্যবহার করেছি), NeoPixel স্টিকের 5V পিনটি Arduino- এ 5V, এবং আরডুইনোতে জিএনডি -তে নিওপিক্সেল স্টিকের একটি জিএনডি পিন। প্রথমত, আমাদের NeoPixel স্টিকে আমাদের তারের সোল্ডার করতে হবে।
আপনার তারের এক প্রান্ত থেকে সংযোগকারীগুলিকে কেটে ফেলুন এবং প্রান্তগুলি সরান। তাদের প্রতিটি টিন (প্রতিটি প্রান্তে ঝাল প্রয়োগ করুন)। তারপরে প্রতিটি প্যাডে কিছুটা সোল্ডার রাখুন। সোল্ডারিং লোহা দিয়ে প্রতিটি প্যাড সাবধানে স্পর্শ করুন, সংশ্লিষ্ট তারের শেষটি প্যাডে রাখুন, তারপরে লোহাটি সরান।
ধাপ 3: কোড
আপডেট (2/19/2018): আমি GitHub রেপোতে একটি নতুন Arduino স্কেচ পোস্ট করেছি যাতে সার্কিট প্লেগ্রাউন্ড এক্সপ্রেসে কাজ করার জন্য লতা ডিটেক্টরের সমস্ত প্রয়োজনীয় পরিবর্তন অন্তর্ভুক্ত রয়েছে (এটি ঘেরের সাথে কাজ করবে না, কিন্তু এটি সব আছে LEDs এবং কিছু সেন্সর বোর্ডে নির্মিত, তাই কোন সোল্ডারিং প্রয়োজন)। এটি এর বোতাম এবং স্লাইড সুইচের সাথে আবদ্ধ কিছু অতিরিক্ত কার্যকারিতা অন্তর্ভুক্ত করে!
সম্পূর্ণ কোডের জন্য, আপনি আমার Arduino Create sketch বা GitHub সংগ্রহস্থলে যেতে পারেন। কোডটি কীভাবে কম্পাইল এবং আপলোড করবেন তা নিশ্চিত না হলে এখানে নির্দেশাবলী অনুসরণ করুন। আপনি যদি Arduino IDE ব্যবহার করতে চান, তাহলে আপনাকে SerialCraft Arduino লাইব্রেরি ইনস্টল করতে হবে। এখানে "একটি জিপ আমদানি" এর অধীনে ধাপগুলি অনুসরণ করুন। আপনি যদি আরডুইনো ক্রিয়েট ওয়েব এডিটর ব্যবহার করেন, আপনি একবার সেট আপ হয়ে গেলে সরাসরি আমার স্কেচে যেতে পারেন এবং সিরিয়ালক্রাফট লাইব্রেরি ইনস্টল করার প্রয়োজন এড়াতে পারেন।
আমি নীচে কোডটি কী করছে তা নিয়ে যাব।
প্রথম দুটি লাইনের মধ্যে রয়েছে লাইব্রেরি। প্রথম, SerialCraft.h, একটি লাইব্রেরি যা আমি লিখেছিলাম যা SerialCraft মোডের সাথে সহজ যোগাযোগ সক্ষম করে। আমি নীচে যে বৈশিষ্ট্যগুলি ব্যবহার করি তা দিয়ে আমি আপনাকে দেখব, তবে আপনি উদাহরণ এবং কিছু ডকুমেন্টেশন যা তার গিটহাব সংগ্রহস্থলে কিছু কাজের প্রয়োজন তা পরীক্ষা করে দেখতে পারেন। দ্বিতীয় লাইব্রেরি হল অ্যাডাফ্রটের নিওপিক্সেল লাইব্রেরি এবং নিওপিক্সেল স্ট্রিপগুলিতে এলইডি সামঞ্জস্য করার জন্য একটি API প্রদান করে।
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
লাইন 4-17 হল ধ্রুবক যা আপনার সেটআপের উপর ভিত্তি করে পরিবর্তিত হতে পারে। যদি আপনি একটি ভিন্ন সংখ্যক পিক্সেলের সাথে একটি NeoPixel স্ট্রিপ ব্যবহার করেন অথবা যদি আপনি আপনার NeoPixels কে একটি ভিন্ন পিনে যুক্ত করেন, তাহলে আপনাকে প্রথম দুটি সংজ্ঞা, NUMLEDS এবং PIN- এ পরিবর্তন করতে হবে। আপনি LED_TYPE কে আপনার টাইপ পরিবর্তন করতে হবে, NEO_GRBW NEO_RGB অথবা NEO_RGBW এ পরিবর্তন করার চেষ্টা করুন যদি আপনার সমস্যা হয়। আপনি BLOCKS_PER_LED পরিবর্তন করতে পারেন যদি আপনি লতা সনাক্ত করতে পারেন এমন পরিসীমা সামঞ্জস্য করতে চান।
// আপনার সেটআপের সাথে মেলে এই ভেরিয়েবলগুলি পরিবর্তন করুন
// আপনার স্ট্রিপে LED গুলির সংখ্যা #সংজ্ঞায়িত NUMLEDS 8 // পিন যে LED ডাটা পিন সংযুক্ত করা হয়েছে #ডিফাইন পিন 12 // ব্লকের সংখ্যা যা প্রতিটি LED প্রতিনিধিত্ব করে আপনার LEDs সবুজ হয়ে উঠছে না, তাহলে আপনাকে GRBW এর ক্রম পরিবর্তন করতে হবে) #LED_TYPE নির্ধারণ করুন (NEO_GRBW+NEO_KHZ800) // END ভেরিয়েবল
লাইন 19-27 কিছু মান নির্ধারণ করে যা আমরা পরে ব্যবহার করব। DETONATE_DIST হল মাইনক্রাফ্টের দূরত্ব যা লতা চলাচল বন্ধ করবে, তার ফিউজ জ্বালাবে এবং বিস্ফোরিত হবে। SAFE_DIST হল লতার বিস্ফোরণের ব্যাসার্ধ। এই মানগুলি পরিবর্তন করা LEDs এর আচরণকে প্রভাবিত করবে, কিন্তু আমি Minecraft- এ আচরণগুলি প্রতিফলিত করার ফলে সেগুলি যা আছে তা রাখার পরামর্শ দিচ্ছি। MAX_DIST হল সর্বাধিক দূরত্ব যা আমরা লতাগুলিকে ট্র্যাক করব, যা আমাদের নিওপিক্সেল স্ট্রিপের LEDs এবং BLOCKS_PER_LED ধ্রুবক যা আমরা উপরে সংজ্ঞায়িত করেছি তার উপর ভিত্তি করে।
// এইগুলি হল মান যা LED উজ্জ্বলতার জন্য আমাদের গণনায় ব্যবহৃত হবে
// দূরত্বের লতা বিস্ফোরিত হতে শুরু করবে #ডিফাইন DETONATE_DIST 3 // দূরত্ব আমরা লতা বিস্ফোরণ থেকে নিরাপদ (আপনি যদি এই দূরত্বের মধ্যে থাকেন তবে আপনার ক্ষতি হবে) #ডিফাইন SAFE_DIST 7 // সর্বোচ্চ দূরত্ব যা আমরা লতাকে ট্র্যাক করি MAX_DIST (NUMLEDS*BLOCKS_PER_LED)
লাইন 29-36 কিছু ভেরিয়েবল সংজ্ঞায়িত করে যা আমরা পুরো প্রোগ্রাম জুড়ে ব্যবহার করব। এসসি ভেরিয়েবল একটি সিরিয়ালক্রাফ্ট অবজেক্ট যা সিরিয়ালক্রাফ্ট মাইনক্রাফ্ট মোডের সাথে যোগাযোগের জন্য একটি সহজ ইন্টারফেস ব্যবহার করে। আমরা দেখতে পাচ্ছি কিভাবে আমরা এটি ব্যবহার করি। dist হল একটি পরিবর্তনশীল যা আমরা সিরিয়ালক্রাফ্ট মোড থেকে লতা দূরত্বের বার্তা পাওয়ার সময় নিকটতম লতার দূরত্ব নির্ধারণ করব। স্ট্রিপ হল একটি Adafruit_NeoPixel বস্তু যা NeoPixel স্ট্রিপগুলি নিয়ন্ত্রণ করার পদ্ধতি প্রদান করে।
// এটি সিরিয়ালক্রাফ্ট মাইনক্রাফ্ট মোডের সাথে যোগাযোগের জন্য সিরিয়ালক্রাফ্ট অবজেক্ট
SerialCraft sc; // লতা থেকে দূরত্ব int dist = 100; // LEDs এর একটি স্ট্রিপ শুরু করুন, আপনাকে তৃতীয় Adafruit_NeoPixel স্ট্রিপ = Adafruit_NeoPixel (NUMLEDS, PIN, LED_TYPE) পরিবর্তন করতে হতে পারে;
লাইন 38-47 হল আমাদের সেটআপ ফাংশন। সমস্ত Arduino স্ক্রিপ্ট একটি থাকতে হবে। Arduino চালিত হলে এটি একবার চালানো হয়, তাই ভেরিয়েবলগুলি আরম্ভ করার জন্য এটি একটি দুর্দান্ত জায়গা। সিরিয়ালক্রাফ্ট মোডে (115200) কনফিগার করা একই বড রেটে সিরিয়াল পোর্ট শুরু করার জন্য আমরা আমাদের সিরিয়ালক্রাফ্ট অবজেক্টে সেটআপ () পদ্ধতিটি কল করি। তারপর আমরা registerCreeperDistanceCallback পদ্ধতিতে কল করি যাতে আমরা সিরিয়ালক্রাফ্ট মোড দ্বারা আমাদের কাছে পাঠানো লতা দূরত্বের বার্তাগুলির উত্তর দিতে পারি। আমরা পর্যায়ক্রমে sc.loop () পদ্ধতিটিকে একটু নিচে কল করব। লুপ পদ্ধতিতে, আমরা সিরিয়ালক্রাফ্ট মোড থেকে কোন বার্তা পেয়েছি কিনা বা বোতাম টিপে কোন ইভেন্ট ট্রিগার করেছি কিনা তা যাচাই করে এবং এটি পরিচালনা করার জন্য আমরা নিবন্ধিত সংশ্লিষ্ট ফাংশনকে কল করি। আমরা যা করছি তা হল নিকটতম লতার দূরত্বের সন্ধান করা, তাই এটিই একমাত্র কাজ যা আমরা নিবন্ধন করছি। আপনি নীচে দেখতে পাবেন, আমরা এই ফাংশনে যা করি তা আমাদের ডিস্ট ভেরিয়েবল সেট করে, যা আমরা LEDs আপডেট করার সময় ব্যবহার করব। অবশেষে, আমরা আমাদের LED স্ট্রিপ আরম্ভ করি এবং strip.begin () এবং strip.show () ব্যবহার করে সমস্ত LEDs বন্ধ করি।
অকার্যকর সেটআপ () {// SerialCraft sc.setup () শুরু করুন; // নিকটতম লতা sc.registerCreeperDistanceCallback (লতা) থেকে দূরত্ব পেতে একটি লতা দূরত্ব কলব্যাক নিবন্ধন করুন; // LED স্ট্রিপ strip.begin () শুরু করুন; strip.show (); }
লাইন 49-80 লুপ ফাংশন সংজ্ঞায়িত করে। লুপ ফাংশন যেখানে সমস্ত যাদু ঘটে। লুপ ফাংশন বারবার বলা হয়। যখনই লুপ ফাংশন চলমান শেষ করে, এটি আবার শীর্ষে ফিরে শুরু করে। এতে, আমরা প্রতিটি ভেরিয়েবল এবং ফাইলের শীর্ষে আমাদের ধ্রুবকগুলি ব্যবহার করি তা নির্ধারণ করতে প্রতিটি LED এর অবস্থা কেমন হওয়া উচিত।
লুপ ফাংশনের শীর্ষে আমরা কয়েকটি ভেরিয়েবল সংজ্ঞায়িত করি।
// রেঞ্জ 0 থেকে যখন
int blockFromCreeperToMax = constrain (MAX_DIST+DETONATE_DIST-dist, 0, MAX_DIST); int curLED = blockFromCreeperToMax/BLOCKS_PER_LED; // 0 থেকে NUMLEDS-1 int curLEDLevel = (blockFromCreeperToMax%BLOCKS_PER_LED+1) পর্যন্ত রেঞ্জ; // 1 থেকে BLOCKS_PER_LED পর্যন্ত
যেহেতু আমরা একটি লতার কতটা কাছাকাছি তার উপর ভিত্তি করে LEDs জ্বালিয়ে দিচ্ছি, তাই আমাদের আমাদের দূরত্বের পরিবর্তনকে কার্যকরভাবে উল্টাতে হবে। আমরা ব্লকগুলিকে সংজ্ঞায়িত করি ব্লকগুলির সংখ্যা প্রতিনিধিত্ব করার জন্য লতাটি সর্বাধিক দূরত্ব থেকে যা আমরা ট্র্যাক করতে যত্ন করি। যখন আমরা লতার শীর্ষে থাকি (বা বরং, লতা থেকে DETONATE_DIST এর কম বা সমান), ব্লকফ্রোমক্রিপারটোম্যাক্স MAX_DIST হবে। আমরা যখন লতা থেকে MAX_DIST দূরে থাকি, ব্লকফ্রোমক্রিপারটোম্যাক্স 0 হবে। এই পরিবর্তনশীলটি যখন আমাদের LEDs যত বড় হবে, তত বেশি আলো জ্বালাবে।
কার্লিড হল সর্বাধিক এলইডি যা জ্বলবে। প্রতি 4 টি ব্লক যা আমরা লতার দিকে অগ্রসর হব একটি অতিরিক্ত LED জ্বালাবে (সেই সংখ্যাটি BLOCKS_PER_LED ভেরিয়েবল সহ ফাইলের শীর্ষে পরিবর্তন করা যেতে পারে)। আমরা উপরের সর্বাধিক LED এর উজ্জ্বলতা সামঞ্জস্য করি যাতে আমরা একক ব্লকের দূরত্বের পরিবর্তন দেখতে পারি। curLEDLevel হল একটি পরিবর্তনশীল যা আমরা উজ্জ্বলতার পরিবর্তনগুলি গণনা করতে ব্যবহার করব। এটি 1 থেকে 4 পর্যন্ত (বা BLOCKS_PER_LED যাই হোক না কেন)
আমরা প্রতিটি ভেরিয়েবল ব্যবহার করব যখন প্রতিটি এলইডি লুপ করা হবে:
জন্য /MAX_DIST; যদি (i == curLED) {// শেষ LED লাইট // শেষ LED কে আরও উজ্জ্বল করে তুলি আমরা পরবর্তী LED float lastIntensity = (float) curLEDLevel/BLOCKS_PER_LED; তীব্রতা *= শেষ তীব্রতা; } যদি (dist <SAFE_DIST) {তীব্রতা *= (মিলিস ()/75)%2; } তীব্রতা = শক্তি (তীব্রতা, 2.2); // গামা বক্ররেখা, LED উজ্জ্বলতা আমাদের চোখে রৈখিক দেখায় যখন উজ্জ্বলতার মান সত্যিই strip.setPixelColor (i, strip. Color (10*তীব্রতা, 70*তীব্রতা, 10*তীব্রতা, 0)); } অন্য {strip.setPixelColor (i, strip. Color (0, 0, 0, 0)); }}
যদি আমরা যে বর্তমান LED আপডেট করছি তা কার্লিড ভেরিয়েবলের চেয়ে কম বা সমান হয়, তাহলে আমরা জানি যে এটি চালু থাকা উচিত এবং আমাদের উজ্জ্বলতা গণনা করতে হবে। অন্যথায়, এটি বন্ধ করুন। আমরা একটি তীব্রতা পরিবর্তনশীল ব্যবহার করি যার মান 0 এবং 1 এর মধ্যে থাকবে যা আমাদের LED এর উজ্জ্বলতার প্রতিনিধিত্ব করবে। LED এর চূড়ান্ত রং সেট করার সময়, আমরা রঙ (10, 70, 10), একটি সবুজ রঙের সাথে তীব্রতাকে গুণ করব। আমরা MAX_DIST দ্বারা ভাগ করে শতাংশ পেতে ব্লকফ্রোমক্রিপারটোম্যাক্স ভেরিয়েবল ব্যবহার করি, তাই আমরা যখন লতার কাছাকাছি থাকব তখন LEDs উজ্জ্বল হবে। যদি আমরা curLED এর উজ্জ্বলতা গণনা করি, তাহলে আমরা লতা থেকে আপনার BLOCKS_PER_LED সেটিং পর্যন্ত দূরত্বের প্রতিটি ব্লকের জন্য তার উজ্জ্বলতা পরিবর্তন করি। এটি একটি সূক্ষ্ম পরিবর্তন, কিন্তু এটি দেখতে ব্যবহার করা যেতে পারে যে একটি লতা 4 টি ব্লকের তুলনায় একটি সূক্ষ্ম শস্যের কাছাকাছি বা আরও দূরে চলে যাচ্ছে যা একটি অতিরিক্ত LED আলোতে লাগে। তারপর আমরা চেক করি যে আমরা লতার বিস্ফোরণের ব্যাসার্ধের মধ্যে আছি এবং যদি আমরা থাকি এক্সপ্রেশন (মিলিস ()/75)%2 বারবার 75 মিলিসেকেন্ডের জন্য 0 এবং তারপর 75 মিলিসেকেন্ডের জন্য 1 মূল্যায়ন করবে, তাই সেই এক্সপ্রেশন দ্বারা আমাদের তীব্রতাকে বাড়িয়ে তুললে LED গুলি জ্বলবে।
তীব্রতার চূড়ান্ত পরিবর্তন (তীব্রতা = পাও (তীব্রতা, 2.2)), একটি সমন্বয় যা গামা সংশোধন নামে পরিচিত। মানুষের চোখ একটি অরৈখিক ভাবে আলো উপলব্ধি করে। আমরা উজ্জ্বল আলোর চেয়ে ম্লান আলোর আরও ক্রম দেখতে পাই, তাই যখন আমরা একটি উজ্জ্বল আলোর উজ্জ্বলতা নিচে নামি তখন আমরা যখন আলো নিভে যাওয়ার চেয়ে আরও নিচে নেমে যাই যেমন আমরা একটি রৈখিক পদক্ষেপে নামছি মানুষের চোখে ফ্যাশন। এই পরিবর্তনের একটি পার্শ্বপ্রতিক্রিয়া হল আমরা কম শক্তি ব্যবহার করে শেষ করি কারণ আমাদের পিক্সেলগুলি উজ্জ্বল (উচ্চ শক্তি) পরিসরের তুলনায় ম্লান (নিম্ন শক্তি) পরিসরে বেশি গ্রেডেশন শেষ করে।
আমাদের লুপ ফাংশনের শেষ দুটি লাইন এলইডিগুলিকে আপডেট করে যা আমরা ঠিক করেছি এবং তারপরে সিরিয়ালক্র্যাফট দ্বারা কল করা দরকার এমন হ্যান্ডলারদের কল করুন (এই ক্ষেত্রে লতা দূরত্বের ফাংশন, যদি আমরা সিরিয়ালক্রাফ্ট মোড থেকে লতা দূরত্বের বার্তা পেয়ে থাকি) ।
strip.show ();
sc.loop ();
আমাদের স্ক্রিপ্টের শেষ লাইন হল লতা ফাংশন, যেখানে আমরা সিরিয়ালক্রাফ্ট মোড আমাদের সেই তথ্য সহ একটি বার্তা পাঠালে নিকটতম লতার দূরত্ব সংরক্ষণ করি।
অকার্যকর লতা (int d) {dist = d; }
এখন আপনাকে কেবল কোডটি কম্পাইল এবং আপলোড করতে হবে!
ধাপ 4: ঘের
আমি লেজার আমার ঘেরের সমস্ত টুকরো কেটে ফেলি, যার মধ্যে একটি হিমযুক্ত এক্রাইলিক লতা, একটি পরিষ্কার এক্রাইলিক লতা, পাতলা পাতলা কাঠের 6 টুকরা, একটি আয়তক্ষেত্রাকার গর্তের সাথে এক্রাইলিক লতার আকার এবং ফাস্টেনারের জন্য কোণে ছিদ্র এবং 1 টুকরা পাতলা পাতলা কাঠ পিছনে ফাস্টেনার গর্ত আছে এবং তারের জন্য একটি বড় গর্ত আছে। NeoPixel স্টিক থেকে তারের সংযোগ বিচ্ছিন্ন করুন যাতে আমরা এটি আমাদের ঘেরের মধ্যে মাউন্ট করতে পারি। নীচের দুটি পিডিএফ ফাইল লেজার কাটার জন্য ব্যবহার করা যেতে পারে যা আমি বর্ণনা করেছি।
#2 কাঠের স্ক্রু এবং নাইলন স্পেসার ব্যবহার করে NeoPixel স্টিকটি পাতলা পাতলা কাঠের পিছনের অংশে মাউন্ট করা হয়। এক্রাইলিক লতাগুলি দুটি পাতলা পাতলা কাঠের টুকরো টুকরো টুকরো করে জ্যাম করা হয়। এটি করার আগে, নিশ্চিত করুন যে আপনি মনে রাখবেন কোন তারের রঙ লাঠির কোন প্যাডে যায়।
এক্রাইলিক লতাগুলি প্লাইউডের সাথে একটি খুব সুন্দর ফিট সরবরাহ করার জন্য গর্তের চেয়ে 1 ইঞ্চি বড় আকারের হয়।আমি তারের স্ট্রিপারগুলির হ্যান্ডেলটি ব্যবহার করে প্রতিটি কোণে মনোযোগী চাপ দিয়েছিলাম এবং পুরো লতার চারপাশে কাজ করেছিলাম এমনকি একটি ফিট হওয়ার জন্য। বিকল্পভাবে, এক্রাইলিক লেজার পিডিএফ -এ একটি লতা রয়েছে যা টুকরো টুকরো করে খোদাই করা হয় যাতে ফাস্টেনার গর্তের সাথে ঘেরের সম্পূর্ণ মুখের আকার থাকে যাতে আপনি ছোট এক্রাইলিক লতার সাথে আঁটসাঁট হওয়া এড়াতে পারেন।
ফ্রস্টেড এক্রাইলিক পৃথক LEDs থেকে আলো বিতরণ করে এবং স্পষ্ট এক্রাইলিক লতা খোদাইকে আরও ভালভাবে দেখায়, তাই উভয়টি এককভাবে পৃথকভাবে আমার চেয়ে ভাল দেখাচ্ছে। লতাগুলি একবার হয়ে গেলে, আপনার সমস্ত পাতলা পাতলা কাঠের টুকরোগুলি একসাথে স্ট্যাক করুন এবং সেগুলি এম 3 মেশিন স্ক্রু এবং বাদাম দিয়ে একসাথে বেঁধে দিন। তারপর 5V, GND এবং 12 পিনে তারের পুন reconসংযোগ করুন।
ধাপ 5: Minecraft Forge এবং SerialCraft Mod
একটি Minecraft অ্যাকাউন্ট তৈরি করে শুরু করুন, তারপর Minecraft ক্লায়েন্ট ডাউনলোড এবং ইনস্টল করুন।
সিরিয়ালক্রাফ্ট মোড ইনস্টল করতে সক্ষম হওয়ার জন্য আপনার 1.7.10 সংস্করণের জন্য মাইনক্রাফ্ট ফোর্জের প্রয়োজন হবে। 1.7.10 Minecraft Forge ডাউনলোড পৃষ্ঠায় যান। মাইনক্রাফ্ট ফোর্জ সাইটে প্রচুর বিজ্ঞাপন রয়েছে যা আপনাকে ভুল জিনিসটি ক্লিক করতে এবং অন্য কোথাও নিয়ে যেতে চায়। আপনি সঠিক পথে থাকুন তা নিশ্চিত করতে উপরের ছবিগুলি অনুসরণ করুন! আপনি প্রস্তাবিত 1.7.10 সংস্করণের অধীনে ইনস্টলার বোতামটি ক্লিক করতে চান (অথবা সর্বশেষ, আমি পার্থক্যটি সম্পর্কে নিশ্চিত নই)। আপনাকে পৃষ্ঠার শীর্ষে একটি ব্যানার সহ একটি পৃষ্ঠায় নিয়ে যাওয়া হবে যেখানে লেখা আছে "এই শিরোনামের নীচের বিষয়বস্তু একটি বিজ্ঞাপন। কাউন্ট-ডাউন করার পরে, আপনার ফোরজ ডাউনলোড শুরু করতে ডানদিকে স্কিপ বাটনে ক্লিক করুন।" নিশ্চিত করুন যে আপনি কাউন্ট ডাউন এর জন্য অপেক্ষা করছেন এবং তারপর ডাউনলোড শুরু করতে Skip বাটনে ক্লিক করুন।
ডাউনলোড শেষ হওয়ার পর ইনস্টলারে ডাবল ক্লিক করুন। ডিফল্ট চেক করা ছেড়ে দিন (ক্লায়েন্ট ইনস্টল করুন এবং ডিফল্ট পাথ যা এটি নির্দিষ্ট করে), তারপর ওকে ক্লিক করুন। এটি Minecraft Forge ইনস্টল করবে। এটি শেষ হলে আপনি মাইনক্রাফ্ট লঞ্চারটি শুরু করতে সক্ষম হবেন, তবে ফোরজের 1.7.10 সংস্করণটি নির্বাচন করার জন্য একটি অতিরিক্ত বিকল্প থাকবে (উপরের চিত্রটি দেখুন)।
এখন আমাদের আপনার মোড ডিরেক্টরিতে সিরিয়ালক্রাফ্ট মোড ইনস্টল করতে হবে। সিরিয়ালক্রাফ্ট মোডের সর্বশেষ সংস্করণটি এখানে ডাউনলোড করুন। আপনার jssc লাইব্রেরিরও প্রয়োজন হবে। উভয় ফাইল আনজিপ করুন, যা আপনাকে দুটি.jar ফাইল দিয়ে ছেড়ে দিতে হবে। আপনাকে সেই ফাইলগুলি আপনার মোডস ফোল্ডারে রাখতে হবে। উইন্ডোজে, আপনি স্টার্ট মেনু থেকে রান এ যেতে সক্ষম হবেন এবং রান এ ক্লিক করার আগে %appdata %\। Minecraft / mods লিখতে পারবেন। ম্যাক -এ, আপনি হোম/লাইব্রেরি/অ্যাপ্লিকেশন সাপোর্ট/মাইনক্রাফ্ট/মোডগুলিতে নেভিগেট করতে পারেন। আপনার সদ্য খোলা ফোল্ডারে দুটি.jar ফাইল ফেলে দিন। এখন Minecraft চালান এবং 1.7.10 ফোর্জ সংস্করণ চালু করুন। আপনি মোডগুলিতে ক্লিক করতে সক্ষম হবেন এবং বাম দিকে তালিকাভুক্ত সিরিয়ালক্রাফ্ট দেখতে পাবেন।
ধাপ 6: সিরিয়ালক্রাফ্ট মোড ব্যবহার করা
এখন যেহেতু আপনি সিরিয়ালক্রাফ্ট মোড ইনস্টল করেছেন, আপনাকে একটি বিশ্বে প্রবেশ করতে হবে এবং এটি ব্যবহার শুরু করতে হবে। একটি নতুন পৃথিবী তৈরি করুন অথবা আপনার সংরক্ষিত জগতের একটি খুলুন (যদি আপনি একটি মাল্টিপ্লেয়ার মানচিত্রে খেলতে চান, তাহলে আপনাকে নিশ্চিত করতে হবে যে সার্ভার এবং এর সাথে সংযুক্ত সমস্ত ক্লায়েন্ট সিরিয়ালক্রাফ্ট মোড ইনস্টল আছে)। নিশ্চিত করুন যে আপনার লতা আবিষ্কারক আপনার কম্পিউটারের সাথে সংযুক্ত আছে, তারপর K কী টিপুন। এটি উপরের চিত্রের মতো একটি ডায়ালগ নিয়ে আসা উচিত (উইন্ডোজে, /dev/tty.usbserial এর পরিবর্তে … এটি COM1 এর মতো কিছু বলা উচিত)। যদি কিছু না দেখানো হয়, নিশ্চিত করুন যে আপনি লতা আবিষ্কারক সংযুক্ত করেছেন। কানেক্ট বাটনে ক্লিক করুন, তারপর Escape চাপুন। যদি আপনার কোডটি সঠিকভাবে সংকলিত এবং আপলোড করা হয়, তাহলে আপনার লতা ডিটেক্টরটি ভাল হওয়া উচিত! যদি একটি লতা 32 টি ব্লকের মধ্যে থাকে তবে এটি জ্বলতে হবে। শুভ শিকার!
যদি আপনি এই নির্দেশযোগ্য পছন্দ করেন, তাহলে দয়া করে Minecraft প্রতিযোগিতা এবং Epliog চ্যালেঞ্জে এটির জন্য ভোট দেওয়ার কথা বিবেচনা করুন!
মাইনক্রাফ্ট চ্যালেঞ্জ 2018 -এ দ্বিতীয় পুরস্কার
প্রস্তাবিত:
সামাজিক দূরত্ব আবিষ্কারক: 7 টি ধাপ (ছবি সহ)
সামাজিক দূরত্ব আবিষ্কারক: সামাজিক দূরত্ব আবিষ্কারক: আমি ডেনভার কলোরাডো থেকে ওয়েন ও এবং আমি এই বছর 7 ম শ্রেণীতে পড়ব। আমার প্রকল্পের নাম সামাজিক দূরত্ব আবিষ্কারক! এই কঠিন সময়ে নিরাপদ রাখার জন্য নিখুঁত ডিভাইস। সামাজিক দূরত্ব সনাক্তকারীর উদ্দেশ্য
লতা-বিওটি (লতা পোষা প্রাণী): 9 টি ধাপ (ছবি সহ)
লতা-বিওটি (লতা পোষা প্রাণী): আমি সবসময় আমার নিজের একটি চতুর্ভুজ রোবট তৈরি করতে চেয়েছিলাম এবং মাইনক্রাফ্ট প্রতিযোগিতা একটি ভাল অজুহাত ছিল। তাছাড়া, আমি সত্যিই একটি লতা 'পোষা প্রাণী' চেয়েছিলাম এই নির্দেশাবলীতে আমি কিভাবে এটি তৈরি করেছি তা ভাগ করে নেব এবং যদি আপনি নিজের তৈরি করতে চান তবে আপনাকে একটি গাইড দেব। আমি ধরে নিচ্ছি আপনি
কিভাবে একটি নাইটলাইট লতা তৈরি করবেন: 5 টি ধাপ (ছবি সহ)
কীভাবে নাইটলাইট লতা তৈরি করবেন: হাই বন্ধুরা! এটি ফ্লপিম্যান 2! এই নতুন মাইনক্রাফ্ট চ্যালেঞ্জ দেখে আমাকে একটি ধারণা দেওয়া হয়েছিল … এটি আমাকে লতা-ভিত্তিক নাইটলাইট তৈরি করতে অনুপ্রাণিত করেছিল! আমি আশা করি আপনারা টিউটোরিয়ালটি উপভোগ করবেন এবং একটি ভোট দিতে ভুলবেন না
DIY ইউএসবি লতা নাইটলাইট: 8 টি ধাপ (ছবি সহ)
DIY ইউএসবি লতা নাইটলাইট: আপনি কি কখনও ভেবেছেন লতায় কী আছে? কিভাবে আপনার নিজের লতা এনাটমি তৈরীর সম্পর্কে! একটি ইউএসবি লতা তৈরি করুন যা জ্বলজ্বল করে! আপনি এটি কিভাবে করবেন তা এখানে
বাধা এড়ানো Minecraft লতা রোবট: 7 ধাপ
বাধা-এড়ানো মাইনক্রাফ্ট লতা রোবট: এই রোবটটি মাইনক্রাফ্ট চ্যালেঞ্জ, এপিলগ চ্যালেঞ্জ IX এবং প্রথমবারের লেখক প্রতিযোগিতার জন্য তৈরি করা হয়েছিল। এটি সবচেয়ে আইকনিক মাইনক্রাফ্ট জনতার উপর ভিত্তি করে: লতা। এই রোবটটি একটি 3 ডি-প্রিন্টেড শেল ব্যবহার করে, তাই আপনার একটিতে অ্যাক্সেস থাকা দরকার