সুচিপত্র:
- সরবরাহ
- ধাপ 1: উপকরণ
- ধাপ 2: সংযোগ চিত্র
- ধাপ 3: SPI এর জন্য কনফিগার করুন
- ধাপ 4: কোড
- ধাপ 5: ফলাফল
- ধাপ 6: CrowPi2- উপকরণ ব্যবহার করা
- ধাপ 7: CrowPi2- সংযোগ ডায়াগ্রাম ব্যবহার করে
- ধাপ 8: CrowPi2 ব্যবহার করে- SPI এর জন্য কনফিগার করুন
- ধাপ 9: CrowPi2- কোড ব্যবহার করে
- ধাপ 10: CrowPi2 ব্যবহার করে-ফলাফল
- ধাপ 11: CrowPi2 ব্যবহার করা- আরও এগিয়ে যাওয়া
ভিডিও: মাইনক্রাফ্ট রাস্পবেরি পাই সংস্করণ ব্যবহার করে রেনবো ইন্টারেক্টিভ ব্রিজ তৈরি করুন: 11 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
গতকাল, আমি আমার 8 বছর বয়সী ভাতিজাকে রাস্পবেরি পাই দিয়ে মাইনক্রাফ্ট খেলতে দেখেছি যা আমি তাকে আগে দিয়েছিলাম, তারপর আমি একটি ধারণা পেয়েছিলাম, এটি একটি কাস্টমাইজড এবং উত্তেজনাপূর্ণ Minecraft-pi LED ব্লক প্রকল্প তৈরির জন্য কোড ব্যবহার করছে। মাইনক্রাফ্ট পাই রাস্পবেরি পাই মাইক্রোকম্পিউটারের সাথে শুরু করার একটি দুর্দান্ত উপায়, মাইনক্রাফ্ট পাই মাইনক্রাফ্টের একটি বিশেষ কাস্টম তৈরি সংস্করণ যা আমাদের গেমের অভিজ্ঞতা এবং প্রপগুলিকে কাস্টমাইজ করার জন্য একটি মারাত্মক সহজ পাইথন এপিআই ব্যবহার করে গেমের সাথে যোগাযোগ করতে দেয়!
রাস্পবেরি পাই দিয়ে মাইনক্রাফ্ট বিশ্বে আপনি অনেকগুলি প্রকল্প করতে পারেন কিন্তু বিশেষ করে আমাদের জন্য এটি যথেষ্ট ছিল না, আমরা একই সাথে চ্যালেঞ্জিং এবং ঝলকানি কিছু খুঁজছিলাম। এই প্রকল্পে, আমরা একাধিক মাইনক্রাফ্ট ব্লকে পা রাখব, ব্লকের আইডি সনাক্ত করব এবং যে নির্দিষ্ট ব্লকের উপর আমরা পা রেখেছিলাম তার রঙ সনাক্ত করব, সেই রঙের উপর ভিত্তি করে আমরা ইন্টারেক্টিভ স্টেপস গেম তৈরির জন্য আমাদের RGB LED জ্বালাবো!
আমি প্রভাব অর্জনের জন্য দুটি পদ্ধতি ব্যবহার করব, প্রথমটি হল জিনিসপত্র ব্যবহার করা, যা খুব বিশৃঙ্খল হতে পারে…; দ্বিতীয়টি CrowPi2 ব্যবহার করে
আসুন শুরু করা যাক এবং দেখুন কিভাবে একটি আশ্চর্যজনক প্রকল্প সংরক্ষণাগারভুক্ত করা যায়!
সরবরাহ
CrowPi2 এখন কিক স্টার্টার এ লাইভ, The CrowPi2 প্রকল্পটি প্রায় $ 250k সংগ্রহ করেছে।
লিংকে ক্লিক করুন:
পদ্ধতি 1 আনুষাঙ্গিক ব্যবহার
ধাপ 1: উপকরণ
● 1 x রাস্পবেরি পাই 4 মডেল বি
With ইমেজ সহ 1 x TF কার্ড
● 1 x রাস্পবেরি পাই পাওয়ার সাপ্লাই
● 1 x 10.1 ইঞ্চি মনিটর
Monitor 1 x মনিটরের জন্য পাওয়ার সাপ্লাই
● 1 x HDMI কেবল
X 1 x কীবোর্ড এবং মাউস
X 1 x আরজিবি নেতৃত্বাধীন (সাধারণ ক্যাথোড)
X 4 x জাম্পার (মহিলা থেকে মহিলা)
ধাপ 2: সংযোগ চিত্র
আরজিবি কালার এলইডি -তে আসলে তিনটি লাইট আছে, যেগুলো হল লাল আলো, সবুজ আলো এবং নীল আলো। বিভিন্ন তীব্রতার আলো নির্গত করতে এই তিনটি লাইট নিয়ন্ত্রণ করুন এবং মিশ্রিত হলে তারা বিভিন্ন রঙের আলো নির্গত করতে পারে। LED আলোর চারটি পিন যথাক্রমে GND, R, G, এবং B। আমি যে RGB LED ব্যবহার করেছি তা হল একটি সাধারণ ক্যাথোড, এবং রাস্পবেরি পাই এর সংযোগ নিম্নরূপ:
RaspberryPi 4B (ফাংশন নামে) RGB LED
GPIO0 1 লাল
GPIO1 3 সবুজ
GPIO2 4 নীল
GND 2 GND
দ্বিতীয় ছবিটি হল হার্ডওয়্যার সংযোগ
ধাপ 3: SPI এর জন্য কনফিগার করুন
যেহেতু আমাদের RGB নিয়ন্ত্রণ করতে SPI ব্যবহার করতে হবে, আমাদের প্রথমে SPI ইন্টারফেস সক্ষম করতে হবে, যা ডিফল্টরূপে অক্ষম। SPI ইন্টারফেস সক্ষম করতে আপনি নিচের ধাপগুলো অনুসরণ করতে পারেন:
প্রথমত, আপনি Pi স্টার্ট মেনুপ্রেফারেন্স রাস্পবেরি পাই কনফিগারেশনের শিরোনামে ডেস্কটপ GUI ব্যবহার করতে পারেন, যেমনটি প্রথম ছবিতে দেখানো হয়েছে।
দ্বিতীয়ত, "ইন্টারফেস" এ নেভিগেট করুন এবং SPI সক্ষম করুন এবং ঠিক আছে (দ্বিতীয় ছবি) ক্লিক করুন।
সর্বশেষ, পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনার পাই পুনরায় চালু করুন। Pi Start MenuPreferencesShutdown এ ক্লিক করুন। যেহেতু আমাদের কেবল পুনরায় চালু করতে হবে, তাই রিবুট বোতামে ক্লিক করুন।
ধাপ 4: কোড
আমরা আমাদের পাইথন কোড লিখে শুরু করব, প্রথমে, আমরা কয়েকটি লাইব্রেরি আমদানি করে শুরু করব যা আমাদের কোডকে মাইনক্রাফ্ট জগতের সাথে সংহত করার জন্য প্রয়োজন হবে। তারপরে, আমরা টাইম লাইব্রেরি আমদানি করব, বিশেষ করে ঘুম নামে একটি ফাংশন। স্লিপ ফাংশন আমাদের একটি ফাংশন করার আগে একটি নির্দিষ্ট বিরতি অপেক্ষা করার অনুমতি দেবে। সর্বশেষ কিন্তু অন্তত নয়, আমরা RPi. GPIO লাইব্রেরি আমদানি করি যা আমাদের রাস্পবেরি পাইতে GPIO নিয়ন্ত্রণ করতে দেয়।
mcpi.minecraft থেকে Minecraft আমদানি সময় থেকে আমদানি ঘুম আমদানি RPi. GPIO GPIO হিসাবে
এবং এটাই, আমরা লাইব্রেরিগুলি আমদানি করার কাজ করেছি, এখন সেগুলি ব্যবহারের সময়! প্রথম জিনিসটি হল, মাইনক্রাফ্ট লাইব্রেরি ব্যবহার করা, আমরা আমাদের পাইথন স্ক্রিপ্টকে মাইনক্রাফ্ট জগতের সাথে সংযুক্ত করতে চাই, আমরা এমসিপিআই লাইব্রেরির init () ফাংশন চালু করে এটি করতে পারি এবং তারপর জিপিআইও মোড সেট করে সতর্কতা অক্ষম করতে পারি।
mc = Minecraft.create () GPIO.setmode (GPIO. BCM) GPIO.setwarnings (0)
এখন, আমরা কিছু রংধনু রংকে হেক্সাডেসিমালে সংজ্ঞায়িত করি যাতে আমরা RGB রং পরিবর্তন করতে পারি।
সাদা = 0xFFFFFF RED = 0xFF0000 ORANGE = 0xFF7F00 YELLOW = 0xFFFF00 GREEN = 0x00FF00 CYAN = 0x00FFFF BLUE = 0x0000FF PURPLE = 0xFF00FF MAGENTA = 0xFFFFF MAGENTA
এর পরে, উল ব্লকের রঙ রেকর্ড করার জন্য আমাদের কিছু ভেরিয়েবল সংজ্ঞায়িত করতে হবে, যা ইতিমধ্যে মাইনক্রাফ্ট ব্লক তালিকায় সংজ্ঞায়িত করা হয়েছে।
W_WHITE = 0 W_RED = 14 W_ORANGE = 1 W_YELLOW = 4 W_GREEN = 5 W_CYAN = 9 W_BLUE = 11 W_PURPLE = 10 W_MAGENTA = 2
আমরা মাইনক্রাফ্টে উল ব্লকের আইডি.৫। এখন, আমাদের RGB নেতৃত্বের জন্য পিন কনফিগার করতে হবে এবং তাদের জন্য সেট আপ করতে হবে।
লাল_পিন = 17 সবুজ_পিন = 18 নীল_পিন = 27
GPIO.setup (red_pin, GPIO. OUT, initial = 1) GPIO.setup (green_pin, GPIO. OUT, initial = 1) GPIO.setup (blue_pin, GPIO. OUT, initial = 1)
তারপর, প্রতিটি পিনের জন্য PWM সেট আপ করুন, মনে রাখবেন PWM মানের পরিসীমা 0-100। এখানে, আমরা প্রথমে RGB- এর রঙ সাদা (100, 100, 100) এর দিকে সেট করেছি।
লাল = GPIO. PWM (red_pin, 100)
সবুজ = GPIO. PWM (green_pin, 100) নীল = GPIO. PWM (blue_pin, 100) red.start (100) green.start (100) blue.start (100)
নিম্নলিখিত দুটি ফাংশন তৈরি করতে হয়, যা রঙ ডিকোড করতে এবং RGB নেতৃত্বাধীন আলোতে ব্যবহার করা যেতে পারে! উল্লেখ্য যে map2hundred () ফাংশন মান 255 থেকে 100 পর্যন্ত মানচিত্র করা, যেমনটি আমরা আগেই বলেছি, PWM মান 0-100 হওয়া উচিত।
def map2hundred (value): return int (value * 100 /255)
def set_color (color_code): # Decode red_value = color_code >> 16 & 0xFF green_value = color_code >> 8 & 0xFF blue_value = color_code >> 0 & 0xFF
# মানচিত্রের মান red_value = map2hundred (red_value) green_value = map2hundred (green_value) blue_value = map2hundred (blue_value)
# আলো জ্বালান! red. ChangeDutyCycle (red_value) green. ChangeDutyCycle (green_value) blue. ChangeDutyCycle (blue_value)
সাবাশ! আমাদের প্রধান প্রোগ্রাম শুরু করার সময় এসেছে, অপেক্ষা করুন, মূল প্রোগ্রামের আগে উল ব্লকের রঙ কোড রেকর্ড করার জন্য আরেকটি পরিবর্তনশীল সংজ্ঞায়িত করা উচিত:
last_data = 0 try: x, y, z = mc.player.getPos () mc.setBlocks (x, y, z, x+1, y, z+2, 35, 14) mc.setBlocks (x+2, y+1, z, x+3, y+1, z+2, 35, 11) mc.setBlocks (x+4, y+2, z, x+5, y+2, z+2, 35, 2) mc.setBlocks (x+6, y+3, z, x+7, y+3, z+2, 35, 5) mc.setBlocks (x+8, y+4, z, x+9, y+4, z+2, 35, 4) mc.setBlocks (x+10, y+5, z, x+11, y+5, z+2, 35, 10) mc.setBlocks (x+12, y+6, z, x+13, y+6, z+2, 35, 1) mc.setBlocks (x+14, y+5, z, x+15, y+5, z+2, 35, 10) mc.setBlocks (x+16, y+4, z, x+17, y+4, z+2, 35, 4) mc.setBlocks (x+18, y+3, z, x+19, y+3, z+2, 35, 5) mc.setBlocks (x+20, y+2, z, x+21, y+2, z+2, 35, 2) mc.setBlocks (x+22, y+1, z, x+23, y+1, z+2, 35, 11) mc.setBlocks (x+24, y, z, x+25, y, z+2, 35, 14) যখন সত্য: x, y, z = mc.player.getPos () # প্লেয়ার পজিশন (x, y, z) block = mc.getBlockWithData (x, y-1, z) # block ID #print (block) if block.id == WOOL এবং শেষ_ডাটা! block.data == W_ YELLOW: print ("Yellow!") Set_color (YELLOW) if block.data == W_GREEN: print ("Green!") Set_color (GREEN) যদি block.data == W_CYAN: print ("Cyan!") Set_color (CYAN)) যদি block.data == W_BLUE: print ("নীল!") set_color (BLUE) যদি block.data == W_PURPLE: print ("বেগুনি!") set_color (PURPLE) হলে block.data == W_MAGENTA: print (" ম্যাজেন্টা! ") Set_color (MAGENTA) যদি block.data == W_WHITE: মুদ্রণ (" সাদা! ")
যেহেতু মূল প্রোগ্রামটি উপরে দেখানো হয়েছে, প্রথমে কিছু রঙিন উলের ব্লক তৈরির জন্য কিছু কমান্ড ব্যবহার করতে হবে, তারপরে আমাদের প্লেয়ারের অবস্থান খুঁজে বের করতে হবে যাতে আমরা ব্লকের আইডি এবং এর রঙ কোড পেতে পারি। ব্লকের তথ্য পাওয়ার পর, আমরা বিবৃতিটি ব্যবহার করব প্লেয়ারের নীচে থাকা ব্লকটি উলের ব্লক কিনা এবং এটির কালার কোড আছে কিনা তা নির্ধারণ করতে। যদি হ্যাঁ, উল ব্লকটি কোন রঙ তা বিচার করুন এবং RGB এর রঙ পরিবর্তন করার জন্য set_color () ফাংশনটিকে উল ব্লকের মতোই নেতৃত্ব দিন।
এছাড়াও, আমরা GPIO পিনের আউটপুট সাফ করার জন্য যখন প্রোগ্রামটি ছেড়ে দিতে চাই তখন ব্যবহারকারীর বিরতির ব্যতিক্রম ধরার জন্য আমরা চেষ্টা/ব্যতীত বিবৃতি যোগ করি।
সংযুক্ত সম্পূর্ণ কোড।
ভাল হয়েছে, অনেক আনুষাঙ্গিক এবং খুব জটিল ডান? চিন্তা করবেন না, প্রকল্পটি অর্জনের দ্বিতীয় পদ্ধতিটি দেখুন, যা আপনাকে আরও নমনীয় এবং সুবিধাজনক মনে করবে, যা আমাদের ক্রোপি 2 ব্যবহার করছে!
ধাপ 5: ফলাফল
গেমটি খুলুন এবং স্ক্রিপ্টটি চালান, আপনি উপরের ভিডিওতে ফলাফল দেখতে পাবেন
তারপর আমরা রেইনবো ইন্টারেক্টিভ ব্রিজ তৈরি করতে CrowPi2 ব্যবহার করব
ধাপ 6: CrowPi2- উপকরণ ব্যবহার করা
● 1 x CrowPi2
ধাপ 7: CrowPi2- সংযোগ ডায়াগ্রাম ব্যবহার করে
দরকার নেই. CrowPi2 তে অনেক দরকারী সেন্সর এবং উপাদান (20 এর বেশি) রয়েছে, এটি সবই একটি রাস্পবেরি পাই ল্যাপটপ এবং STEM শিক্ষা প্ল্যাটফর্মে যা আমাদের সহজেই এবং কোন ঘাম ছাড়াই একাধিক প্রকল্প করতে দেয়! এই ক্ষেত্রে, আমরা CrowPi2 তে একটি আকর্ষণীয় এবং রঙিন মডিউল ব্যবহার করব, যা একটি 8x8 RGB ম্যাট্রিক্স মডিউল, যা আমাদের একই সাথে 64 RGB নেতৃত্বাধীন নিয়ন্ত্রণ করতে দেয়!
ধাপ 8: CrowPi2 ব্যবহার করে- SPI এর জন্য কনফিগার করুন
দরকার নেই. CrowPi2 একটি লার্নিং সিস্টেম সহ একটি অন্তর্নির্মিত চিত্র নিয়ে আসে! সবকিছু প্রস্তুত করা হয়েছে যার অর্থ আপনি প্রোগ্রাম করতে পারেন এবং সরাসরি শিখতে পারেন। এছাড়া, আমাদের CrowPi2 এর সাহায্যে এটি সহজ এবং ইতিমধ্যেই বোর্ডে একটি স্টিম প্ল্যাটফর্ম হিসাবে যেতে প্রস্তুত।
ধাপ 9: CrowPi2- কোড ব্যবহার করে
এখন, আমাদের প্রোগ্রাম শুরু করার সময়! প্রথমত, কয়েকটি লাইব্রেরি আমদানি করুন, যেমন এমসিপিআই লাইব্রেরি যা মাইনক্রাফ্ট পাই পাইথন লাইব্রেরি যা আমাদেরকে মাইনক্রাফ্ট জগতের সাথে একীভূত করার জন্য খুব সহজ এপিআই ব্যবহার করতে দেয়; টাইম লাইব্রেরি যা আমাদের একটি ফাংশন করার আগে একটি নির্দিষ্ট ব্যবধানে অপেক্ষা করার জন্য আমাদের ঘুমের কাজ করতে দেয়; RPi. GPIO লাইব্রেরি যা আমাদের রাস্পবেরি পাই GPIO পিনগুলি নিয়ন্ত্রণ করতে দেয়।
mcpi.minecraft থেকে Minecraft আমদানি সময় থেকে আমদানি ঘুম আমদানি RPi. GPIO GPIO হিসাবে
অবশেষে, আমরা rpi_ws281x নামে একটি লাইব্রেরি আমদানি করব যা আরজিবি ম্যাট্রিক্স লাইব্রেরি, লাইব্রেরির ভিতরে, একাধিক ফাংশন রয়েছে যা আমরা LED স্ট্রিপ অবজেক্ট সেটআপ করার জন্য পিক্সেল স্ট্রিপ ব্যবহার করব এবং একটি RGB কালার অবজেক্ট কনফিগার করার জন্য রঙ আমাদের RGB LEDs
Rpi_ws281x থেকে PixelStrip, Color আমদানি করুন
এবং এটাই, আমরা লাইব্রেরিগুলি আমদানি করার কাজ করেছি, এখন সেগুলি ব্যবহারের সময়! একইভাবে, প্রথম জিনিস হল মাইনক্রাফ্ট লাইব্রেরি ব্যবহার করা, আমরা আমাদের পাইথন স্ক্রিপ্টকে মাইনক্রাফ্ট জগতের সাথে সংযুক্ত করতে চাই আমরা এমসিপিআই লাইব্রেরির init ফাংশন চালু করে এটি করতে পারি:
mc = Minecraft.create ()
এখন যখনই আমরা মাইনক্র্যাট বিশ্বে অপারেশন করতে চাই, আমরা mc অবজেক্ট ব্যবহার করতে পারি।
পরবর্তী ধাপটি হবে RGB LED ম্যাট্রিক্স ক্লাসকে সংজ্ঞায়িত করা যা আমরা আমাদের RGB LED গুলিকে নিয়ন্ত্রণ করতে ব্যবহার করব, আমরা ক্লাসটি প্রাথমিক কনফিগারেশনের সাথে শুরু করি যেমন লেড, পিন, ব্রাইটনেস ইত্যাদি …
আমরা ক্লিন নামক একটি ফাংশন তৈরি করি যা নির্দিষ্ট রং দিয়ে কম "পরিষ্কার" করবে এবং রান নামক একটি ফাংশন যা প্রথমবার ব্যবহার করতে চাইলে প্রকৃত RGB LED বস্তুর সূচনা করবে।
ক্লাস RGB_Matrix:
def _init _ (স্ব):
# LED স্ট্রিপ কনফিগারেশন:
self. LED_COUNT = 64 # LED পিক্সেলের সংখ্যা।
self. LED_PIN = 12 # GPIO পিন পিক্সেলের সাথে সংযুক্ত (18 PWM ব্যবহার করে!)।
স্বয়ং। LED_FREQ_HZ = 800000 # হার্টজে LED সংকেত ফ্রিকোয়েন্সি (সাধারণত 800khz)
self. LED_DMA = 10 # DMA চ্যানেল সিগন্যাল উৎপাদনের জন্য ব্যবহার করুন (10 চেষ্টা করুন)
self. LED_BRIGHTNESS = 10 # অন্ধকারের জন্য 0 এবং উজ্জ্বল জন্য 255 সেট করুন
self. LED_INVERT = মিথ্যা # সংকেত উল্টানোর জন্য সত্য
self. LED_CHANNEL = 0 # জিপিআইও 13, 19, 41, 45 বা 53 এর জন্য '1' সেট
# ফাংশনগুলি সংজ্ঞায়িত করুন যা বিভিন্ন উপায়ে LEDs কে অ্যানিমেট করে। ডিফ পরিষ্কার (স্ব, স্ট্রিপ, রঙ):
# একবারে সমস্ত LED গুলি মুছুন
আমি পরিসরে (strip.numPixels ()):
strip.setPixelColor (i, color)
strip.show ()
ডিফ রান (স্ব):
# উপযুক্ত কনফিগারেশন সহ NeoPixel বস্তু তৈরি করুন।
strip = PixelStrip (স্বয়ং। LED_COUNT, স্বয়ং। LED_PIN, স্বয়ং। LED_FREQ_HZ, স্বয়ং। LED_DMA, স্বয়ং। LED_INVERT, স্ব। LED_BRIGHTNESS, স্বয়ং। LED_CHANNEL)
চেষ্টা করুন:
রিটার্ন স্ট্রিপ
কীবোর্ড ব্যতীত:
# বাধা দেওয়ার আগে ম্যাট্রিক্স LED পরিষ্কার করুন
স্ব -পরিষ্কার (ফালা)
আমরা উপরেরগুলি সম্পন্ন করার পরে, সেই ক্লাসগুলি চালু করার এবং আমরা আমাদের কোডে ব্যবহার করতে পারি এমন বস্তু তৈরি করার সময়, প্রথমে একটি RGB LED ম্যাট্রিক্স বস্তু তৈরি করা যাক যা আমরা আমাদের তৈরি করা ক্লাস ব্যবহার করে ব্যবহার করতে পারি:
matrixObject = RGB_Matrix ()
এখন আসুন এই বস্তুটিকে সক্রিয় LED স্ট্রিপ অবজেক্ট তৈরিতে ব্যবহার করি যা আমরা RGB ম্যাট্রিক্সে আমাদের স্বতন্ত্র LED গুলিকে নিয়ন্ত্রণ করতে ব্যবহার করব:
strip = matrixObject.run ()
অবশেষে এই স্ট্রিপটি সক্রিয় করার জন্য, আমাদের একটি শেষ ফাংশন চালাতে হবে:
strip.begin ()
মাইনক্রাফ্ট এপিআইতে প্রচুর ব্লক রয়েছে, প্রতিটি মাইনক্রাফ্ট ব্লকের নিজস্ব আইডি রয়েছে। আমাদের উদাহরণে আমরা কিছু পরিমাণ মাইনক্রাফ্ট ব্লক নিয়েছি এবং অনুমান করার চেষ্টা করেছি যে তাদের জন্য কোন রঙটি সবচেয়ে উপযুক্ত।
RGB মানে হল লাল, সবুজ এবং নীল তাই আমাদের প্রত্যেকের জন্য 0 থেকে 255 পর্যন্ত 3 টি ভিন্ন মানের প্রয়োজন হবে, রং HEX বা RGB ফর্ম্যাট হতে পারে, আমরা আমাদের উদাহরণের জন্য RGB ফর্ম্যাট ব্যবহার করছি।
মাইনক্রাফ্ট পাই বিশ্বে সাধারণ ব্লক আইডি এবং বিশেষ উলের ব্লক আইডি রয়েছে, বিশেষ উল আইডি 35 নম্বরের অধীনে আসে কিন্তু উপ সংখ্যাগুলি বিভিন্ন আইডি পর্যন্ত রয়েছে … আমরা 2 টি পৃথক তালিকা তৈরি করে এই সমস্যার সমাধান করব, একটি সাধারণ ব্লকের জন্য এবং বিশেষ উল ব্লকগুলির জন্য একটি তালিকা:
প্রথম তালিকাটি সাধারণ ব্লকের জন্য, উদাহরণস্বরূপ 0 এয়ার ব্লকের প্রতিনিধিত্ব করে, আমরা এটির রঙ 0, 0, 0 সেট করব যা ফাঁকা বা সম্পূর্ণ সাদা, যখন খেলোয়াড় ঝাঁপ দেবে বা খেলায় উড়বে আরজিবি বন্ধ হবে, 1 আরজিবি রঙ 128, 128, 128 এবং এর সাথে ভিন্ন ব্লক …
#রেইনবো কালারস
রংধনু_ রং = {
"0": রঙ (0, 0, 0), "1": রঙ (128, 128, 128), "2": রঙ (0, 255, 0), "3": রঙ (160, 82, 45), "4": রঙ (128, 128, 128), "22": রঙ (0, 0, 255)
}
পশম ব্লকের জন্য আমরা একই কাজ করি কিন্তু এটা মনে রাখা জরুরী যে সব ব্লকের একটি আইডি 35৫, এই তালিকায় আমরা ব্লকের উপপ্রকার নির্ধারণ করি যা উল ব্লক। বিভিন্ন পশম উপ প্রকারের বিভিন্ন রং আছে কিন্তু এগুলি সবই পশম ব্লক।
উলের রং = {
"6": রঙ (255, 105, 180), "5": রঙ (0, 255, 0), "4": রঙ (255, 255, 0), "14": রঙ (255, 0, 0), "2": রঙ (255, 0, 255)
}
এখন যখন আমরা আমাদের প্রধান প্রোগ্রাম, ক্লাস এবং ফাংশন নির্ধারণ করা শেষ করেছি, তখন আমাদের CrowPi2 RGB LED বোর্ড সেন্সরে সংহত করার সময় এসেছে।
মূল প্রোগ্রামটি আমরা পূর্বে সংজ্ঞায়িত প্যারামিটারগুলি গ্রহণ করব এবং হার্ডওয়্যারের উপর প্রভাব ফেলব।
আমরা প্রতিটি ব্লকে মাইনক্রাফ্ট পাই এর ভিতরে যে পদক্ষেপগুলি করি তার উপর ভিত্তি করে তাদের আলোকিত করার জন্য আমরা ক্রোপিআই 2 আরজিবি এলইডি ব্যবহার করতে যাচ্ছি, আসুন শুরু করা যাক!
আমরা যা করব তা হল কমান্ড দিয়ে কিছু উল ব্লক তৈরি করা এবং কিছুক্ষণ লুপ তৈরি করা, যতক্ষণ আমরা গেমটি খেলছি ততক্ষণ প্রোগ্রামটি চালু রাখা।
আমাদের প্লেয়ার থেকে কিছু ডেটা পেতে হবে, প্লেয়ার পজিশন পাওয়ার জন্য প্রথমে আমরা player.getPos () কমান্ড ব্যবহার করি তারপর আমরা যে ব্লকটি বর্তমানে দাঁড়িয়ে আছি তা পেতে আমরা getBlockWithData () ব্যবহার করি (y কোঅর্ডিনেট হল -1 যা মানে খেলোয়াড়ের অধীনে)
x, y, z = mc.player.getPos ()
mc.setBlocks (x, y, z, x+1, y, z+2, 35, 14)
mc.setBlocks (x+2, y+1, z, x+3, y+1, z+2, 35, 11)
mc.setBlocks (x+4, y+2, z, x+5, y+2, z+2, 35, 2)
mc.setBlocks (x+6, y+3, z, x+7, y+3, z+2, 35, 5)
mc.setBlocks (x+8, y+4, z, x+9, y+4, z+2, 35, 4)
mc.setBlocks (x+10, y+5, z, x+11, y+5, z+2, 35, 10)
mc.setBlocks (x+12, y+6, z, x+13, y+6, z+2, 35, 1)
mc.setBlocks (x+14, y+5, z, x+15, y+5, z+2, 35, 10)
mc.setBlocks (x+16, y+4, z, x+17, y+4, z+2, 35, 4)
mc.setBlocks (x+18, y+3, z, x+19, y+3, z+2, 35, 5)
mc.setBlocks (x+20, y+2, z, x+21, y+2, z+2, 35, 2)
mc.setBlocks (x+22, y+1, z, x+23, y+1, z+2, 35, 11)
mc.setBlocks (x+24, y, z, x+25, y, z+2, 35, 14)
যখন সত্য:
x, y, z = mc.player.getPos () # প্লেয়ার পজিশন (x, y, z)
blockType, data = mc.getBlockWithData (x, y-1, z) # block ID
মুদ্রণ (ব্লকটাইপ)
তারপর আমরা চেক করব যে ব্লকটি উল ব্লক, ব্লক আইডি নম্বর 35, যদি তা হয় তবে আমরা ডিকশনারির আইডির উপর ভিত্তি করে ব্লকের রঙের সাথে wool_colors উল্লেখ করব এবং সেই অনুযায়ী সঠিক রঙটি আলোকিত করব।
যদি blockType == 35:
# কাস্টম উল রঙ
matrixObject.clean (স্ট্রিপ, উল_ কালার [str (ডেটা)])
যদি এটি উলের ব্লক না হয়, তবে ব্যতিক্রমগুলি এড়ানোর জন্য ব্লকটি বর্তমানে রামধনু_কলার্স ডিকশনারির মধ্যে আছে কিনা তা আমরা পরীক্ষা করে দেখব, যদি তা হয় তবে আমরা রঙ গ্রহণ এবং RGB পরিবর্তন করে চালিয়ে যাব।
যদি str (blockType) in rainbow_colors:
মুদ্রণ (রামধনু_ রং [str (blockType)])
matrixObject.clean (স্ট্রিপ, রেইনবো_ কালার [str (blockType)])
ঘুম (0.5)
আপনি সবসময় চেষ্টা করুন এবং আরো রং এবং আরো ব্লক সমর্থন যোগ করার জন্য রংধনু রঙে আরো ব্লক যোগ করতে পারেন!
নিখুঁত! আনুষাঙ্গিক ব্যবহার করে প্রকল্পগুলি করা জটিল কিন্তু CrowPi2 সমন্বিত সার্কিট ব্যবহার করে, জিনিসগুলি অনেক সহজ হয়ে যায়! আরও কি, CrowPi2 তে 20 টিরও বেশি সেন্সর এবং উপাদান রয়েছে, যা আপনাকে আপনার আদর্শ প্রকল্প এবং এমনকি এআই প্রকল্পগুলি অর্জন করতে দেয়!
নিচে সম্পূর্ণ কোড দেওয়া হল:
ধাপ 10: CrowPi2 ব্যবহার করে-ফলাফল
গেমটি খুলুন এবং স্ক্রিপ্টটি চালান, আপনি উপরের ভিডিওতে ফলাফল দেখতে পাবেন:
ধাপ 11: CrowPi2 ব্যবহার করা- আরও এগিয়ে যাওয়া
এখন আমরা CrowPi2 দিয়ে Minecraft গেমে আমাদের রঙিন প্রকল্প শেষ করেছি। গেমের সাথে খেলতে CrowPi2- এর অন্যান্য সেন্সর এবং উপাদানগুলি ব্যবহার করার চেষ্টা করবেন না, যেমন খেলোয়াড়ের চলাচল নিয়ন্ত্রণের জন্য জয়স্টিক, বিভিন্ন NFC কার্ডের উপর ভিত্তি করে ব্লক তৈরি করার জন্য RFID এবং ইত্যাদি CrowPi2- এ আপনার গেমটি নিয়ে মজা করুন এবং আশা করি আপনি করতে পারেন CrowPi2 এর সাথে আরো অবিশ্বাস্য প্রকল্প!
এখন, CrowPi2 এখন Kickstarter এ আছে, আপনিও আকর্ষণীয় মূল্য উপভোগ করতে পারেন।
Kickstarter পৃষ্ঠার লিঙ্ক CrowPi2 সংযুক্ত করুন
প্রস্তাবিত:
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
কিভাবে Arduino UNO ব্যবহার করে ড্রোন তৈরি করবেন - মাইক্রোকন্ট্রোলার ব্যবহার করে একটি চতুর্ভুজ তৈরি করুন: 8 টি ধাপ (ছবি সহ)
কিভাবে Arduino UNO ব্যবহার করে ড্রোন তৈরি করবেন | মাইক্রোকন্ট্রোলার ব্যবহার করে একটি চতুর্ভুজ তৈরি করুন: ভূমিকা আমার ইউটিউব চ্যানেল পরিদর্শন করুন একটি ড্রোন কিনতে একটি খুব ব্যয়বহুল গ্যাজেট (পণ্য)। এই পোস্টে আমি আলোচনা করতে যাচ্ছি, আমি কিভাবে এটি সস্তায় তৈরি করব ?? এবং কিভাবে আপনি সস্তা দামে আপনার নিজের মত এটি তৈরি করতে পারেন… ভাল ভারতে সব উপকরণ (মোটর, ইএসসি)
M5stick-C সহ Neopixel Ws2812 Rainbow LED Glow - Arpino IDE ব্যবহার করে M5stack M5stick C ব্যবহার করে Neopixel Ws2812 তে রেনবো চালাচ্ছে: 5 টি ধাপ
M5stick-C সহ Neopixel Ws2812 Rainbow LED Glow | Arduino IDE ব্যবহার করে M5stack M5stick C ব্যবহার করে Neopixel Ws2812 তে রেনবো চালানো: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা শিখব কিভাবে neopixel ws2812 LEDs বা LED স্ট্রিপ বা LED ম্যাট্রিক্স বা LED রিং ব্যবহার করতে হয় m5stack m5stick-C ডেভেলপমেন্ট বোর্ড Arduino IDE দিয়ে এবং আমরা তৈরি করব এর সাথে একটি রামধনু প্যাটার্ন
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা - রাস্পবেরি পাই 3B দিয়ে শুরু করা - আপনার রাস্পবেরি পাই 3: 6 ধাপ সেট আপ করা হচ্ছে
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা | রাস্পবেরি পাই 3B দিয়ে শুরু করা | আপনার রাস্পবেরি পাই 3 সেট আপ করা: আপনারা কেউ কেউ জানেন যে রাস্পবেরি পাই কম্পিউটারগুলি বেশ দুর্দান্ত এবং আপনি কেবলমাত্র একটি ছোট বোর্ডে পুরো কম্পিউটারটি পেতে পারেন। 1.2 GHz এ ঘড়ি। এটি পাই 3 কে মোটামুটি 50 রাখে
মনিটর বা কীবোর্ড ছাড়া ডায়েট পাই ব্যবহার করে রাস্পবেরি পাই সেটআপ করুন: 24 টি ধাপ
মনিটর বা কীবোর্ড ছাড়া ডায়েট পাই ব্যবহার করে রাস্পবেরি পাই সেটআপ করুন: এই নির্দেশনাটি অপ্রচলিত। অনুগ্রহ করে ব্যবহার করুন: DietPi SetupNOOBS- এর জন্য একটি মনিটর, কীবোর্ড এবং মাউস প্রয়োজন, যা ~ $ 60 (USD) বা তার বেশি খরচ যোগ করে। যাইহোক, একবার ওয়াই-ফাই কাজ করলে, এই ডিভাইসগুলির আর প্রয়োজন হয় না। সম্ভবত, ডায়েটপি ইউএসবি সমর্থন করবে