विषयसूची:

Minecraft रास्पबेरी पाई संस्करण का उपयोग करके इंद्रधनुष इंटरएक्टिव ब्रिज बनाएं: 11 कदम
Minecraft रास्पबेरी पाई संस्करण का उपयोग करके इंद्रधनुष इंटरएक्टिव ब्रिज बनाएं: 11 कदम

वीडियो: Minecraft रास्पबेरी पाई संस्करण का उपयोग करके इंद्रधनुष इंटरएक्टिव ब्रिज बनाएं: 11 कदम

वीडियो: Minecraft रास्पबेरी पाई संस्करण का उपयोग करके इंद्रधनुष इंटरएक्टिव ब्रिज बनाएं: 11 कदम
वीडियो: Color Finder and Review | CrowPi 2 | Computer Vision 2024, नवंबर
Anonim
Image
Image

कल, मैंने अपने 8 वर्षीय भतीजे को रास्पबेरी पाई के साथ Minecraft खेलते हुए देखा, जो मैंने उसे पहले दिया था, फिर मुझे एक विचार आया, जो एक अनुकूलित और रोमांचक Minecraft-pi LED ब्लॉक प्रोजेक्ट बनाने के लिए कोड का उपयोग कर रहा है। Minecraft Pi रास्पबेरी पाई माइक्रो कंप्यूटर के साथ शुरुआत करने का एक शानदार तरीका है, Minecraft Pi Minecraft का एक विशेष कस्टम मेड संस्करण है जो हमें गेम के अनुभव और प्रॉप्स को अनुकूलित करने के लिए एक घातक सरल पायथन एपीआई का उपयोग करके गेम के साथ बातचीत करने की अनुमति देता है!

ऐसी कई परियोजनाएँ हैं जो आप रास्पबेरी पाई के साथ Minecraft की दुनिया में कर सकते हैं, लेकिन विशेष रूप से हमारे लिए यह पर्याप्त नहीं था, हम एक ही समय में कुछ चुनौतीपूर्ण और निमिष की तलाश में थे। इस परियोजना में, हम कई Minecraft ब्लॉकों पर कदम रखेंगे, ब्लॉक की आईडी का पता लगाएंगे और उस विशिष्ट ब्लॉक के रंग का पता लगाएंगे, जिस रंग के आधार पर हम इंटरैक्टिव स्टेप गेम बनाने के लिए अपने RGB LED को लाइट करेंगे!

मैं प्रभाव प्राप्त करने के लिए दो विधियों का उपयोग करूंगा, पहला सहायक उपकरण का उपयोग कर रहा है, जो बहुत अराजक हो सकता है…; दूसरा CrowPi2 का उपयोग कर रहा है (कई सेंसर के साथ कंप्यूटर सीखना, वर्तमान में किकस्टार्टर पर क्राउडफंडेड: CrowPi2)

आइए शुरू करें और देखें कि इस तरह के एक अद्भुत प्रोजेक्ट को कैसे संग्रहित किया जाए!

आपूर्ति

CrowPi2 अब किकस्टार्टर पर लाइव है, CrowPi2 प्रोजेक्ट ने लगभग $250k जुटाए हैं।

लिंक को हिट करें:

विधि 1 सहायक उपकरण का उपयोग करना

चरण 1: सामग्री

● 1 x रास्पबेरी पाई 4 मॉडल बी

छवि के साथ ● 1 एक्स टीएफ कार्ड

● 1 x रास्पबेरी पाई बिजली की आपूर्ति

● १ x १०.१ इंच मॉनिटर

● 1 x मॉनिटर के लिए बिजली की आपूर्ति

●1 एक्स एचडीएमआई केबल

● १ एक्स कीबोर्ड और माउस

● 1 एक्स आरजीबी एलईडी (सामान्य कैथोड)

● 4 एक्स जंपर्स (महिला से महिला)

चरण 2: कनेक्शन आरेख

कनेक्शन आरेख
कनेक्शन आरेख

आरजीबी कलर एलईडी में असल में तीन लाइटें होती हैं, जो रेड लाइट, ग्रीन लाइट और ब्लू लाइट हैं। अलग-अलग तीव्रता के प्रकाश उत्सर्जित करने के लिए इन तीन रोशनी को नियंत्रित करें, और मिश्रित होने पर, वे विभिन्न रंगों के प्रकाश का उत्सर्जन कर सकते हैं। एलईडी लाइट पर चार पिन क्रमशः जीएनडी, आर, जी और बी हैं। मेरे द्वारा उपयोग की जाने वाली RGB LED एक सामान्य कैथोड है, और रास्पबेरी पाई से कनेक्शन इस प्रकार है:

रास्पबेरीपी 4 बी (फ़ंक्शन नाम में) आरजीबी एलईडी

GPIO0 1 लाल

GPIO1 3 हरा

GPIO2 4 नीला

जीएनडी 2 जीएनडी

दूसरी तस्वीर हार्डवेयर कनेक्शन है

चरण 3: SPI के लिए कॉन्फ़िगर करें

एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें
एसपीआई के लिए कॉन्फ़िगर करें

क्योंकि हमें आरजीबी को नियंत्रित करने के लिए एसपीआई का उपयोग करने की आवश्यकता है, हमें पहले एसपीआई इंटरफ़ेस को सक्षम करने की आवश्यकता है, जो डिफ़ॉल्ट रूप से अक्षम है। आप SPI इंटरफ़ेस को सक्षम करने के लिए नीचे दिए गए चरणों का पालन कर सकते हैं:

सबसे पहले, आप Pi start MenupreferencesRaspberry Pi Configuration पर जाकर डेस्कटॉप GUI का उपयोग कर सकते हैं, जैसा कि पहली तस्वीर में दिखाया गया है।

दूसरा, "इंटरफेस" पर नेविगेट करें और एसपीआई को सक्षम करें और ओके (दूसरी तस्वीर) पर क्लिक करें।

अंत में, परिवर्तनों को प्रभावी होने के लिए सुनिश्चित करने के लिए अपने पीआई को पुनरारंभ करें। Pi Start MenuPreferencesShutdown पर क्लिक करें। चूंकि हमें केवल पुनरारंभ करने की आवश्यकता है, रीबूट बटन पर क्लिक करें।

चरण 4: कोड

हम अपना पायथन कोड लिखकर शुरू करेंगे, सबसे पहले, हम कुछ पुस्तकालयों को आयात करके शुरू करेंगे जिनकी हमें Minecraft की दुनिया के साथ अपने कोड को एकीकृत करने के लिए आवश्यकता होगी। फिर, हम टाइम लाइब्रेरी आयात करेंगे, विशेष रूप से स्लीप नामक एक फ़ंक्शन। स्लीप फ़ंक्शन हमें फ़ंक्शन करने से पहले एक विशिष्ट अंतराल की प्रतीक्षा करने की अनुमति देगा। अंतिम लेकिन कम से कम, हम RPi. GPIO पुस्तकालय आयात करते हैं जो हमें रास्पबेरी पाई पर GPIO को नियंत्रित करने की अनुमति देता है।

mcpi.minecraft से समय से Minecraft आयात करें नींद आयात RPi. GPIO GPIO के रूप में आयात करें

और यही है, हमने पुस्तकालयों को आयात करने के साथ किया है, अब उनका उपयोग करने का समय आ गया है! सबसे पहले, Minecraft लाइब्रेरी का उपयोग करना है, हम अपनी पायथन स्क्रिप्ट को Minecraft की दुनिया से जोड़ना चाहते हैं, हम MCPI लाइब्रेरी के init () फ़ंक्शन को लागू करके ऐसा कर सकते हैं और फिर GPIO का मोड सेट कर सकते हैं और चेतावनी को अक्षम कर सकते हैं।

mc = Minecraft.create()GPIO.setmode(GPIO. BCM) GPIO.setwarnings(0)

अब, हम कुछ इंद्रधनुषी रंगों को हेक्साडेसिमल में परिभाषित करते हैं ताकि हम RGB रंग बदल सकें।

सफेद = 0xFFFFFF लाल = 0xFF0000 नारंगी = 0xFF7F00 पीला = 0xFFFF00 हरा = 0x00FF00 सियान = 0x00FFFF नीला = 0x0000FF बैंगनी = 0xFF00FF मैजेंटा = 0xFF0090

इसके बाद, हमें ऊन ब्लॉक के रंग को रिकॉर्ड करने के लिए कुछ चरों को परिभाषित करने की आवश्यकता है, जो पहले से ही Minecraft ब्लॉक सूची में परिभाषित है।

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

हम Minecraft में वूल ब्लॉक की आईडी 35 है। अब, हमें RGB एलईडी के लिए पिन को कॉन्फ़िगर करने और उनके लिए सेट अप करने की आवश्यकता है।

लाल_पिन = 17 हरा_पिन = 18 नीला_पिन = 27

GPIO.setup(red_pin, GPIO. OUT, प्रारंभिक = 1) GPIO.setup(green_pin, GPIO. OUT, प्रारंभिक = 1) GPIO.setup(blue_pin, GPIO. OUT, प्रारंभिक = 1)

फिर, प्रत्येक पिन के लिए PWM सेट करें, ध्यान दें कि PWM मान की सीमा 0-100 है। यहां, हमने आरजीबी के रंग को पहले सफेद (100, 100, 100) में सेट किया।

लाल = GPIO. PWM (लाल_पिन, 100)

हरा = GPIO. PWM (ग्रीन_पिन, 100) नीला = GPIO. PWM (नीला_पिन, 100) लाल। प्रारंभ (100) हरा। प्रारंभ (100) नीला। प्रारंभ (100)

निम्नलिखित दो फ़ंक्शन बनाना है, जिनका उपयोग रंग को डिकोड करने और आरजीबी के नेतृत्व में प्रकाश करने के लिए किया जा सकता है! ध्यान दें कि map2hundred() फ़ंक्शन 255 से 100 तक के मानों को मैप करना है, जैसा कि हमने पहले बताया, PWM मान 0-100 होना चाहिए।

डीईएफ़ मैप2हंड्रेड (मान): रिटर्न इंट (मान * 100 / 255)

def set_color(color_code): # डिकोड red_value = color_code >> 16 और 0xFF ग्रीन_वैल्यू = color_code >> 8 और 0xFF blue_value = color_code >> 0 और 0xFF

# मानचित्र मान red_value = map2सौ (red_value) हरा_मान = नक्शा 2 सौ (हरा_मान) नीला_मान = नक्शा 2 सौ (नीला_मान)

# प्रकाशित करना! red. ChangeDutyCycle(red_value) हरा। ChangeDutyCycle(green_value) नीला। ChangeDutyCycle(blue_value)

बहुत बढ़िया! यह हमारा मुख्य कार्यक्रम शुरू करने का समय है, रुको, मुख्य कार्यक्रम से पहले ऊन ब्लॉक के रंग कोड को रिकॉर्ड करने के लिए एक और चर परिभाषित किया जाना चाहिए:

last_data = 0 कोशिश करें: 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) जबकि True: x, y, z = mc.player.getPos() # खिलाड़ी की स्थिति (x, y, z) ब्लॉक = mc.getBlockWithData(x, y-1, z) # ब्लॉक आईडी #प्रिंट (ब्लॉक) अगर block.id == WOOL और last_data != block.data: if block.data == W_RED: print("Red!") set_color(RED) if block.data == W_ORANGE: print("Orange!") set_color(ORANGE) ब्लॉक.डेटा == डब्ल्यू_ पीला: प्रिंट ("पीला!") set_color (पीला) अगर ब्लॉक। डेटा == W_GREEN: प्रिंट ("हरा!") set_color (हरा) अगर ब्लॉक। डेटा == W_CYAN: प्रिंट ("सियान!") set_color (सियान)) अगर ब्लॉक.डेटा == W_BLUE: प्रिंट ("ब्लू!") set_color (नीला) अगर ब्लॉक। डेटा == W_PURPLE: प्रिंट ("पर्पल!") set_color (PURPLE) अगर ब्लॉक। मैजेंटा!") set_color(MAGENTA) if block.data == W_WHITE: Print("White!") set_color(WHITE) last_data = block.data sleep(0.05) KeyboardInterrupt को छोड़कर: GPIO.cleanup () पास करें

जैसा कि मुख्य कार्यक्रम ऊपर दिखाया गया है, पहले कुछ रंगीन ऊन ब्लॉक उत्पन्न करने के लिए कुछ कमांड का उपयोग करने के लिए, फिर हमें खिलाड़ी की स्थिति का पता लगाने की आवश्यकता होती है ताकि हम ब्लॉक की आईडी और उसका रंग कोड प्राप्त कर सकें। ब्लॉक की जानकारी प्राप्त करने के बाद, हम यह निर्धारित करने के लिए कथन का उपयोग करेंगे कि क्या खिलाड़ी के नीचे का ब्लॉक ऊन ब्लॉक है और इसमें रंग कोड है या नहीं। यदि हाँ, तो तय करें कि ऊन का ब्लॉक किस रंग का है और RGB के रंग को बदलने के लिए set_color () फ़ंक्शन को कॉल करें, जो ऊन ब्लॉक के समान है।

इसके अलावा, जब हम GPIO पिन के आउटपुट को साफ़ करने के लिए प्रोग्राम को छोड़ना चाहते हैं, तो हम यूजर इंटरप्ट के अपवाद को पकड़ने के लिए एक कोशिश/छोड़कर स्टेटमेंट जोड़ते हैं।

संलग्न पूर्ण कोड है।

अच्छा किया, इतने सारे सामान और बहुत जटिल है ना? चिंता न करें, आइए परियोजना को प्राप्त करने की दूसरी विधि देखें, जो आपको अधिक लचीला और सुविधाजनक महसूस कराएगी, जो हमारे क्रोपी 2 का उपयोग कर रही है!

चरण 5: परिणाम

Image
Image

गेम खोलें और स्क्रिप्ट चलाएं, आप ऊपर वीडियो में परिणाम देखेंगे

फिर हम अगले रेनबो इंटरेक्टिव ब्रिज के निर्माण के लिए CrowPi2 का उपयोग करेंगे

चरण 6: CrowPi2-Materials का उपयोग करना

1 एक्स क्रोपी२

चरण 7: CrowPi2- कनेक्शन आरेख का उपयोग करना

कोई ज़रुरत नहीं है। CrowPi2 पर कई उपयोगी सेंसर और घटक (20 से अधिक) हैं, यह सब एक रास्पबेरी पाई लैपटॉप और एसटीईएम शिक्षा मंच में है जो हमें कई परियोजनाओं को आसानी से और बिना पसीना बहाए करने की अनुमति देता है! इस मामले में, हम CrowPi2 पर एक आकर्षक और रंगीन मॉड्यूल का उपयोग करेंगे, जो एक 8x8 RGB मैट्रिक्स मॉड्यूल है, जो हमें एक ही समय में 64 RGB को नियंत्रित करने की अनुमति देता है!

चरण 8: CrowPi2 का उपयोग करना- SPI के लिए कॉन्फ़िगर करना

कोई ज़रुरत नहीं है। CrowPi2 एक सीखने की प्रणाली के साथ एक अंतर्निहित छवि के साथ आता है! सब कुछ तैयार किया गया है जिसका मतलब है कि आप सीधे प्रोग्राम कर सकते हैं और सीख सकते हैं। इसके अलावा, हमारे CrowPi2 के साथ यह आसान है और पहले से ही बोर्ड में एक STEAM प्लेटफॉर्म के रूप में एकीकृत है जो जाने के लिए तैयार है।

चरण 9: CrowPi2- कोड का उपयोग करना

अब, हमारा कार्यक्रम शुरू करने का समय आ गया है! सबसे पहले, कुछ पुस्तकालयों को आयात करें, जैसे कि MCPI पुस्तकालय जो कि Minecraft Pi Python पुस्तकालय है जो हमें Minecraft की दुनिया के साथ एकीकृत करने के लिए एक बहुत ही सरल API का उपयोग करने की अनुमति देता है; टाइम लाइब्रेरी जो हमें किसी फ़ंक्शन को करने से पहले एक विशिष्ट अंतराल की प्रतीक्षा करने के लिए स्लीप फंक्शन की अनुमति देती है; RPi. GPIO लाइब्रेरी जो हमें रास्पबेरी पाई GPIO पिन को नियंत्रित करने की अनुमति देती है।

mcpi.minecraft से समय से Minecraft आयात करें नींद आयात RPi. GPIO GPIO के रूप में आयात करें

अंत में, हम rpi_ws281x नामक एक लाइब्रेरी आयात करेंगे, जो कि RGB मैट्रिक्स लाइब्रेरी है, लाइब्रेरी के अंदर, कई फ़ंक्शन हैं जिनका उपयोग हम LED स्ट्रिप ऑब्जेक्ट को सेटअप करने के लिए PixelStrip और RGB कलर ऑब्जेक्ट को लाइट करने के लिए कॉन्फ़िगर करने के लिए Color करेंगे। हमारे आरजीबी एलईडी

rpi_ws281x से पिक्सेलस्ट्रिप आयात करें, रंग

और यही है, हमने पुस्तकालयों को आयात करने के साथ किया है, अब उनका उपयोग करने का समय आ गया है! उसी तरह, पहली बात यह है कि Minecraft लाइब्रेरी का उपयोग करना है, हम अपनी अजगर स्क्रिप्ट को Minecraft की दुनिया से जोड़ना चाहते हैं, हम MCPI लाइब्रेरी के init फ़ंक्शन को लागू करके ऐसा कर सकते हैं:

एमसी = Minecraft.create ()

अब हर बार जब हम मिनीक्रेट दुनिया पर संचालन करना चाहते हैं, तो हम एमसी ऑब्जेक्ट का उपयोग कर सकते हैं।

अगला कदम आरजीबी एलईडी मैट्रिक्स वर्ग को परिभाषित करना होगा जिसका उपयोग हम अपने आरजीबी एलईडी को नियंत्रित करने के लिए करेंगे, हम कक्षा को बुनियादी विन्यास जैसे कि एलईडी, पिन, चमक आदि की संख्या के साथ आरंभ करते हैं …

हम क्लीन नामक एक फ़ंक्शन बनाते हैं जो दिए गए विशिष्ट रंग के साथ कम "साफ" करेगा और रन नामक एक फ़ंक्शन भी होगा जो वास्तविक आरजीबी एलईडी ऑब्जेक्ट को पहली बार उपयोग करने के लिए प्रारंभ करेगा।

वर्ग आरजीबी_मैट्रिक्स:

def _init_(स्वयं):

# एलईडी पट्टी विन्यास:

self. LED_COUNT = 64 # LED पिक्सेल की संख्या।

self. LED_PIN = 12 # पिक्सेल से जुड़ा GPIO पिन (18 PWM का उपयोग करता है!)।

self. LED_FREQ_HZ = 800000 # हर्ट्ज़ में एलईडी सिग्नल आवृत्ति (आमतौर पर 800khz)

self. LED_DMA = 10 # DMA चैनल सिग्नल उत्पन्न करने के लिए उपयोग करने के लिए (10 प्रयास करें)

self. LED_BRIGHTNESS = 10 # अंधेरे के लिए 0 पर और सबसे चमकीले के लिए 255 पर सेट करें

self. LED_INVERT = गलत # सिग्नल को उलटने के लिए सही

self. LED_CHANNEL = 0 # GPIO के लिए '1' पर सेट 13, 19, 41, 45 या 53

# उन कार्यों को परिभाषित करें जो विभिन्न तरीकों से एल ई डी को एनिमेट करते हैं। डीईएफ़ क्लीन (स्वयं, पट्टी, रंग):

# एक ही बार में सभी एलईडी मिटा दें

मेरे लिए श्रेणी में (strip.numPixels ()):

strip.setPixelColor(i, color)

कपड़े उतारने का प्रदर्शन()

डीईएफ़ रन (स्वयं):

# उपयुक्त कॉन्फ़िगरेशन के साथ NeoPixel ऑब्जेक्ट बनाएं।

पट्टी = पिक्सेलस्ट्रिप (स्वयं. LED_COUNT, स्वयं. LED_पिन, स्वयं. LED_FREQ_HZ, स्वयं. LED_DMA, स्वयं. LED_INVERT, स्वयं. LED_BRIGHTNESS, स्वयं. LED_CHANNEL)

प्रयत्न:

वापसी पट्टी

कीबोर्ड इंटरप्ट को छोड़कर:

# रुकावट से पहले मैट्रिक्स एलईडी को साफ करें

स्वयं साफ (पट्टी)

उपरोक्त के साथ करने के बाद, उन वर्गों को लागू करने और वस्तुओं को बनाने का समय है जिन्हें हम अपने कोड में उपयोग कर सकते हैं, पहले एक आरजीबी एलईडी मैट्रिक्स ऑब्जेक्ट बनाएं जिसका उपयोग हम पहले बनाए गए वर्ग का उपयोग करके कर सकते हैं:

मैट्रिक्सऑब्जेक्ट = RGB_Matrix ()

अब इस ऑब्जेक्ट का उपयोग सक्रिय एलईडी स्ट्रिप ऑब्जेक्ट बनाने के लिए करते हैं जिसका उपयोग हम आरजीबी मैट्रिक्स पर अपने व्यक्तिगत एल ई डी को नियंत्रित करने के लिए करेंगे:

पट्टी = मैट्रिक्सऑब्जेक्ट.रन ()

अंत में इस पट्टी को सक्रिय करने के लिए, हमें एक अंतिम कार्य चलाने की आवश्यकता होगी:

स्ट्रिप.बेगिन ()

Minecraft API में बहुत सारे ब्लॉक शामिल हैं, प्रत्येक Minecraft ब्लॉक की अपनी आईडी है। हमारे उदाहरण में हमने कुछ मात्रा में Minecraft ब्लॉक लिए हैं और यह अनुमान लगाने की कोशिश की है कि कौन सा रंग उनके लिए सबसे उपयुक्त है।

आरजीबी लाल, हरे और नीले रंग के लिए खड़ा है, इसलिए हमें प्रत्येक के लिए 0 से 255 तक के 3 अलग-अलग मानों की आवश्यकता होगी, रंग एचईएक्स या आरजीबी प्रारूप हो सकते हैं, हम अपने उदाहरण के लिए आरजीबी प्रारूप का उपयोग कर रहे हैं।

Minecraft Pi दुनिया में सामान्य ब्लॉक आईडी और विशेष ऊन ब्लॉक आईडी हैं, विशेष ऊन आईडी संख्या 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)

}

अब जब हम अपने मुख्य कार्यक्रम, कक्षाओं और कार्यों को परिभाषित करना समाप्त कर चुके हैं, तो यह हमारे क्रोपी 2 आरजीबी एलईडी ऑन बोर्ड सेंसर के साथ एकीकृत करने का समय है।

मुख्य कार्यक्रम हमारे द्वारा पहले परिभाषित किए गए मापदंडों को लेगा और हार्डवेयर पर प्रभाव डालेगा।

हम प्रत्येक ब्लॉक पर Minecraft Pi के अंदर किए गए चरणों के आधार पर उन्हें रोशन करने के लिए CrowPi2 RGB LED का उपयोग करने जा रहे हैं, आइए शुरू करें!

जब तक हम गेम खेलते हैं, प्रोग्राम को चालू रखने के लिए पहली चीज़ जो हम करेंगे, वह है कमांड के साथ कुछ वूल ब्लॉक बनाना और थोड़ी देर के लिए लूप बनाना।

हमें प्लेयर से कुछ डेटा प्राप्त करने की आवश्यकता होगी, सबसे पहले हम प्लेयर का उपयोग करते हैं। मतलब खिलाड़ी के तहत)

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)

ब्लॉक टाइप, डेटा = mc.getBlockWithData(x, y-1, z) # ब्लॉक आईडी

प्रिंट (ब्लॉक टाइप)

फिर हम जाँचेंगे कि क्या ब्लॉक ऊन ब्लॉक है, ब्लॉक आईडी संख्या 35, यदि ऐसा है तो हम शब्दकोश की आईडी के आधार पर ब्लॉक के रंग के साथ ऊन_रंगों का उल्लेख करेंगे और उसके अनुसार सही रंग को हल्का करेंगे।

अगर ब्लॉक टाइप == 35:

# कस्टम ऊन रंग

मैट्रिक्सऑब्जेक्ट.क्लीन (पट्टी, ऊन_रंग [str (डेटा)])

यदि यह ऊन ब्लॉक नहीं है, तो हम जाँच करेंगे कि क्या ब्लॉक वर्तमान में इंद्रधनुष_रंग शब्दकोश के अंदर है, अपवादों से बचने के लिए, यदि ऐसा है तो हम रंग लेकर और RGB बदलकर जारी रखेंगे।

अगर इंद्रधनुष_रंगों में str(blockType):

प्रिंट (इंद्रधनुष_रंग [str (ब्लॉक टाइप)])

मैट्रिक्सऑब्जेक्ट.क्लीन (पट्टी, इंद्रधनुष_रंग [str (ब्लॉक टाइप)])

नींद (0.5)

आप हमेशा कोशिश कर सकते हैं और अधिक रंग और अधिक ब्लॉक समर्थन जोड़ने के लिए इंद्रधनुष_रंग में अधिक ब्लॉक जोड़ सकते हैं!

उत्तम! एक्सेसरीज़ का उपयोग करके प्रोजेक्ट करना जटिल है लेकिन CrowPi2 इंटीग्रेटेड सर्किट का उपयोग करके चीजें बहुत आसान हो जाती हैं! क्या अधिक है, क्रोपी 2 पर 20 से अधिक सेंसर और घटक हैं, जो आपको अपनी आदर्श परियोजनाओं और यहां तक कि एआई परियोजनाओं को प्राप्त करने की अनुमति देता है!

नीचे पूरा कोड है:

चरण 10: CrowPi2-परिणाम का उपयोग करना

खेल खोलें और स्क्रिप्ट चलाएं, आप ऊपर दिए गए वीडियो में परिणाम देखेंगे:

चरण 11: CrowPi2 का उपयोग करना- आगे जाना

अब हमने CrowPi2 के साथ Minecraft गेम में अपना रंगीन प्रोजेक्ट पूरा कर लिया है। खेल के साथ खेलने के लिए क्रोपी2 पर अन्य सेंसर और घटकों का उपयोग करने का प्रयास क्यों न करें, जैसे खिलाड़ी के आंदोलन को नियंत्रित करने के लिए जॉयस्टिक, विभिन्न एनएफसी कार्डों के आधार पर ब्लॉक उत्पन्न करने के लिए आरएफआईडी और आदि। क्रोपी 2 पर अपने गेम का मजा लें और आशा है कि आप कर सकते हैं CrowPi2 के साथ और अधिक अविश्वसनीय प्रोजेक्ट!

अब, CrowPi2 किकस्टार्टर पर है, आप भी आकर्षक कीमत का आनंद ले सकते हैं।

किकस्टार्टर पेज लिंक को संलग्न करें CrowPi2

सिफारिश की: