ዝርዝር ሁኔታ:

Minecraft Raspberry Pi እትም በመጠቀም ቀስተ ደመና መስተጋብራዊ ድልድይ ይገንቡ - 11 ደረጃዎች
Minecraft Raspberry Pi እትም በመጠቀም ቀስተ ደመና መስተጋብራዊ ድልድይ ይገንቡ - 11 ደረጃዎች

ቪዲዮ: Minecraft Raspberry Pi እትም በመጠቀም ቀስተ ደመና መስተጋብራዊ ድልድይ ይገንቡ - 11 ደረጃዎች

ቪዲዮ: Minecraft Raspberry Pi እትም በመጠቀም ቀስተ ደመና መስተጋብራዊ ድልድይ ይገንቡ - 11 ደረጃዎች
ቪዲዮ: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, ህዳር
Anonim
Image
Image

ትናንት ፣ እኔ የ 8 ዓመቱ የወንድሜ ልጅ ቀደም ሲል ከሰጠሁት Raspberry Pi ጋር Minecraft ን ሲጫወት አየሁ ፣ ከዚያ አንድ ሀሳብ አገኘሁ ፣ እሱ ብጁ እና አስደሳች የሆነውን የ Minecraft-pi LED ብሎኮች ፕሮጀክት ለመሥራት ኮድን እየተጠቀመ ነው። Minecraft Pi ከ Raspberry Pi ማይክሮ ኮምፒተር ጋር ለመጀመር ጥሩ መንገድ ነው ፣ Minecraft Pi የጨዋታ ልምድን እና ድጋፍን ለማበጀት ገዳይ የሆነ ቀላል የፓይዘን ኤፒአይ በመጠቀም ከጨዋታው ጋር እንድንገናኝ የሚያስችለን ልዩ ብጁ የተሰራ የ Minecraft ስሪት ነው!

በ Raspberry Pi በ Minecraft ዓለም ውስጥ ማድረግ የሚችሏቸው ብዙ ፕሮጄክቶች አሉ ፣ ግን በተለይ ለእኛ በቂ አልነበረም ፣ እኛ ፈታኝ እና በተመሳሳይ ጊዜ ብልጭ ድርግም ያለ ነገር እየፈለግን ነበር። በዚህ ፕሮጀክት ውስጥ እኛ ብዙ የ Minecraft ብሎኮችን እንረግጣለን ፣ የእገዱን መታወቂያ እንለይ እና እኛ የረገጥነውን የተወሰነ ብሎክ ቀለም እንለቃለን ፣ እኛ በይነተገናኝ እርምጃዎች ጨዋታ ለመፍጠር የእኛን RGB LED ን እናበራለን።

ውጤቱን ለማሳካት ሁለት ዘዴዎችን እጠቀማለሁ ፣ የመጀመሪያው መለዋወጫዎችን መጠቀም ነው ፣ ይህም በጣም ትርምስ ሊሆን ይችላል…; ሁለተኛው CrowPi2 ን ይጠቀማል (ብዙ ዳሳሾች ያሉት ኮምፒተርን መማር ፣ በአሁኑ ጊዜ በኪክስታስተር: CrowPi2 ላይ የተጨናነቀ)

እንጀምር እና እንዲህ ዓይነቱን አስደናቂ ፕሮጀክት እንዴት በማህደር ማስቀመጥ እንደሚቻል እንይ!

አቅርቦቶች

CrowPi2 አሁን በ kickstarter ላይ ቀጥታ ነው ፣ የ CrowPi2 ፕሮጀክት 250k ዶላር ያህል አሰባስቧል።

አገናኙን ይምቱ

ዘዴ 1 መለዋወጫዎችን መጠቀም

ደረጃ 1: ቁሳቁሶች

X 1 x Raspberry Pi 4 ሞዴል ቢ

Image 1 x TF ካርድ ከምስል ጋር

X 1 x Raspberry Pi የኃይል አቅርቦት

X 1 x 10.1 ኢንች ማሳያ

Monitor 1 x ለሞኒተር የኃይል አቅርቦት

X 1 x HDMI ገመድ

X 1 x የቁልፍ ሰሌዳ እና መዳፊት

X 1 x RGB led (የጋራ ካቶድ)

X 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 ያዋቅሩ
ለ SPI ያዋቅሩ
ለ SPI ያዋቅሩ
ለ SPI ያዋቅሩ
ለ SPI ያዋቅሩ
ለ SPI ያዋቅሩ
ለ SPI ያዋቅሩ
ለ SPI ያዋቅሩ

RGB ን ለመቆጣጠር SPI ን መጠቀም ስለምንፈልግ በመጀመሪያ በነባሪነት የተሰናከለውን የ SPI በይነገጽ ማንቃት አለብን። የ SPI በይነገጽን ለማንቃት ከዚህ በታች ያሉትን ደረጃዎች መከተል ይችላሉ-

በመጀመሪያ ሥዕሉ ላይ እንደሚታየው ወደ Pi ጅምር ምናሌዎች (Ras StartberryRaspberry Pi Configuration) በመሄድ የዴስክቶፕ GUI ን መጠቀም ይችላሉ።

ሁለተኛ ፣ ወደ “በይነገጾች” ይሂዱ እና SPI ን ያንቁ እና እሺን ጠቅ ያድርጉ (ሁለተኛው ስዕል)።

በመጨረሻ ፣ ለውጦቹ ተግባራዊ እንዲሆኑ ለማረጋገጥ የእርስዎን ፒ እንደገና ያስጀምሩ። በ Pi Start MenuPreferencesShutdown ላይ ጠቅ ያድርጉ። እንደገና ማስጀመር ስለምንፈልግ ፣ ዳግም አስነሳ ቁልፍን ጠቅ ያድርጉ።

ደረጃ 4 - ኮዱ

የእኛን የፓይዘን ኮድ በመፃፍ እንጀምራለን ፣ በመጀመሪያ ፣ የእኛን ኮድ ከማዕድን ዓለም ጋር ለማዋሃድ የሚያስፈልጉንን ጥቂት ቤተ -መጻሕፍት በማስመጣት እንጀምራለን። ከዚያ እኛ የጊዜ ቤተ -መጽሐፍትን በተለይም እንቅልፍ የሚባል ተግባር እናስመጣለን። የእንቅልፍ ተግባሩ አንድ ተግባር ከማከናወኑ በፊት የተወሰነ የጊዜ ክፍተት እንድንጠብቅ ያስችለናል። በመጨረሻ ግን ቢያንስ እኛ Raspberry Pi ላይ GPIO ን እንድንቆጣጠር የሚያስችለንን የ RPi. 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 ORANGE = 0xFF7F00 ቢጫ = 0xFFFF00 አረንጓዴ = 0x00FF00 ሲያን = 0x00FFFF ሰማያዊ = 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 ውስጥ ያለው የሱፍ ማገጃ እኛ መታወቂያ 35 ነው። አሁን ፣ ፒን ለ RGB መሪነት ማዋቀር እና ለእነሱ ማዋቀር አለብን።

red_pin = 17 green_pin = 18 blue_pin = 27

GPIO.setup (red_pin ፣ GPIO. OUT ፣ የመጀመሪያ = 1) GPIO.setup (አረንጓዴ_ፒን ፣ GPIO. OUT ፣ የመጀመሪያ = 1)

ከዚያ ለእያንዳንዱ ፒን PWM ያዘጋጁ ፣ የ PWM እሴት ክልል 0-100 መሆኑን ልብ ይበሉ። እዚህ ፣ በመጀመሪያ ወደ ነጭ (100 ፣ 100 ፣ 100) የሚመራውን የ RGB ቀለም እናስቀምጣለን።

ቀይ = GPIO. PWM (red_pin ፣ 100)

አረንጓዴ = GPIO. PWM (green_pin, 100) ሰማያዊ = GPIO. PWM (blue_pin, 100) red.start (100) green.start (100) blue.start (100)

የሚከተለው ሁለት ተግባሮችን መፍጠር ነው ፣ ይህም ቀለምን ለመለየት እና አርጂቢ መሪውን ለማብራት ሊያገለግል ይችላል! ያስታውሱ የካርታ 2 መቶ () ተግባር እሴቶችን ከ 255 እስከ 100 ማመላከት ነው ፣ ቀደም ሲል እንደጠቀስነው ፣ የ PWM እሴት 0-100 መሆን አለበት።

def map2hundred (እሴት): int int (እሴት * 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 = ካርታ 2 መቶ (ቀይ_እሴት) አረንጓዴ_ቫልዩ = ካርታ 2 መቶ (አረንጓዴ_ቫልዩ) ሰማያዊ_ቫልዩ = ካርታ 2 መቶ (ሰማያዊ_ቫልዩ)

# ማብራት! ቀይ.

ጥሩ ስራ! ዋና ፕሮግራማችንን ለመጀመር ጊዜው ነው ፣ ይጠብቁ ፣ ከዋናው መርሃ ግብር በፊት የሱፍ ማገጃውን የቀለም ኮድ ለመቅዳት ሌላ ተለዋዋጭ መገለጽ አለበት-

last_data = 0 ሙከራ x ፣ y ፣ z = mc.player.getPos () mc.set ብሎኮች (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.set ብሎኮች (x+4 ፣ y+2 ፣ z ፣ x+5 ፣ y+2 ፣ z+2 ፣ 35 ፣ 2) mc.set ብሎኮች (x+6 ፣ y+3 ፣ z ፣ x+7 ፣ y+3 ፣ z+2 ፣ 35 ፣ 5) mc.set ብሎኮች (x+8 ፣ y+4 ፣ z ፣ x+9 ፣ y+4, z+2, 35, 4) mc.set ብሎኮች (x+10 ፣ y+5 ፣ z ፣ x+11 ፣ y+5 ፣ z+2 ፣ 35 ፣ 10) mc.set ብሎኮች (x+12 ፣ y+6 ፣ z ፣ x+13 ፣ y+6 ፣ z+2 ፣ 35 ፣ 1) mc.set ብሎኮች (x+14 ፣ y+5 ፣ z ፣ x+15 ፣ y+5 ፣ z+2, 35 ፣ 10) mc.set ብሎኮች (x+16 ፣ y+4 ፣ z ፣ x+17 ፣ y+4 ፣ z+2 ፣ 35 ፣ 4) mc.set ብሎኮች (x+18 ፣ y+3 ፣ z ፣ x+19 ፣ y+3, z+2, 35, 5) mc.set ብሎኮች (x+20 ፣ y+2 ፣ z ፣ x+21 ፣ y+2 ፣ z+2 ፣ 35 ፣ 2) mc.set ብሎኮች (x+22 ፣ y+1 ፣ z ፣ x+23 ፣ y+1 ፣ z+2 ፣ 35 ፣ 11) mc.set ብሎኮች (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) # block.id ከሆነ # የማገጃ መታወቂያ #print (አግድ) == WOOL እና last_data! block.data == W_ ቢጫ: ህትመት ("ቢጫ!") Set_color (YELLOW) ከሆነ block.data == W_GREEN: print ("Green!") Set_color (GREEN) block.data == W_CYAN: print ("Cyan!") Set_color (CYAN)) ብሎክ ከሆነ። ማጌንታ! ") Set_color (MAGENTA) ከሆነ block.data == W_WHITE: print (" White! ") Set_color (WHITE) last_data = block.data sleep (0.05) ከቁልፍ ሰሌዳ መቋረጥ በስተቀር GPIO.cleanup ()

ዋናው መርሃ ግብር ከላይ እንደታየ ፣ በመጀመሪያ አንዳንድ በቀለማት ያሸበረቁ የሱፍ ብሎኮችን ለማመንጨት አንዳንድ ትዕዛዞችን ለመጠቀም ፣ ከዚያ የእነሱን ብሎኮች መታወቂያ እና የቀለም ኮዱን ማግኘት እንድንችል የተጫዋቹን አቀማመጥ ማወቅ አለብን። የማገጃውን መረጃ ካገኘን በኋላ በአጫዋቹ ስር ያለው ብሎክ የሱፍ ብሎክ መሆኑን እና የቀለም ኮድ እንዳለው ለማወቅ መግለጫውን እንጠቀማለን። አዎ ከሆነ ፣ የሱፍ ማገጃው የትኛው ቀለም እንደሆነ ይፈርዱ እና የ RGB ቀለምን እንደ የሱፍ ማገጃው ተመሳሳይ ለመለወጥ የ set_color () ተግባርን ይደውሉ።

በተጨማሪም ፣ የ GPIO ፒኖችን ውፅዓት ለማፅዳት ከፕሮግራሙ ለመውጣት ስንፈልግ ከተጠቃሚ መቋረጥ በስተቀር ለመያዝ ሙከራ/መግለጫን እንጨምራለን።

የተሟላ ኮድ ተያይል።

ደህና ፣ በጣም ብዙ መለዋወጫዎች እና በጣም የተወሳሰበ ትክክል? አይጨነቁ ፣ ፕሮጀክታችንን ለማሳካት ሁለተኛውን ዘዴ እንይ ፣ ይህም የእኛን CrowPi2 የሚጠቀም የበለጠ ተለዋዋጭ እና ምቾት እንዲሰማዎት ያደርግዎታል!

ደረጃ 5: ውጤቱ

Image
Image

ጨዋታውን ይክፈቱ እና ስክሪፕቱን ያሂዱ ፣ ውጤቱን ከላይ ባለው ቪዲዮ ውስጥ ያዩታል

ከዚያ ቀስተ ደመና መስተጋብራዊ ድልድይ ለመገንባት CrowPi2 ን እንጠቀማለን

ደረጃ 6-CrowPi2- ቁሳቁሶችን መጠቀም

X 1 x CrowPi2

ደረጃ 7- CrowPi2- የግንኙነት ዲያግራምን በመጠቀም

አያስፈልግም. በ CrowPi2 ላይ ብዙ ጠቃሚ ዳሳሾች እና አካላት (ከ 20 በላይ) አሉ ፣ ሁሉም በአንድ ቀላል እና ላብ በሌለበት ብዙ ፕሮጄክቶችን እንድናደርግ በሚያስችለን በአንድ የ raspberry pi ላፕቶፕ እና በ STEM ትምህርት መድረክ ውስጥ ነው! በዚህ ሁኔታ ፣ እኛ በአንድ ጊዜ 64 RGB መሪን እንድንቆጣጠር የሚያስችለን 8x8 RGB ማትሪክስ ሞዱል በሆነው CrowPi2 ላይ ማራኪ እና በቀለማት ሞዱል እንጠቀማለን!

ደረጃ 8 CrowPi2- ለ SPI ያዋቅሩ

አያስፈልግም. CrowPi2 ከመማሪያ ስርዓት ጋር አብሮ በተሰራ ምስል ይመጣል! ሁሉም ነገር ተዘጋጅቷል ይህም ማለት በቀጥታ ፕሮግራም ማድረግ እና መማር ይችላሉ ማለት ነው። በተጨማሪም ፣ በእኛ CrowPi2 ለመሄድ ዝግጁ እንደ STEAM መድረክ ቀላል እና ቀድሞውኑ በቦርዱ ውስጥ ተካትቷል።

ደረጃ 9- CrowPi2- ኮዱን መጠቀም

አሁን ፕሮግራማችንን ለመጀመር ጊዜው አሁን ነው! በመጀመሪያ ከማዕድን ዓለም ጋር ለመዋሃድ በጣም ቀላል ኤፒአይ እንድንጠቀም የሚያስችለን እንደ MCPI ቤተ -መጽሐፍትን የመሳሰሉ እንደ MCPI ቤተ -መጽሐፍትን አስመጡ። አንድን ተግባር ከማከናወኑ በፊት የተወሰነ ጊዜን ለመጠበቅ የእንቅልፍ ተግባር ለእኛ የሚፈቅድልን የጊዜ ቤተ -መጽሐፍት ፣ የ Raspberry Pi GPIO ፒኖችን ለመቆጣጠር የሚያስችለን የ RPi. GPIO ቤተ -መጽሐፍት።

ከ mcpi.minecraft ማስመጣት Minecraft ከጊዜ ወደ ጊዜ የእንቅልፍ ማስመጣት RPi. GPIO እንደ GPIO

በመጨረሻም ፣ በቤተመጽሐፍት ውስጥ የ RGB ማትሪክስ ቤተ -መጽሐፍት የሆነውን rpi_ws281x የተባለ ቤተ -መጽሐፍትን እናስመጣለን ፣ የ LED ስትሪፕ ዕቃውን እና ቀለሙን ለማቀናበር የ RGB ቀለም ነገርን ለማዋቀር እንደ PixelStrip ያሉ ብዙ ተግባራት አሉ። የእኛ የ RGB LEDs

ከ rpi_ws281x ማስመጣት PixelStrip ፣ ቀለም

እና ያ ብቻ ነው ፣ ቤተመፃህፍቱን ከውጭ በማስመጣት ሰርተናል ፣ አሁን እነሱን ለመጠቀም ጊዜው አሁን ነው! እንደዚሁም ፣ የመጀመሪያው ነገር የ Minecraft ቤተ -መጽሐፍትን መጠቀም ነው ፣ የእኛን የፓይዘን ስክሪፕት ከ Minecraft ዓለም ጋር ማገናኘት እንፈልጋለን ፣ የ MCPI ቤተ -መጽሐፍት የውስጠ -ተግባርን በመጥራት ይህንን ማድረግ እንችላለን-

mc = Minecraft.create ()

አሁን በማዕድን ማውጫው ዓለም ላይ ክዋኔዎችን ማከናወን በፈለግን ቁጥር የ mc ን ነገር መጠቀም እንችላለን።

ቀጣዩ ደረጃ የእኛን የ RGB LEDs ለመቆጣጠር የምንጠቀምበትን የ RGB LED ማትሪክስ ክፍልን መግለፅ ይሆናል ፣ እንደ ሊድ ፣ ፒን ፣ ብሩህነት ወዘተ ባሉ መሠረታዊ ውቅር ክፍሉን እናስጀምራለን…

እኛ በተሰጠን የተወሰነ ቀለም አነስተኛውን “የሚያጸዳ” ን እና እንዲሁም እሱን ለመጠቀም በፈለግነው ጊዜ ትክክለኛውን የ RGB LED ነገርን የሚያስጀምር ተግባር የሚባል ተግባር እንፈጥራለን።

ክፍል RGB_Matrix ፦

def _init _ (ራስን) ፦

# የ LED ስትሪፕ ውቅር

self. LED_COUNT = 64 # የ LED ፒክሰሎች ብዛት።

self. LED_PIN = 12 # GPIO ፒን ከፒክሰሎች ጋር ተገናኝቷል (18 PWM ን ይጠቀማል!)።

self. LED_FREQ_HZ = 800000 # በሄርዝ (አብዛኛውን ጊዜ 800khz) ውስጥ የ LED ምልክት ድግግሞሽ

ለራስ ምልክት

self. LED_BRIGHTNESS = 10 # ወደ ጨለማ ለ 0 እና ለደማቅ 255 ያዘጋጁ

self. LED_INVERT = ሐሰት # ምልክቱን ለመቀልበስ

self. LED_CHANNEL = 0 # ለጂፒዮዎች 13 ፣ 19 ፣ 41 ፣ 45 ወይም 53 ወደ ‘1’ ተቀናብሯል

# LEDs ን በተለያዩ መንገዶች የሚያነቃቁ ተግባሮችን ይግለጹ። ንፁህ ንፁህ (ራስን ፣ እርቃን ፣ ቀለም)

# ሁሉንም ኤልኢዲዎችን በአንድ ጊዜ ያጥፉ

እኔ ለክልል (strip.numPixels ()):

strip.setPixelColor (እኔ ፣ ቀለም)

strip.show ()

def run (ራስን):

# የ NeoPixel ን ነገር በተገቢው ውቅረት ይፍጠሩ።

ስትሪፕ = PixelStrip (ራስን። LED_COUNT ፣

ራስን። LED_PIN ፣

ራስን። LED_FREQ_HZ ፣

ራስን። LED_DMA ፣

ራስን። LED_INVERT ፣

ራስን። LED_BRIGHTNESS ፣

ራስን። LED_CHANNEL)

ሞክር

ተመለስ ስትሪፕ

ከቁልፍ ሰሌዳ አቋራጭ በስተቀር

# ከመቋረጡ በፊት ማትሪክስ ኤልኢዲውን ያፅዱ

ራስን ማጽዳት (ሰቅ)

ከላይ ያለውን ካደረግን በኋላ እነዚያን ክፍሎች መጥራት እና በእኛ ኮድ ውስጥ ልንጠቀምባቸው የምንችላቸውን ዕቃዎች ለመፍጠር ጊዜው አሁን ነው ፣ መጀመሪያ እኛ የፈጠርነውን ክፍል በመጠቀም ልንጠቀምበት የምንችለውን የ RGB LED ማትሪክስ ነገር እንፍጠር።

matrixObject = RGB_Matrix ()

አሁን በ RGB ማትሪክስ ላይ የእያንዳንዳችንን ኤልኢዲዎች ለመቆጣጠር የምንጠቀምበትን ንቁ የ LED ስትሪፕ ነገር ለመፍጠር ይህንን ነገር እንጠቀም-

ስትሪፕ = matrixObject.run ()

በመጨረሻ ይህንን ስትሪፕ ለማግበር አንድ የመጨረሻ ተግባር ማከናወን ያስፈልገናል

strip.begin ()

የ Minecraft ኤፒአይ ብዙ ብሎኮችን ያጠቃልላል ፣ እያንዳንዱ Minecraft ብሎክ የራሱ መታወቂያ አለው። በእኛ ምሳሌ ውስጥ አንዳንድ የ Minecraft ብሎኮችን ወስደን የትኛው ቀለም ለእነሱ በጣም ተስማሚ እንደሆነ ለመገመት ሞክረናል።

RGB ቀይ ፣ አረንጓዴ እና ሰማያዊን ይወክላል ስለዚህ ለእያንዳንዱ ከ 0 እስከ 255 የሚደርሱ 3 የተለያዩ እሴቶችን እንፈልጋለን ፣ ቀለሞች የ HEX ወይም RGB ቅርጸት ሊሆኑ ይችላሉ ፣ እኛ የ RGB ቅርጸት ለኛ ምሳሌ እየተጠቀምን ነው።

በ Minecraft Pi ዓለም ውስጥ የተለመዱ ብሎኮች መታወቂያዎች እና ልዩ የሱፍ ብሎኮች መታወቂያዎች አሉ ፣ ልዩ ሱፍ በመታወቂያ ቁጥር 35 ስር ይመጣል ፣ ግን እስከ ብዙ የተለያዩ መታወቂያዎች ድረስ ባሉ ንዑስ ቁጥሮች… እኛ 2 የተለያዩ ዝርዝሮችን በመፍጠር ይህንን ችግር እንፈታዋለን ፣ አንደኛው ለመደበኛ ብሎኮች እና ለአንድ ልዩ የሱፍ ብሎኮች አንድ ዝርዝር

የመጀመሪያው ዝርዝር ለመደበኛ ብሎኮች ነው ፣ ለምሳሌ 0 የአየር ማገጃን ይወክላል ፣ ባዶውን ወይም ሙሉውን ነጭ የሆነውን 0 ፣ 0 ፣ 0 ቀለም እናስቀምጠዋለን ፣ ተጫዋቹ በጨዋታው ውስጥ ዘለው ወይም ሲበሩ አርጂቢው ይጠፋል ፣ 1 ከ RGB ቀለም 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 ጋር ለመዋሃድ ጊዜው አሁን ነው።

ዋናው መርሃ ግብር ቀደም ብለን የገለፅናቸውን መለኪያዎች ይወስድና በሃርድዌር ላይ ያለውን ተፅእኖ ያደርጋል።

በእያንዳንዱ ብሎክ በማዕድን ማውጫ ፒ ውስጥ በምናደርጋቸው እርምጃዎች ላይ በመመርኮዝ እነሱን ለማብራት የ CrowPi2 RGB LED ን እንጠቀማለን ፣ እንጀምር!

እኛ የምናደርገው የመጀመሪያው ነገር ጨዋታውን እስክንጫወት ድረስ ፕሮግራሙ እንዲሠራ በትእዛዛት አንዳንድ የሱፍ ብሎኮችን በትእዛዛት ማፍራት እና ትንሽ ጊዜን መፍጠር ነው።

እኛ ከተጫዋቹ የተወሰነ ውሂብ ማግኘት አለብን ፣ እኛ የተጫዋቹን ቦታ ለማግኘት በመጀመሪያ እኛ player.getPos () ትዕዛዙን እንጠቀማለን ከዚያም እኛ አሁን የቆምንበትን ብሎክ ለማግኘት getBlockWithData () ን እንጠቀማለን (y አስተባባሪ -1 የትኛው ነው በተጫዋቹ ስር ማለት ነው)

x ፣ y ፣ z = mc.player.getPos ()

mc.set ብሎኮች (x ፣ y ፣ z ፣ x+1 ፣ y ፣ z+2 ፣ 35 ፣ 14)

mc.set ብሎኮች (x+2 ፣ y+1 ፣ z ፣ x+3 ፣ y+1 ፣ z+2 ፣ 35 ፣ 11)

mc.set ብሎኮች (x+4 ፣ y+2 ፣ z ፣ x+5 ፣ y+2 ፣ z+2 ፣ 35 ፣ 2)

mc.set ብሎኮች (x+6 ፣ y+3 ፣ z ፣ x+7 ፣ y+3 ፣ z+2 ፣ 35 ፣ 5)

mc.set ብሎኮች (x+8 ፣ y+4 ፣ z ፣ x+9 ፣ y+4 ፣ z+2 ፣ 35 ፣ 4)

mc.set ብሎኮች (x+10 ፣ y+5 ፣ z ፣ x+11 ፣ y+5 ፣ z+2 ፣ 35 ፣ 10)

mc.set ብሎኮች (x+12 ፣ y+6 ፣ z ፣ x+13 ፣ y+6 ፣ z+2 ፣ 35 ፣ 1)

mc.set ብሎኮች (x+14 ፣ y+5 ፣ z ፣ x+15 ፣ y+5 ፣ z+2 ፣ 35, 10)

mc.set ብሎኮች (x+16 ፣ y+4 ፣ z ፣ x+17 ፣ y+4 ፣ z+2 ፣ 35 ፣ 4)

mc.set ብሎኮች (x+18 ፣ y+3 ፣ z ፣ x+19 ፣ y+3 ፣ z+2 ፣ 35 ፣ 5)

mc.set ብሎኮች (x+20 ፣ y+2 ፣ z ፣ x+21 ፣ y+2 ፣ z+2 ፣ 35 ፣ 2)

mc.set ብሎኮች (x+22 ፣ y+1 ፣ z ፣ x+23 ፣ y+1 ፣ z+2 ፣ 35 ፣ 11)

mc.set ብሎኮች (x+24 ፣ y ፣ z ፣ x+25 ፣ y ፣ z+2 ፣ 35 ፣ 14)

እውነት እያለ ፦

x ፣ y ፣ z = mc.player.getPos () # የተጫዋች ቦታ (x ፣ y ፣ z)

blockType ፣ ውሂብ = mc.getBlockWithData (x ፣ y-1 ፣ z) # የማገጃ መታወቂያ

አትም (አግድ ዓይነት)

ከዚያ እገዳው የሱፍ ማገጃ ፣ የማገጃ መታወቂያ ቁጥር 35 መሆኑን እንፈትሻለን ፣ እሱ ከሆነ በመዝገበ -ቃላቱ መታወቂያ ላይ በመመርኮዝ የማገጃውን ቀለም ያለው የሱፍ_ኮለሮችን እንጠቅሳለን እና ትክክለኛውን ቀለም በዚሁ መሠረት እናበራለን።

blockType ከሆነ == 35:

# ብጁ የሱፍ ቀለሞች

matrixObject.clean (ስትሪፕ ፣ የሱፍ ቀለም [str (ውሂብ)])

የሱፍ ማገጃ ካልሆነ ፣ እገዳው በአሁኑ ጊዜ ቀስተ ደመናው_መዝገበ ቃላቱ መዝገበ -ቃላት ውስጥ አለመኖሩን እንፈትሻለን ፣ ከሆነ ቀለሙን በመውሰድ እና RGB ን በመቀየር እንቀጥላለን።

በቀስተ ደመና ቀለም ውስጥ str (blockType) ከሆነ

ያትሙ (ቀስተ ደመናማ ቀለሞች [str (blockType)])

matrixObject.clean (ስትሪፕ ፣ ቀስተ ደመና ቀለም [str (blockType)])

እንቅልፍ (0.5)

ተጨማሪ ቀለሞችን እና ተጨማሪ ብሎኮችን የሚደግፍ ለመደመር ቀስተ ደመናው -ቀለም ላይ ብዙ ብሎኮችን ማከል እና ማከል ይችላሉ!

ፍጹም! መለዋወጫዎችን በመጠቀም ፕሮጄክቶችን ማከናወን የተወሳሰበ ነው ፣ ግን የ CrowPi2 ን የተቀናጀ ወረዳ በመጠቀም ፣ ነገሮች በጣም ቀላል ይሆናሉ! ከዚህም በላይ በ CrowPi2 ላይ ከ 20 በላይ ዳሳሾች እና አካላት አሉ ፣ ይህም ተስማሚ ፕሮጀክቶችዎን እና የአይአይ ፕሮጄክቶችን እንኳን እንዲያገኙ ያስችልዎታል!

ከዚህ በታች የተሟላ ኮድ ነው

ደረጃ 10-CrowPi2- ውጤቱን በመጠቀም

ጨዋታውን ይክፈቱ እና ስክሪፕቱን ያሂዱ ፣ ውጤቱን ከላይ ባለው ቪዲዮ ውስጥ ያዩታል-

ደረጃ 11- CrowPi2 ን በመጠቀም- ወደ ፊት መሄድ

አሁን በማዕድን ጨዋታ ውስጥ ከ CrowPi2 ጋር ባለቀለም ፕሮጄክታችንን ጨርሰናል። የተጫዋቹን እንቅስቃሴ ለመቆጣጠር እንደ ጆይስቲክ ፣ RFID በተለያዩ የ NFC ካርዶች ላይ የተመሠረተ ብሎኮችን ለማመንጨት እና ወዘተ በጨዋታ ለመጫወት በ CrowPi2 ላይ ሌሎች ዳሳሾችን እና አካላትን ለመጠቀም ለምን አይሞክሩ እና ወዘተ በ ‹CrowPi2 ›ላይ ባለው ጨዋታዎ ይደሰቱ እና እርስዎ ማድረግ እንደሚችሉ ተስፋ ያድርጉ። ከ CrowPi2 ጋር የበለጠ አስገራሚ ፕሮጀክቶች!

አሁን ፣ CrowPi2 አሁን በ Kickstarter ላይ ነው ፣ እርስዎም በሚያምር ዋጋ መደሰት ይችላሉ።

የ Kickstarter ገጽ አገናኝ CrowPi2 ን ያያይዙ

የሚመከር: