Բովանդակություն:
- Պարագաներ
- Քայլ 1: Նյութեր
- Քայլ 2: Միացման դիագրամ
- Քայլ 3: Կարգավորեք SPI- ի համար
- Քայլ 4: Կոդ
- Քայլ 5: Արդյունքը
- Քայլ 6: Օգտագործելով CrowPi2- նյութեր
- Քայլ 7: Օգտագործելով CrowPi2- Միացման դիագրամ
- Քայլ 8. Օգտագործելով CrowPi2- Կարգավորեք SPI- ի համար
- Քայլ 9: Օգտագործելով CrowPi2- ծածկագիրը
- Քայլ 10: Օգտագործելով CrowPi2- արդյունքը
- Քայլ 11: Օգտագործելով CrowPi2- առաջ գնալը
Video: Կառուցեք Rainbow Interactive Bridge օգտագործելով Minecraft Raspberry Pi հրատարակությունը ՝ 11 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Երեկ ես տեսա իմ 8-ամյա եղբորորդուն, ով խաղում էր Minecraft- ով նախկինում իրեն տված Raspberry Pi- ով, այնուհետև ես գաղափար ստացա, որն օգտագործում է ծածկագիրը ՝ Minecraft-pi- ի LED բլոկների հարմարեցված և հետաքրքիր նախագիծ պատրաստելու համար: Minecraft Pi- ը Raspberry Pi միկրոհամակարգչով սկսելու հիանալի միջոց է, Minecraft Pi- ն Minecraft- ի հատուկ պատվերով պատրաստված տարբերակն է, որը թույլ է տալիս մեզ փոխազդել խաղի հետ ՝ օգտագործելով մահացու պարզ Python API ՝ խաղի փորձն ու հնարքները հարմարեցնելու համար:
Կան բազմաթիվ նախագծեր, որոնք կարող եք անել Minecraft աշխարհում ՝ Raspberry Pi- ի հետ, բայց հատուկ մեզ համար դա բավարար չէր, մենք փնտրում էինք ինչ -որ դժվար և միաժամանակ թարթող ինչ -որ բան: Այս նախագծում մենք կքայլենք Minecraft- ի բազմաթիվ բլոկների վրա, կբացահայտենք բլոկի ID- ն և կբացահայտենք այն կոնկրետ բլոկի գույնը, որի վրա մենք քայլել ենք, ելնելով այն գույնից, որը մենք լուսավորելու ենք մեր RGB LED- ը ՝ ինտերակտիվ քայլերի խաղ ստեղծելու համար:
Էֆեկտի հասնելու համար ես կօգտագործեմ երկու մեթոդ, առաջինը `աքսեսուարների օգտագործումն է, որոնք կարող են շատ քաոսային լինել …; երկրորդը օգտագործում է CrowPi2- ը (սովորող համակարգիչ բազմաթիվ սենսորներով, ներկայումս Kickstarter- ում հավաքված ֆինանսավորում. CrowPi2)
եկեք սկսենք և տեսնենք, թե ինչպես արխիվացնել նման զարմանալի նախագիծը:
Պարագաներ
CrowPi2- ն այժմ ուղիղ եթերում է, CrowPi2 նախագիծը հավաքել է գրեթե $ 250 հազար:
Կտտացրեք հղմանը ՝
Մեթոդ 1 Աքսեսուարների օգտագործումը
Քայլ 1: Նյութեր
● 1 x Ազնվամորի Pi 4 մոդել B
● 1 x TF քարտ ՝ պատկերով
X 1 x Raspberry Pi սնուցման աղբյուր
● 1 x 10.1 դյույմ մոնիտոր
X 1 x Էներգամատակարարում մոնիտորի համար
● 1 x HDMI մալուխ
● 1 x Ստեղնաշար և մկնիկ
X 1 x RGB LED (ընդհանուր կաթոդ)
● 4 x թռիչք (կին էգից)
Քայլ 2: Միացման դիագրամ
Իրականում RGB գունավոր LED- ում կան երեք լույսեր, որոնք կարմիր լույսն են, կանաչը և կապույտը: Կառավարեք այս երեք լույսերը ՝ տարբեր ինտենսիվության լույսեր արձակելու համար, և երբ դրանք խառնվում են, նրանք կարող են տարբեր գույների լույս արձակել: LED լուսարձակի չորս կապում են համապատասխանաբար GND, R, G և B: Իմ օգտագործած RGB LED- ը սովորական կաթոդ է, և Raspberry Pi- ի հետ կապը հետևյալն է.
RaspberryPi 4B (գործառույթի անվան մեջ) RGB LED
GPIO0 1 ԿԱՐՄԻՐ
GPIO1 3 Կանաչ
GPIO2 4 Կապույտ
GND 2 GND
Երկրորդ նկարը ապարատային կապն է
Քայլ 3: Կարգավորեք SPI- ի համար
Քանի որ մենք պետք է SPI- ն օգտագործենք RGB- ը վերահսկելու համար, մենք պետք է նախ միացնենք SPI ինտերֆեյսը, որը լռելյայն անջատված է: SPI ինտերֆեյսը միացնելու համար կարող եք հետևել հետևյալ քայլերին.
Նախ, կարող եք օգտագործել աշխատասեղանի GUI- ն ՝ անցնելով Pi start MenupreferencesRaspberry Pi կազմաձևին, ինչպես ցույց է տրված առաջին նկարում:
Երկրորդ, նավարկեք «Ինտերֆեյսեր» և միացրեք SPI- ն և կտտացրեք OK (երկրորդ նկարը):
Վերջապես, վերագործարկեք ձեր Pi- ն ՝ փոփոխություններն ուժի մեջ մտնելու համար: Սեղմեք Pi Start MenuPreferencesShutdown- ի վրա: Քանի որ մեզ մնում է միայն վերագործարկել, կտտացրեք «Վերագործարկեք» կոճակին:
Քայլ 4: Կոդ
Մենք կսկսենք գրելով մեր պիթոնի ծածկագիրը, նախ ՝ կսկսենք ներմուծելով մի քանի գրադարաններ, որոնք մեզ անհրաժեշտ կլինեն մեր ծածկագիրը Minecraft աշխարհին ինտեգրելու համար: Այնուհետև մենք կներմուծենք ժամանակի գրադարանը, մասնավորապես գործառույթը, որը կոչվում է քուն: Քնի գործառույթը թույլ կտա մեզ սպասել որոշակի միջակայք, նախքան գործառույթ կատարելը: Վերջին, բայց ոչ պակաս կարևոր, մենք ներմուծում ենք RPi. GPIO գրադարանը, որը թույլ է տալիս մեզ վերահսկել GPIO- ն Raspberry Pi- ի վրա:
mcpi.minecraft ներմուծում Minecraft ժամանակից ներմուծում քնի ներմուծում RPi. GPIO որպես GPIO
Եվ վերջ, մենք ավարտեցինք գրադարանների ներմուծումը, այժմ ժամանակն է դրանք օգտագործել: Առաջին բանը ՝ օգտագործել Minecraft գրադարանը, մենք ցանկանում ենք մեր python սցենարը միացնել Minecraft աշխարհին, դա կարող ենք անել ՝ կանչելով MCPI գրադարանի init () գործառույթը, այնուհետև սահմանել GPIO ռեժիմը և անջատել նախազգուշացումը:
mc = Minecraft.create () GPIO.setmode (GPIO. BCM) GPIO.setwarnings (0)
Այժմ մենք սահմանում ենք ծիածանի որոշ գույներ տասնվեցերորդով, որպեսզի կարողանանք փոխել RGB գույները:
ՍՊԻՏԱԿ = 0xFFFFFF ԿԱՐՄԻՐ = 0xFF0000 Նարնջագույն = 0xFF7F00 ԴԵELLԻՆ = 0xFFFF00 GREEN = 0x00FF00 CYAN = 0x00FFFF BLUE = 0x0000FF PURPLE = 0xFF00FF MAGENTA = 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- ում բուրդ բլոկի ID- ն 35 է: Այժմ մենք պետք է կազմաձևենք RGB- ի համար նախատեսված քորոցը և տեղադրենք դրանց համար:
կարմիր_շապիկ = 17 կանաչ_փին = 18 կապույտ_պին = 27
GPIO.setup (red_pin, GPIO. OUT, initial = 1) GPIO.setup (green_pin, GPIO. OUT, նախնական = 1) GPIO.setup (blue_pin, GPIO. OUT, նախնական = 1)
Այնուհետեւ, յուրաքանչյուր PIN- ի համար տեղադրեք PWM- ը, նշեք, որ PWM արժեքի միջակայքը 0-100 է: Այստեղ մենք նախ RGB- ի գույնը սահմանեցինք սպիտակ (100, 100, 100):
կարմիր = GPIO. PWM (կարմիր_փին, 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 (արժեքը). վերադարձ int (արժեքը * 100 /255)
def set_color (գույնի_կոդ).
# Քարտեզի արժեքներ red_value = map2hundred (red_value) green_value = map2hundred (green_value) blue_value = map2hundred (blue_value)
# Լուսավորի կարմիր. ChangeDutyCycle (red_value) կանաչ. ChangeDutyCycle (green_value) կապույտ. ChangeDutyCycle (blue_value)
Լավ արեց: Mainամանակն է սկսել մեր հիմնական ծրագիրը, սպասել, ևս մեկ փոփոխական պետք է սահմանվի ՝ հիմնական ծրագրից առաջ բուրդ բլոկի գույնի ծածկագիրը գրանցելու համար.
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) 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) 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 և last_data! = Block.data: if block.data == W_RED: print ("Red!") Set_color (RED) if block.data == W_ORANGE: print ((Orange!)) block.data == W_ YELLOW: print («Yellow!») Set_color (YELLOW) եթե block.data == W_GREEN: print («Green!») Set_color (GREEN) եթե block.data == W_CYAN: print («Cyan!») Set_color (CYAN) if block.data == W_BLUE: print ("Blue!") set_color (BLUE) if block.data == W_PURPLE: print ("Purple!") set_color (PURPLE) if block.data == W_MAGENTA: print (" Կապույտ! ") Set_color (MAGENTA), եթե block.data == W_WHITE: print (" White! ")
Ինչպես ցույց է տրված հիմնական ծրագիրը վերևում, սկզբում որոշ հրամաններ օգտագործելու համար ստեղծեք գունավոր բրդյա բլոկներ, այնուհետև մենք պետք է պարզենք խաղացողի դիրքը, որպեսզի կարողանանք ստանալ բլոկների ID- ն և դրա գույնի կոդը: Արգելափակման մասին տեղեկատվությունը ստանալուց հետո մենք կօգտագործենք հայտարարությունը `որոշելու համար, թե արդյոք նվագարկիչի տակ գտնվող բլոկը բուրդ բլոկ է, և արդյոք այն ունի գունային կոդ: Եթե այո, ապա դատեք, թե որն է բրդի բլոկը և զանգահարեք set_color () գործառույթը ՝ RGB- ի գույնը փոխելու համար նույնը, ինչ բրդի բլոկը:
Բացի այդ, մենք ավելացնում ենք try/while հայտարարություն ՝ օգտվողի ընդհատման բացառությունը որսալու համար, երբ ցանկանում ենք դուրս գալ ծրագրից ՝ GPIO կապումների ելքը մաքրելու համար:
Կից ներկայացված է ամբողջական ծածկագիրը:
Լավ արված, այդքան շատ պարագաներ և չափազանց բարդ: Մի անհանգստացեք, եկեք տեսնենք նախագծին հասնելու երկրորդ մեթոդը, որը ձեզ ավելի ճկուն և հարմարավետ կդարձնի, որն օգտագործում է մեր CrowPi2- ը:
Քայլ 5: Արդյունքը
Բացեք խաղը և գործարկեք սցենարը, արդյունքը կտեսնեք վերևի տեսանյութում
Այնուհետեւ մենք կօգտագործենք CrowPi2- ը ՝ հաջորդը Rainbow ինտերակտիվ կամուրջ կառուցելու համար
Քայլ 6: Օգտագործելով CrowPi2- նյութեր
X 1 x CrowPi2
Քայլ 7: Օգտագործելով CrowPi2- Միացման դիագրամ
Կարիք չկա. CrowPi2- ում կան բազմաթիվ օգտակար սենսորներ և բաղադրիչներ (ավելի քան 20), դրանք բոլորը մեկ ազնվամորու նոութբուքի և STEM կրթական հարթակի մեջ են, որոնք թույլ են տալիս հեշտությամբ և առանց քրտինքի կատարել բազմաթիվ նախագծեր: Այս դեպքում մենք CrowPi2- ում կօգտագործենք գրավիչ և գունագեղ մոդուլ, որը 8x8 RGB մատրիցային մոդուլ է, որը թույլ է տալիս միաժամանակ կառավարել 64 RGB led:
Քայլ 8. Օգտագործելով CrowPi2- Կարգավորեք SPI- ի համար
Կարիք չկա. CrowPi2- ն ունի ներկառուցված պատկեր `ուսուցման համակարգով: Ամեն ինչ պատրաստ է, ինչը նշանակում է, որ դուք կարող եք ծրագրավորել և սովորել ուղղակիորեն: Բացի այդ, մեր CrowPi2- ի միջոցով այն հեշտ է և արդեն ինտեգրված է տախտակին ՝ որպես STEAM հարթակ, որը պատրաստ է գործի:
Քայլ 9: Օգտագործելով CrowPi2- ծածկագիրը
Հիմա, ժամանակն է սկսել մեր ծրագիրը: Նախ, ներմուծեք մի քանի գրադարան, օրինակ ՝ MCPI գրադարանը, որը Minecraft Pi Python գրադարանն է, որը թույլ է տալիս մեզ օգտագործել շատ պարզ API ՝ Minecraft աշխարհին ինտեգրվելու համար. ժամանակի գրադարան, որը թույլ է տալիս մեզ քնի գործառույթը սպասել որոշակի միջակայք գործառույթ կատարելուց առաջ. RPi. GPIO գրադարան, որը թույլ է տալիս մեզ վերահսկել Raspberry Pi GPIO կապում:
mcpi.minecraft ներմուծում Minecraft ժամանակից ներմուծում քնի ներմուծում RPi. GPIO որպես GPIO
Վերջապես, մենք կներմուծենք rpi_ws281x անունով գրադարան, որը RGB Matrix գրադարանն է, գրադարանի ներսում կան բազմաթիվ գործառույթներ, ինչպիսիք ենք PixelStrip- ը ՝ LED շերտի օբյեկտը կարգավորելու համար, և Color- ը ՝ RGB գույնի օբյեկտը կարգավորելու համար մեր RGB LED- ները
rpi_ws281x ներմուծել PixelStrip, Գույն
Եվ վերջ, մենք ավարտեցինք գրադարանների ներմուծումը, այժմ ժամանակն է դրանք օգտագործել: Միևնույն է, առաջինը Minecraft գրադարանից օգտվելն է, մենք ուզում ենք մեր պիթոնի սցենարը միացնել Minecraft աշխարհին: Դա կարող ենք անել `վկայակոչելով MCPI գրադարանի init գործառույթը.
mc = Minecraft.create ()
Ամեն անգամ, երբ մենք ցանկանում ենք գործողություններ կատարել ականապատ աշխարհում, կարող ենք օգտագործել mc օբյեկտը:
Հաջորդ քայլը կլինի RGB LED մատրիցային դասի սահմանումը, որը մենք կօգտագործենք մեր RGB LED- ները վերահսկելու համար, մենք դասակարգում ենք հիմնական կազմաձևով, ինչպիսիք են լուսարձակների թիվը, կապում, պայծառությունը և այլն…
մենք ստեղծում ենք մաքուր կոչվող գործառույթ, որն ավելի քիչ «կմաքրի» հատուկ տրված գույնով և նաև գործառույթ կոչվող գործառույթ, որը կսկսի սկզբնականացնել RGB LED օբյեկտը առաջին անգամ, երբ մենք ցանկանում ենք այն օգտագործել:
դաս RGB_Matrix:
def _init _ (self):
# LED շերտի կազմաձևում.
self. LED_COUNT = 64 # LED պիքսելների քանակ:
self. LED_PIN = 12 # GPIO կապ, որը միացված է պիքսելներին (18 -ը օգտագործում է PWM!):
self. LED_FREQ_HZ = 800000 # LED ազդանշանի հաճախականություն հերցում (սովորաբար 800khz)
self. LED_DMA = 10 # DMA ալիք `ազդանշան ստեղծելու համար օգտագործելու համար (փորձեք 10)
self. LED_BRIGHTNESS = 10 # Սահմանել 0 -ի համար ամենամութ և 255 ամենապայծառի համար
self. LED_INVERT = Կեղծ # Trueիշտ է ազդանշանը շրջելու համար
self. LED_CHANNEL = 0 # սահմանվել է '1' GPIO- ների համար 13, 19, 41, 45 կամ 53
# Սահմանեք գործառույթներ, որոնք տարբեր կերպ են կենդանացնում LED- ները: def clean (self, strip, color):
# սրբել միանգամից բոլոր LED- ները
միջակայքում i- ի համար (strip.numPixels ()):
strip.setPixelColor (i, գույն)
strip.show ()
def run (self):
# Ստեղծեք NeoPixel օբյեկտ `համապատասխան կազմաձևով:
շերտ = PixelStrip (ինքն. LED_COUNT, ինքն. LED_PIN, ինքն. LLE_FREQ_HZ, ինքն. LLE_DMA, ինքն. LED_INVERT, ինքն. LED_BRIGHTNESS, ինքն. LED_CHANNEL)
փորձել:
վերադարձի ժապավեն
բացառությամբ Ստեղնաշարի
# մաքրեք մատրիցային LED- ն ընդհատումից առաջ
ինքնամաքրում (շերտ)
Վերոնշյալն անելուց հետո ժամանակն է կանչել այդ դասերին և ստեղծել օբյեկտներ, որոնք կարող ենք օգտագործել մեր ծածկագրում, նախ ստեղծենք RGB LED մատրիցային օբյեկտ, որը կարող ենք օգտագործել ՝ օգտագործելով ավելի վաղ ստեղծված դասը.
matrixObject = RGB_Matrix ()
Այժմ եկեք օգտագործենք այս օբյեկտը `ստեղծելու ակտիվ LED շերտի օբյեկտ, որը մենք կօգտագործենք RGB մատրիցի վրա մեր առանձին LED- ները վերահսկելու համար.
շերտ = matrixObject.run ()
Ի վերջո, այս շերտը ակտիվացնելու համար մեզ հարկավոր է գործարկել վերջին գործառույթը.
strip.begin ()
Minecraft API- ն ներառում է բազմաթիվ բլոկներ, յուրաքանչյուր Minecraft բլոկ ունի իր սեփական ID- ն: Մեր օրինակում մենք վերցրեցինք որոշ քանակությամբ Minecraft բլոկներ և փորձեցինք կռահել, թե որ գույնն է առավել հարմար նրանց համար:
RGB- ն նշանակում է կարմիր, կանաչ և կապույտ, այնպես որ մեզ հարկավոր կլինի 3 տարբեր արժեքներ ՝ յուրաքանչյուրից 0 -ից 255 -ի սահմաններում, գույները կարող են լինել HEX կամ RGB ձևաչափ, մենք օգտագործում ենք RGB ձևաչափը մեր օրինակի համար:
Minecraft Pi աշխարհում կան նորմալ բլոկների ID- ներ և հատուկ բրդի բլոկների ID- ներ, հատուկ բուրդը գտնվում է ID համար 35 -ի ներքո, բայց ենթահամարներով ՝ տարբեր ID- ներով … Մենք այս խնդիրը կլուծենք ՝ ստեղծելով 2 առանձին ցուցակ ՝ մեկը նորմալ բլոկների համար: և մեկ ցուցակ հատուկ բրդյա բլոկների համար.
Առաջին ցուցակը սովորական բլոկների համար է, օրինակ `0 -ը ներկայացնում է Օդային բլոկը, մենք այն կդնենք 0, 0, 0 գույնը, որը դատարկ է կամ ամբողջովին սպիտակ, երբ խաղացողը ցատկելու կամ թռչելու է խաղում RGB- ն անջատվելու է, 1 տարբեր բլոկ է RGB գույնով ՝ 128, 128, 128 և այլն…
#Ainիածանի գույներ
ծիածանի_գույներ = {
"0": Գույն (0, 0, 0), "1": Գույն (128, 128, 128), "2": Գույն (0, 255, 0), "3": Գույն (160, 82, 45), «4»: Գույն (128, 128, 128), "22": Գույն (0, 0, 255)
}
Բրդյա բլոկներից մենք նույնն ենք անում, բայց կարևոր է հիշել, որ բոլոր բլոկների ID- ն 35 է, այս ցուցակում մենք սահմանում ենք բլոկի ենթատիպերը, որոնք բուրդ բլոկ են: Բուրդի տարբեր ենթատեսակներ ունեն տարբեր գույներ, բայց բոլորը բուրդ բլոկներ են:
բրդի_գույններ = {
"6": Գույն (255, 105, 180), "5": Գույն (0, 255, 0), «4»: Գույն (255, 255, 0), "14": Գույն (255, 0, 0), "2": Գույն (255, 0, 255)
}
Երբ մենք ավարտենք մեր հիմնական ծրագրի, դասերի և գործառույթների սահմանումը, ժամանակն է ինտեգրվել մեր CrowPi2 RGB LED սենսորին:
Հիմնական ծրագիրը կվերցնի այն պարամետրերը, որոնք մենք ավելի վաղ սահմանել էինք և ազդեցություն կունենար սարքավորման վրա:
Մենք պատրաստվում ենք օգտագործել CrowPi2 RGB LED- ը, որպեսզի դրանք լուսավորվեն ՝ հիմնվելով այն քայլերի վրա, որոնք մենք անում ենք Minecraft Pi- ի ներսում յուրաքանչյուր բլոկում, եկեք սկսենք:
Առաջին բանը, որ մենք պետք է անենք, հրահանգների միջոցով բուրդ բլոկներ արտադրելն է և մի քիչ օղակ ստեղծելը, որպեսզի ծրագիրը գործի այնքան ժամանակ, քանի դեռ խաղ ենք խաղում:
Մենք պետք է որոշ տվյալներ ստանանք նվագարկիչից, առաջին հերթին մենք օգտագործում ենք 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)
իսկական True:
x, y, z = mc.player.getPos () # խաղացողի դիրքը (x, y, z)
blockType, data = mc.getBlockWithData (x, y-1, z) # բլոկի ID
տպել (blockType)
Այնուհետև մենք կստուգենք, արդյոք բլոկը բրդյա բլոկ է, բլոկի ID համարը 35, եթե դա լինի, մենք կանդրադառնանք բառարանի ID- ի հիման վրա բլոկի գույնով բուրդ_գույններին և համապատասխանաբար կբացենք համապատասխան գույնը:
եթե blockType == 35:
# բրդի յուրահատուկ գույներ
matrixObject.clean (strip, wool_colors [str (data)])
Եթե դա բրդյա բլոկ չէ, մենք կստուգենք, թե արդյոք բլոկն այս պահին գտնվում է rainbow_colors բառարանի մեջ ՝ բացառություններից խուսափելու համար, եթե այդպես է, ապա կշարունակենք ՝ վերցնելով գույնը և փոխելով RGB- ը:
if str (blockType) rainbow_colors- ում:
տպել (rainbow_colors [str (blockType)])
matrixObject.clean (strip, rainbow_colors [str (blockType)])
քուն (0.5)
Դուք միշտ կարող եք փորձել և ավելացնել ավելի շատ բլոկներ rainbow_color- ին `ավելի շատ գույներ և ավելի շատ բլոկների աջակցություն ավելացնելու համար:
Կատարյալ! Աքսեսուարների միջոցով նախագծեր իրականացնելը բարդ է, բայց CrowPi2 ինտեգրալ սխեմայի միջոցով ամեն ինչ շատ ավելի հեշտ է դառնում: Ավելին, CrowPi2- ում կան ավելի քան 20 սենսորներ և բաղադրիչներ, ինչը թույլ է տալիս հասնել ձեր իդեալական նախագծերին և նույնիսկ AI նախագծերին:
Ստորև բերված է ամբողջական ծածկագիրը.
Քայլ 10: Օգտագործելով CrowPi2- արդյունքը
Բացեք խաղը և գործարկեք սցենարը, արդյունքը կտեսնեք վերը նշված տեսանյութում.
Քայլ 11: Օգտագործելով CrowPi2- առաջ գնալը
Այժմ մենք ավարտեցինք մեր գունեղ նախագիծը Minecraft խաղում ՝ CrowPi2- ով: Ինչու՞ չփորձել օգտագործել CrowPi2- ի այլ սենսորներ և բաղադրիչներ ՝ խաղի հետ խաղալու համար, օրինակ ՝ խաղացողի շարժումը վերահսկելու ջոյսթիք, տարբեր NFC քարտերի հիման վրա բլոկներ ստեղծելու RFID և այլն: funվարճացեք ձեր խաղով CrowPi2- ով և հույս ունեք ավելի անհավանական նախագծեր CrowPi2- ի հետ:
Այժմ, CrowPi2- ը այժմ Kickstarter- ում է, դուք նույնպես կարող եք վայելել գրավիչ գինը:
Կցեք Kickstarter էջի հղումը CrowPi2
Խորհուրդ ենք տալիս:
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ սարք ՝ օգտագործելով ESP8266 և BME280: 10 քայլ
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ ՝ օգտագործելով ESP8266 և BME280. Այսօրվա ուսանելի դասում մենք կկատարենք ցածր գնով ջերմաստիճանի, խոնավության և խոնավության տվիչ ՝ հիմնված AOSONG AM2302/DHT22 կամ BME280 ջերմաստիճանի/խոնավության տվիչի, YL-69 խոնավության տվիչի վրա: և ESP8266/Nodemcu հարթակը: Եվ ցուցադրելու համար
Կառուցեք հեռակա ակտիվացված ցնցուղ ՝ օգտագործելով PiFace և Ubidots: 13 քայլ
Կառուցեք հեռակա ակտիվացված ցնցուղ ՝ օգտագործելով PiFace- ը և Ubidots- ը: Սա հիանալի օրինակ է, որը սովորեցնում է ձեզ, թե ինչպես օգտագործել Raspberry Pi, PiFace և Ubidots ձեր այգին հեռվից ջրելու համար: Դուք կկարողանաք հեռակառավարել էլեկտրահաղորդիչ ՝ հեռակա կարգով ձեր բույսերը ջրելու ցանկացած վայրից ՝ պարզապես օգտագործելով ձեր հեռախոսը
Կառուցեք տանկի ծավալի ընթերցող ՝ մինչև $ 30 -ով ՝ օգտագործելով ESP32 ՝ 5 քայլ (նկարներով)
Կառուցեք տանկի ծավալի ընթերցող ՝ մինչև $ 30 -ով ՝ օգտագործելով ESP32- ը. Իրերի ինտերնետը նախկինում բարդ սարքերի բազմաթիվ ծրագրեր է բերել բազմաթիվ արհեստագործ գարեջրագործների և գինեգործների տներ: Մակարդակի տվիչներով դիմումները տասնամյակներ շարունակ օգտագործվում են խոշոր նավթավերամշակման գործարաններում, ջրի մաքրման կայաններում և քիմիական
Կառուցեք սիրողական ռադիո APRS RX Only IGate ՝ օգտագործելով Raspberry Pi և RTL-SDR Dongle կես ժամից պակաս: 5 քայլ
Կառուցեք սիրողական ռադիո APRS RX Only IGate ՝ օգտագործելով Raspberry Pi և RTL-SDR Dongle կես ժամից պակաս ժամանակ. Խնդրում ենք նկատի ունենալ, որ սա այժմ բավականին հին է, ուստի որոշ մասեր սխալ են և հնացած: Ֆայլերը, որոնք դուք պետք է խմբագրեք, փոխվել են: Ես թարմացրել եմ հղումը ՝ ձեզ պատկերի վերջին տարբերակը տալու համար (խնդրում ենք օգտագործել 7-zip- ը ՝ այն սեղմելու համար), բայց ամբողջական գործիքի համար
Neopixel Ws2812 Rainbow LED Glow With M5stick-C - Գործարկելով Rainbow- ը Neopixel Ws2812- ի վրա `օգտագործելով M5stack M5stick C- ն Arduino IDE- ի միջոցով. 5 քայլ
Neopixel Ws2812 Rainbow LED Glow With M5stick-C | Running Rainbow on Neopixel Ws2812 Using M5stack M5stick C Using Arduino IDE: Ողջույն, այս հրահանգներում մենք կսովորենք, թե ինչպես օգտագործել neopixel ws2812 LED- ները կամ led շերտի կամ led մատրիցայի կամ led օղակի հետ m5stack m5stick-C զարգացման տախտակով Arduino IDE- ով և մենք պատրաստելու ենք: դրա հետ ծիածանի օրինակ