ዝርዝር ሁኔታ:
- ደረጃ 1: የሚያስፈልግዎት
- ደረጃ 2 ወረዳው
- ደረጃ 3 - ኮዱ
- ደረጃ 4: ማቀፊያ
- ደረጃ 5: Minecraft Forge እና SerialCraft Mod
- ደረጃ 6: SerialCraft Mod ን በመጠቀም
ቪዲዮ: Minecraft Creeper Detector: 6 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
በ Allwinedesigns የአልዊን ዲዛይኖች ተጨማሪ በደራሲው ይከተሉ
ስለ - እኔ ሙሉ ሕይወቴን የሶፍትዌር ገንቢ ነኝ ፣ በኮሌጅ ውስጥ በ 3 ዲ ግራፊክስ ላይ በማተኮር የኮምፒተር ሳይንስን አጠና ፣ ለ Dreamworks Animation የውጤት አርቲስት ነበር እና እዚህ ለልጆች እና ለአዋቂዎች ቴክኖሎጂን አስተምሯል… ተጨማሪ ስለ allwinedesigns »
ለሁለት ዓመታት ያህል ፣ የቦዝማን የሕፃናት ሙዚየም ለ STEAMlab ሥርዓተ -ትምህርታቸውን እንዲያዘጋጅ ረዳሁ። እኔ ሁል ጊዜ ልጆችን በኤሌክትሮኒክስ እና በኮድ ኮድ ለማሳተፍ አስደሳች መንገዶችን እፈልግ ነበር። Minecraft ልጆችን በሩ ውስጥ ለማስገባት ቀላል መንገድ ነው እና በአስደሳች እና ትምህርታዊ መንገዶች እሱን ለመጠቀም ብዙ ሀብቶች አሉ። Minecraft እና ኤሌክትሮኒክስን ማዋሃድ አስቸጋሪ ቢሆንም። የአርዲኖኖ ፕሮጄክቶችን ከ Minecraft ጋር ለማዋሃድ ለማገዝ እኔ SerialCraft የተባለ የራሴን Minecraft ሞድ ማዳበር ጀመርኩ። ሀሳቡ ተከታታይ ግንኙነቶችን የሚጠቀም ማንኛውንም መሣሪያ ማገናኘት እና የእኔን ሞድ በመጠቀም ከ Minecraft መልዕክቶችን መላክ እና መቀበል ይችላሉ። አብዛኛዎቹ አርዱኢኖዎች በዩኤስቢ ላይ ተከታታይ የመገናኛ ችሎታ አላቸው ፣ ስለዚህ አንድ ወረዳ ማገናኘት እና በተከታታይ ግንኙነት ላይ የተወሰነ ውሂብ መላክ ቀላል ነው። ልጆቹ ተሰብስበው የሬስቶን ምልክቶችን እንዲቆጣጠሩ ፣ እንዲነቃቁ እና ምላሽ እንዲሰጡ ፣ እና እንደ ዝቅተኛ ሕይወት ያሉ አንዳንድ ክስተቶች ለማስጠንቀቅ ወይም አንድ ተንሳፋፊ በሚጠጋበት ጊዜ ኤልኢዲዎችን ለማንፀባረቅ የሚችሉ የመቆጣጠሪያ መሣሪያዎችን ፈጠርኩ። ይህ አስተማሪው በተንቆጠቆጠው የማስጠንቀቂያ ተግባር ላይ ያተኮረ ሲሆን አዳፍ ፍሬ ኒዮፒክስሎችን እና የሌዘር ቆረጣ አክሬሊክስ እና የፓምፕ መከለያ በመጠቀም ተጨማሪ እርምጃ ይወስዳል። የ Creeper Detector ስለአቅራቢያው ስላለው ጠቃሚ መረጃ ለእርስዎ ለመስጠት 8 LED NeoPixel stick ይጠቀማል። ሁሉም ኤልኢዲዎች ሲጠፉ ፣ በ 32 ብሎኮች ውስጥ ምንም ዘራፊዎች የሉም ማለት ነው። ሁሉም ኤልኢዲዎች ሲበሩ (እነሱ እንዲሁ ብልጭ ድርግም ይላሉ) ፣ እርስዎ በክርክሩ 3 የማገጃ ፍንዳታ ራዲየስ ውስጥ ነዎት (ተንሸራታቹ የሚያቆሙበት ራዲየስ ፣ ፊውዝውን ያብሩ እና ይፈነዳል)። በመካከላቸው ያለው ማንኛውም ነገር ተንሳፋፊ ከእርስዎ ምን ያህል እንደሚርቅ ግምት ሊሰጥዎት ይችላል። ከ 8 ቱ ኤልኢዲዎች 4 ቱ ሲበሩ ፣ እርስዎ ከአንድ የከርሰ ምድር 16 ገደማ ገደማ ነዎት ፣ ይህም አንድ ተንሳፋፊ እርስዎን ካየ ያጠቃዋል። በተንሰራፋው ፍንዳታ ራዲየስ (7 ብሎኮች) ውስጥ ሲሆኑ ኤልኢዲዎቹ መብረቅ ይጀምራሉ። እርስዎ ከወጡ ፣ ተንሳፋፊው ፊውዝቱን ያቆማል እና ከእርስዎ በኋላ መምጣቱን የሚቀጥል ራዲየስ ነው። በዚህ እውቀት ፣ ከማንኛውም ያልተጠበቁ የሽብልቅ ጥቃቶች መራቅ ወይም በአቅራቢያ ያሉ ተንሳፋፊዎችን ማደን መቻል አለብዎት!
በዚህ አስተማሪ ውስጥ ፣ የእራስዎን Creeper Detector ለመፍጠር እና Minecraft ን ከአርዱዲኖ ፕሮጀክቶችዎ ጋር እንዲገናኙ የሚያስችልዎትን SerialCraft ሞድን እንዴት እንደሚጭኑ እና እንደሚጠቀሙ ሁሉንም ነገር እናልፋለን። ከወደዱት እባክዎን በማዕድን ማውጫ ውድድር እና በኤፒሎግ ውድድር ውስጥ ለእሱ ድምጽ መስጠትን ያስቡበት። እንጀምር!
ደረጃ 1: የሚያስፈልግዎት
እኔ ከተጠቀምኩባቸው ትክክለኛ ምርቶች ጋር ለመገናኘት የተቻለኝን ሁሉ አድርጌያለሁ ፣ ግን አንዳንድ ጊዜ በአማዞን ላይ የምችለውን በጣም ቅርብ የሆነ ነገር አገኛለሁ። ብዙ መጠን በመስመር ላይ ከመግዛት ለመቆጠብ አንዳንድ ጊዜ ከአከባቢዎ የኤሌክትሮኒክስ ሱቅ ወይም ከሃርድዌር መደብር ጥቂት ነገሮችን ማንሳት ጥሩ ነው።
- እኔ የ 8 LED RGBW NeoPixel stick ን እጠቀም ነበር ፣ ግን እኔ የ 8 LED RGB NeoPixel stick እንዲሁ ነጭ (W) ኤልዲ አልጠቀምኩም። ይህንን ለማንኛውም የ RGB ወይም RGBW NeoPixel ምርት መተካት ይችላሉ ፣ ግን በሚቀጥለው ደረጃ የምንወያይባቸው እና እዚህ ስንደርስ የምጠቅሳቸው የኮድ ለውጦች አሉ። ብየዳውን የማይፈልግ አንዱን መምረጥ ይፈልጉ ይሆናል ፣ ግን እኔ ገመዶችን በዱላ ላይ እንዴት እንደሸጥኩ አሳያችኋለሁ።
- የማይክሮ መቆጣጠሪያ እና ተጓዳኝ የዩኤስቢ ገመድ። እኔ የአርዱዲኖ ኡኖ ክሎነር የሆነውን የ SparkFun RedBoard ን እጠቀም ነበር። እሱ አነስተኛ ቢ ዩኤስቢ አያያዥ ይጠቀማል (በአማዞን ላይ ለምን በጣም ውድ እንደሆነ እርግጠኛ አይደለሁም ፣ በቀጥታ ከ SparkFun እዚህ ሊያገኙት ይችላሉ ፣ ወይም በአማዞን ላይ እንደ አማራጭ ይሄዳሉ)። ኮዱን ለማቃለል የአርዱዲኖ ቤተ -መጽሐፍትን እንጠቀማለን ፣ ግን እሱ የዩኤስቢ ተከታታይን ማድረግ በሚችል በማንኛውም ማይክሮ መቆጣጠሪያ ላይ እንዲሠራ ቤተ -መጻህፍት ሊሠራበት ስለሚችል መሠረታዊ ተከታታይ ግንኙነትን ብቻ ይጠቀማል። ማንኛውም Arduino ማለት ይቻላል ያደርጋል። የዩኤስቢ ተከታታይ እንዳለው ያረጋግጡ (አብዛኛዎቹ ያደርጉታል ፣ ግን አንዳንዶቹ እንደ መጀመሪያው ትሪኔት አይወዱም)።
- ሽቦዎች ፣ ብየዳ ብረት እና ብየዳ (የሽቦ ቆራጮች እና ሦስተኛ እጅ እንዲሁ ይመጣሉ)። ወደ አርዱinoኖ እንዲሰካ ሽቦዎችን ወደ ኒኦፒክስል ዱላ እንሸጣለን። ቀድሞውኑ ሽቦዎች የተገጠሙበት የ NeoPixel ምርት ወይም በመርከቧ ላይ ከ NeoPixels ጋር የሚመጣውን ማይክሮ መቆጣጠሪያ (እንደ የወረዳ መጫወቻ ስፍራ ኤክስፕረስ ፣ ለወደፊቱ ኮዱን ያካተትኩትን) ከመረጡ እነዚህ አላስፈላጊ ሊሆኑ ይችላሉ። የ 8 ኤልኢዲ ዱላ የቅፅ ሁኔታ የእኔን የ Creeper Detector ማቀፊያ (ዲዛይን) ያዘጋጀሁለት ነው ፣ ስለሆነም ወደ ሌላ ቅጽ ሁኔታ ከሄዱ ማሻሻያዎችን ማድረግ ወይም ያለ ማቀፊያ መሄድ አለብዎት።
- የማቀፊያ ቁሳቁሶች. እኔ በጨረር ቆረጥኩ እና M3 የማሽን ብሎኖች እና ለውዝ አንድ ላይ ለመያዝ 1/8 “የቀዘቀዘ አክሬሊክስ ፣ 1/8” ጥርት ያለ አክሬሊክስ እና 1/8”ጣውላ ተጠቀምኩ። የኒዮፒክስል ዱላውን ከግቢው ጋር ለማያያዝ እኔ ደግሞ አንዳንድ #2 x 1/4 የእንጨት ብሎኖችን ተጠቅሜያለሁ። መከለያው አላስፈላጊ ነው ፣ ግን በእርግጥ አንዳንድ ተጨማሪ ቀስቃሽ ቅልጥፍናን ይጨምራል። የእኔ ማቀፊያ የተቀረፀው ማይክሮ መቆጣጠሪያውን ሳይሆን ኒኦፒክስሎችን ብቻ ለማኖር ነው። ሙሉ በሙሉ እራሱን እንዲይዝ ከፈለጉ ፣ ማሻሻያዎችን ማድረግ ያስፈልግዎታል!
- የ Minecraft መለያ ፣ Minecraft Forge 1.7.10 እና SerialCraft (ሞዱ እና አርዱዲኖ ቤተ -መጽሐፍት)። የ Creeper Detector በ Minecraft Forge በ Minecraft 1.7.10 ላይ ብቻ በሚሰራው በ SerialCraft mod ላይ ይተማመናል። እነዚህን እንዴት ማውረድ እንደሚችሉ እና እንዴት ወደፊት ደረጃዎች ውስጥ እንዴት እንደሚዋቀሩ እንነጋገራለን።
- የአርዱዲኖ አይዲኢ ወይም በአርዱዲኖ ፍጠር እና በ Arduino ፍጠር ተሰኪ ላይ (እኔ በቀጥታ ወደ የእኔ አርዱዲኖ ፍጠር ንድፍ ለመሄድ እና ከዚያ ለማቀናጀት እና ለመስቀል ስለሚችሉ አርዱዲኖ ፍጠርን እንዲጠቀሙ እመክራለሁ)።
ደረጃ 2 ወረዳው
ወረዳው በጣም ቀላል ነው ፣ 3 ገመዶች ብቻ ፣ የ NeoPixel stick እና Arduino። ሁሉም Adafruit NeoPixels የራሳቸው ተቆጣጣሪ አላቸው ፣ ይህም አንድ ነጠላ የውሂብ ሽቦ ማንኛውንም የታሰሩ ኤልኢዲዎችን ለመቆጣጠር ያስችላል። በእኔ አርዱinoኖ ላይ ከፒን 12 ጋር አገናኘሁት።
ሌሎቹ ሁለት ሽቦዎች ለኃይል እና ለመሬት ናቸው። NeoPixels ን ለማብራት ፣ 5V የኃይል ምንጭ ያስፈልገናል። ምንም እንኳን የኃይል ምንጫችን በቂ የአሁኑን ለማቅረብ የሚችል መሆኑን ማረጋገጥ አለብን። እያንዳንዱ ኒኦፒክስል ሙሉ ብሩህነት ላይ እስከ 60mA (80mA ከ RGBW LEDs) መሳል ይችላል። በ 8 LEDs ፣ ያ ማለት የእኛ ከፍተኛ የአሁኑ 480mA (640mA ከ RGBW LEDs ጋር) ነው። አርዱዲኖ ለማብራት ~ 40mA ይወስዳል። በመጀመሪያ ሲታይ ፣ ይህ የውጭ የኃይል አቅርቦትን መጠቀም ያለብን ይመስላል። ዩኤስቢ ሁሉንም የእኛን LEDs ወደ ከፍተኛ (480+40 = 520 ከ RGB LEDs ወይም 640+40 = 680 ከ RGBW LED ጋር) ብናስቀምጥ እኛ ልናልፈው የምንችለውን ከፍተኛውን 500mA ይፈቅዳል። እንደ እድል ሆኖ ፣ እኛ ኤልኢዲዎቹን ወደ ሙሉ ብሩህነታቸው ማዞር አያስፈልገንም (ሙሉ ብሩህነት በጣም ዓይነ ስውር ነው) ፣ ስለሆነም በዩኤስቢ በኩል የተሰካውን የእኛ አርዱinoኖን 5V ባቡር በመጠቀም ደህንነታችን የተጠበቀ ይሆናል። እንደ እውነቱ ከሆነ እኔ የመረጥኩትን አረንጓዴ ቀለም በመጠቀም በጠቅላላው ~ 100mA ከፍተኛ የአሁኑን ስዕል በ LED ~ 7-8mA ቢበዛ ብቻ ይጠቀማል ፣ በዩኤስቢ በተጫነው 500mA max በታች።
ስለዚህ ፣ እኛ ማድረግ ያለብን የኒዮፒክስል ዱላውን የ DIN ፒን ወደ ፒን 12 ማያያዝ ነው (ማንኛውም ፒን ይሠራል ፣ ግን ይህ እኔ የተጠቀምኩት እሱ ነው) ፣ በ NeoPixel ላይ ያለው 5V ፒን በአርዱዲኖ ላይ 5 ቮን ፣ እና በ NeoPixel ላይ የ GND ፒን በአርዱዲኖ ላይ ከ GND ጋር ተጣብቋል። በመጀመሪያ ፣ ሽቦዎቻችንን በ NeoPixel stick ላይ መሸጥ አለብን።
አገናኞችን ከአንድ ሽቦዎችዎ ጫፍ ይቁረጡ እና ጫፎቹን ያጥፉ። እያንዳንዳቸው ቆርቆሮ (ለእያንዳንዱ ጫፎች በሻጩ ላይ ይተግብሩ)። ከዚያ በእያንዲንደ መከለያዎች ሊይ ትንሽ ብሌን ያስቀምጡ። እያንዳንዱን ፓድ በተሸጠው ብረት በጥንቃቄ ይንኩ ፣ ተጓዳኝ ሽቦውን ጫፍ በፓድ ላይ ያድርጉት ፣ ከዚያ ብረቱን ያስወግዱ።
ደረጃ 3 - ኮዱ
አዘምን (2/19/2018): ለጂሪሁብ ሪፖች በወረዳ መጫወቻ ስፍራ ኤክስፕረስ ላይ እንዲሠራ ሁሉንም አስፈላጊ ለውጦችን የሚያካትት አዲስ የአርዱዲኖ ንድፍ ለ GitHub repo ለጥፌዋለሁ (ከግቢው ጋር አይሰራም ፣ ግን ሁሉም አለው) በቦርዱ ውስጥ የተገነቡ ኤልኢዲዎች እና አንዳንድ አነፍናፊዎች ፣ ስለሆነም መሸጫ አያስፈልግም)። በእሱ አዝራሮች እና በተንሸራታች ማብሪያ / ማጥፊያ ላይ የታሰሩ አንዳንድ ተጨማሪ ተግባራትን ያጠቃልላል!
ለሙሉ ኮድ ፣ ወደ የእኔ አርዱዲኖ ንድፍ ወይም የጊትሆብ ማከማቻ ፍጠር መሄድ ይችላሉ። ኮዱን እንዴት ማጠናቀር እና መስቀል እንደሚችሉ እርግጠኛ ካልሆኑ እዚህ ያሉትን መመሪያዎች ይከተሉ። የ Arduino IDE ን ለመጠቀም ከመረጡ የ SerialCraft Arduino ቤተ -መጽሐፍትን መጫን ያስፈልግዎታል። ይህንን ለማድረግ እዚህ “ዚፕ ማስመጣት” ስር ያሉትን ደረጃዎች ይከተሉ። የአርዲኖን የድር አርታኢ ፍጠር የሚጠቀሙ ከሆነ አንዴ ከተዋቀሩ በኋላ በቀጥታ ወደ የእኔ ንድፍ መሄድ ይችላሉ እና የ SerialCraft ቤተ -መጽሐፍትን ከመጫን መቆጠብ ይችላሉ።
ከዚህ በታች ኮዱ ምን እያደረገ እንደሆነ እሄዳለሁ።
የመጀመሪያዎቹ ሁለት መስመሮች ቤተመፃሕፍት ያካትታሉ። የመጀመሪያው ፣ SerialCraft.h ፣ እኔ ከ SerialCraft ሞድ ጋር በቀላሉ መገናኘት እንዲችል የፃፍኩት ቤተ -መጽሐፍት ነው። እኔ ከዚህ በታች የምጠቀማቸውን ባህሪዎች እናገራለሁ ፣ ግን በጊትሆብ ማከማቻ ውስጥ አንዳንድ ሥራ የሚያስፈልጋቸውን ምሳሌዎች እና አንዳንድ ሰነዶችን መመልከት ይችላሉ። ሁለተኛው ቤተ -መጽሐፍት የአዳፍ ፍሬዝ ኒዮፒክስል ቤተ -መጽሐፍት ሲሆን በ NeoPixel strips ላይ ያሉትን ኤልዲዎች ለማስተካከል ኤፒአይ ይሰጣል።
#ያካትቱ
#ያካትቱ
4-17 መስመሮች በማዋቀርዎ መሠረት ሊለወጡ የሚችሉ ቋሚዎች ናቸው። በተለየ የፒክሰሎች ብዛት የ NeoPixel strip ን ከተጠቀሙ ወይም የእርስዎን NeoPixels ን ከሌላ ፒን ጋር ካያያዙት በመጀመሪያዎቹ ሁለት ትርጓሜዎች ፣ NUMLEDS እና ፒን ላይ ለውጦችን ማድረግ ያስፈልግዎታል። እርስዎ ካለዎት ዓይነት LED_TYPE ን መለወጥ ያስፈልግዎታል ፣ ችግር ካጋጠምዎት NEO_GRBW ን ወደ NEO_RGB ወይም NEO_RGBW ለመቀየር ይሞክሩ። ተንሳፋፊዎችን መለየት የሚችሉበትን ክልል ለማስተካከል ከፈለጉ BLOCKS_PER_LED ን መለወጥ ይችላሉ።
// ከማዋቀርዎ ጋር ለማዛመድ እነዚህን ተለዋዋጮች ይለውጡ
በእርስዎ ስትሪፕ ውስጥ // የኤልዲዎች ብዛት #ተለይተው NUMLEDS 8 // ፒን የ LED መረጃ ፒን ከ #ዲፊን ፒን 12 // እያንዳንዱ LED ከሚወክላቸው ብሎኮች ብዛት #ጥርት ብሎኮች_ፔር_LED 4 // ያለዎት የ LED ስትሪፕ ዓይነት (ካለዎት) የእርስዎ ኤልኢዲዎች አረንጓዴ እየሆኑ አይደሉም ፣ ከዚያ የ GRBW ን ቅደም ተከተል መለወጥ ያስፈልግዎታል # #ጥራት LED_TYPE (NEO_GRBW+NEO_KHZ800) // ተለዋዋጭ ተለዋጭ
መስመሮች 19-27 በኋላ ላይ የምንጠቀምባቸውን አንዳንድ እሴቶች ይገልፃሉ። DETONATE_DIST አንድ መንሳፈፍ መንቀሳቀሱን የሚያቆም ፣ ፊውዝውን የሚያበራ እና የሚፈነዳበት በማዕድን ውስጥ ያለው ርቀት ነው። SAFE_DIST የ creeper ፍንዳታ ራዲየስ ነው። እነዚህን እሴቶች መለወጥ የ LEDs ባህሪ ላይ ተጽዕኖ ያሳድራል ፣ ነገር ግን በማዕድን ውስጥ ባህሪያትን ስለሚያንፀባርቁ ምን እንደሆኑ እንዲጠብቁ እመክራለሁ። MAX_DIST የእኛን ኒኦፒክስል ስትሪፕ ባላቸው የ LED ዎች ብዛት እና ከላይ በገለጽነው BLOCKS_PER_LED ቋሚ ላይ ተመስርተን የምንጓዝበትን ከፍተኛ ርቀት ነው።
// እነዚህ በእኛ ስሌቶች ውስጥ ለ LED ብሩህነት የሚያገለግሉ እሴቶች ናቸው
// የርቀት ተንሳፋፊ #መግለፅ ይጀምራል #መለየት DETONATE_DIST 3 // ርቀትን ከተንቀጠቀጠ ፍንዳታ እንጠብቃለን (በዚህ ርቀት ውስጥ ከሆኑ ጉዳት ያደርስብዎታል) #ጠቢባንን #የምንለይበትን/ የምንጠብቀውን ደህንነቱ የተጠበቀ_DIST 7 // ከፍተኛ ርቀት MAX_DIST (NUMLEDS*BLOCKS_PER_LED)
መስመሮች 29-36 በፕሮግራሙ ውስጥ የምንጠቀምባቸውን አንዳንድ ተለዋዋጮች ይገልፃሉ። የ sc ተለዋዋጭ ከ SerialCraft Minecraft mod ጋር ለመገናኘት ቀላል ለመጠቀም በይነገጽ የሚሰጥ የ SerialCraft ነገር ነው። ከዚህ በታች እንዴት እንደምንጠቀምበት ያያሉ። የርቀት መልእክት ከሴሪያክራፍት ሞድ ሲደርሰን dist ወደ ቅርብ ወደሚገኝ ዘራፊ የምንወስደው ተለዋዋጭ ነው። ስትሪፕ NeoPixel strips ን ለመቆጣጠር ዘዴዎችን የሚሰጥ የ Adafruit_NeoPixel ነገር ነው።
// ይህ ከ SerialCraft Minecraft mod ጋር ለመገናኘት SerialCraft ነገር ነው
SerialCraft sc; // ከ creeper int dist = 100 ርቀት; // የኤልዲዎችን ጭረት ያስጀምሩ ፣ 3 ኛውን Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMLEDS ፣ PIN ፣ LED_TYPE) መለወጥ ሊያስፈልግዎት ይችላል ፤
መስመሮች 38-47 የእኛ የማዋቀሪያ ተግባራችን ናቸው። ሁሉም የአርዱዲኖ ስክሪፕቶች አንድ ሊኖራቸው ይገባል። አርዱዲኖ በሚበራበት ጊዜ አንድ ጊዜ ይካሄዳል ፣ ስለሆነም ተለዋዋጮችን ለማስጀመር ጥሩ ቦታ ነው። በ SerialCraft ሞድ (115200) ውስጥ እንደተዋቀረው Serial Port ን ወደ ተመሳሳይ የባውድ ተመን ለማስጀመር በእኛ SerialCraft ነገር ላይ የማዋቀር () ዘዴን እንጠራለን። በ SerialCraft ሞዱ ለተላኩልን የርቀት መልእክቶች ምላሽ መስጠት እንድንችል ከዚያ እኛ ወደ RegCreeperDistanceCallback ዘዴ እንደውላለን። የ sc.loop () ዘዴን ትንሽ ወደ ታች እንጠራዋለን። በሉፕ ዘዴው ፣ እኛ ከ SerialCraft ሞድ ማንኛውንም መልእክት የተቀበልን ወይም እንደ አዝራርን መጫን ያሉ ማናቸውንም ክስተቶች መቀስቀሱን ወይም አለመሆኑን ለማየት ይፈትሻል ፣ እና እሱን ለማስተዳደር የተመዘገበውን ተጓዳኝ ተግባር ይደውላል። እኛ እያደረግን ያለነው በአቅራቢያችን ያለውን የክርክር ርቀት መፈለግ ነው ፣ ስለዚህ እኛ የምንመዘግበው ብቸኛው ተግባር ነው። ከዚህ በታች ያያሉ ፣ በዚያ ተግባር ውስጥ የምናደርጋቸው ሁሉ የእኛን ዲአይኤስ (LED) ሲያዘምኑ የምንጠቀመው የእኛን ተለዋዋጭ ተለዋዋጭ ነው። በመጨረሻም ፣ የእኛን የ LED ስትሪፕ እናስጀምራለን እና strip.begin () እና strip.show () ን በመጠቀም ሁሉንም LED ዎች እናጠፋለን።
ባዶነት ማዋቀር () {// SerialCraft sc.setup () ማስጀመር (); // በአቅራቢያው ወደሚገኝ ክሬይ sc.registerCreeperDistanceCallback (creeper) ርቀቱን ለመቀበል የርቀት ርቀት ጥሪን ይመዝግቡ ፤ // የ LED strip strip.begin () ን ያስጀምሩ; strip.show (); }
መስመሮች 49-80 የ loop ተግባርን ይገልፃሉ። የሉፕ ተግባሩ ሁሉም አስማት የሚከሰትበት ነው። የሉፕ ተግባር በተደጋጋሚ ይጠራል። የሉፕ ተግባሩ ሩጫውን በጨረሰ ቁጥር እንደገና ወደ ላይ ይመለሳል። በእሱ ውስጥ የእያንዳንዱ ኤልኢዲ ሁኔታ ምን መሆን እንዳለበት ለመወሰን የርቀት ተለዋዋጭውን እና በፋይሉ አናት ላይ የእኛን ቋሚዎች እንጠቀማለን።
በሉፕ ተግባሩ አናት ላይ ጥቂት ተለዋዋጮችን እንገልፃለን።
// ከ 0 ሲደርስ> = = MAX_DIST ከ creeper ፍንዳታው ራዲየስ ራቅ ብሎ ወደ NUMLEDS*BLOCKS_PER_LED ሲንሳፈፍ አናት ላይ
int blocksFromCreeperToMax = constrain (MAX_DIST+DETONATE_DIST-dist ፣ 0 ፣ MAX_DIST); int curLED = ብሎኮችFromCreeperToMax/BLOCKS_PER_LED; // ክልሎች ከ 0 ወደ NUMLEDS-1 int curLEDLevel = (blocksFromCreeperToMax%BLOCKS_PER_LED+1); // ክልሎች ከ 1 እስከ BLOCKS_PER_LED
እኛ ወደ ዘራፊ ምን ያህል ቅርብ እንደሆንን ላይ በመመርኮዝ ኤልዲዎቹን እያበራን ስለሆነ የርቀት ተለዋዋጭችንን ውጤታማ በሆነ መንገድ መገልበጥ አለብን። እኛ blocksFromCreeperToMax ወደ creeper እኛ መከታተል ግድ ያለውን ከፍተኛ ርቀት ነው ብሎኮች ብዛት ለመወከል መግለጽ. እኛ በተንሸራታች አናት ላይ ስንሆን (ወይም ይልቁንስ ፣ ከዝርያው ርቆ ከ DETONATE_DIST ያነሰ ወይም እኩል ነው) ፣ ብሎኮችFromCreeperToMax MAX_DIST ይሆናሉ። እኛ ከ MAX_DIST አልፈን ስንወጣ ፣ ብሎኮችFromCreeperToMax 0. ይሆናሉ ፣ ይህ የእኛን ኤልኢዲ (LEDs) እንደ ትልቅ ስናበራው ፣ የበለጠ ኤልኢዲዎች አብረናል።
curLED የሚበራ ከፍተኛው በጣም LED ነው። ወደ አንድ ተንሳፋፊ የምንሄደው እያንዳንዱ 4 ብሎኮች ተጨማሪ LED ያበራሉ (ያ ቁጥር በ BLOCKS_PER_LED ተለዋዋጭ በፋይሉ አናት ላይ ሊለወጥ ይችላል)። ከርቀት ወደ አንድ ብሎክ ለውጦችን ለማየት የከፍተኛውን የ LED ን ብሩህነት እናስተካክለዋለን። curLEDLevel እነዚያን የብሩህነት ለውጦችን ለማስላት የምንጠቀምበት ተለዋዋጭ ነው። ከ 1 እስከ 4 (ወይም ማንኛውም BLOCKS_PER_LED እንደ ተገለጸ) ነው።
እያንዳንዱን ኤልኢዲ ሲያንዣብቡ እነዚህን ተለዋዋጮች እንጠቀማለን-
ለ (uint16_t i = 0; i <strip.numPixels (); i ++) {ከሆነ (i <= curLED) {// በብሩህ ፍንዳታ ራዲየስ ውስጥ ሲበራ / ሲበራ ፣ ተንሸራታቾች ቁጥር NUMLEDS*BLOCKS_PER_LED ርቆ የሚንሳፈፍ ጥንካሬ = (ተንሳፋፊ) ብሎኮችFromCreeperToMax /MAX_DIST; ከሆነ (i == curLED) {// የመጨረሻው LED በርቷል // ወደ ቀጣዩ የ LED ተንሳፋፊ lastIntensity = (ተንሳፋፊ) curLEDLevel/BLOCKS_PER_LED ሲቃረብ የመጨረሻውን LED ብሩህ ያደርገዋል። ጥንካሬ *= lastIntensity; } ከሆነ (dist <SAFE_DIST) {ኃይለኛ *= (ሚሊስ ()/75)%2; } ጥንካሬ = ዱቄት (ጥንካሬ ፣ 2.2); // የጋማ ኩርባ ፣ የብሩህነት እሴቱ በእውነቱ ስትራቴጂ በማይሆንበት ጊዜ የ LED ብሩህነት በዓይናችን ላይ መስመራዊ እንዲመስል ያደርገዋል። } ሌላ {strip.setPixelColor (i, strip. Color (0, 0, 0, 0)); }}
እኛ እያዘመንነው ያለው የአሁኑ ኤልኢዲ ከተጠጋው ተለዋዋጭ ያነሰ ወይም እኩል ከሆነ ፣ እሱ በርቶ መሆን እንዳለበት እናውቃለን እና ብሩህነቱን ማስላት ያስፈልገናል። አለበለዚያ አጥፋው። የእኛን ኤልኢዲ ብሩህነት ለመወከል በ 0 እና 1 መካከል እሴት የሚኖረውን የጥንካሬ ተለዋዋጭ እንጠቀማለን። የ LED የመጨረሻውን ቀለም ሲያቀናብሩ ፣ ጥንካሬውን በቀለም (10 ፣ 70 ፣ 10) ፣ አረንጓዴ ቀለም እናባዛለን። በ MAX_DIST በመከፋፈል መቶኛ ለማግኘት ብሎኮችን ከ ‹FromCreeperToMax› ተለዋዋጭ እንጠቀማለን ፣ ስለዚህ እኛ ወደ አንድ ዘጋግ ስንጠጋ ኤልኢዎቹ በጣም ብሩህ ይሆናሉ። እኛ የ curLED ን ብሩህነት ካሰላነው ፣ ተንሸራታቹ ከእርስዎ እስከ BLOCKS_PER_LED ቅንብር ድረስ ለእያንዳንዱ የርቀት ማገጃ ብሩህነቱን እንለውጣለን። ይህ ስውር ለውጥ ነው ፣ ግን አንድ ተጨማሪ ብርሃን ለማብራት ከሚያስፈልገው 4 ብሎኮች ይልቅ አንድ ዘራፊ በጥሩ እህል እየቀረበ ወይም እየራቀ መሆኑን ለማየት ሊያገለግል ይችላል። ከዚያ እኛ እኛ በተንሸራታች ፍንዳታ ራዲየስ ውስጥ መሆናችንን እንፈትሻለን እና ከሆንን ብልጭ ድርግም እንላለን። አገላለፁ (ሚሊስ ()/75)%2 ለ 75 ሚሊሰከንዶች 0 እና ከዚያ 1 ለ 75 ሚሊሰከንዶች ይገመግማል ፣ ስለዚህ በዚህ አገላለጽ የእኛን ጥንካሬ ማባዛት LED ዎች ብልጭ ድርግም እንዲሉ ያደርጋቸዋል።
ወደ ጥንካሬው የመጨረሻው ለውጥ (ጥንካሬ = ዱቄት (ጥንካሬ ፣ 2.2)) ፣ ጋማ እርማት ተብሎ የሚጠራ ማስተካከያ ነው። የሰው ዓይኖች ብርሃን ባልሆነ መንገድ ብርሃንን ይመለከታሉ። ከደማቅ ብርሃን እኛ ከምንችለው በላይ የደብዛዛ ብርሃን ደረጃዎችን ማየት እንችላለን ፣ ስለዚህ እኛ በመስመር ላይ የምንወርድ ለመምሰል የደመቀ ብርሃንን ብሩህነት ስናወርድ ብርሃኑ ከደበዘዘበት በላይ እንወርዳለን። ፋሽን ለሰው ዓይን። የዚህ ለውጥ የጎንዮሽ ውጤት አነስ ያለ ኃይልን በመጠቀም እንጨርሳለን ምክንያቱም የእኛ ፒክሰሎች ከደማቅ (ከፍ ካለው ኃይል) ክልል የበለጠ በዲሚመር (ዝቅተኛ ኃይል) ክልል ውስጥ ብዙ ደረጃዎች አሏቸው።
የሉፕ ተግባራችን የመጨረሻዎቹ ሁለት መስመሮች ኤልዲዎቹን እኛ ወደምናስቀምጣቸው እሴቶች ያዘምኑ እና ከዚያ በ SerialCraft ሊጠሩ የሚገባቸውን ማንኛቸውም ተቆጣጣሪዎች ይደውሉ (በዚህ ጉዳይ ላይ የርቀት ርቀትን ተግባር ፣ ከ SerialCraft ሞድ ማንኛውንም የርቀት ርቀት መልዕክቶችን ከተቀበልን).
strip.show ();
sc.loop ();
የእኛ የስክሪፕት የመጨረሻዎቹ መስመሮች የ SerialCraft ሞዱ ያንን መረጃ የያዘ መልእክት ሲልክልን በአቅራቢያ ወዳለው ክሬተር ርቀቱን የምናከማችበት የከርሰ ምድር ተግባር ነው።
ባዶ creeper (int d) {dist = d; }
አሁን ኮዱን ማጠናቀር እና መስቀል ብቻ ያስፈልግዎታል!
ደረጃ 4: ማቀፊያ
እኔ አንድ የቀዘቀዘ acrylic creeper ፣ አንድ ግልጽ አክሬሊክስ ክሬተር ፣ 6 ቁርጥራጭ ቁርጥራጮችን የያዘውን የአከባቢዬን ቁርጥራጮች በሙሉ በጨረር እቆርጣለሁ ፣ በአክሬሊክስ ክሬሞች መጠን እና በማያያዣዎች ውስጥ ለ 1 ማያያዣዎች 1 ቀዳዳዎች ለመያዣዎች ቀዳዳዎች እና አንድ ትልቅ ቀዳዳ ላለው ጀርባ ሽቦዎቹ እንዲወጡ። በአቅራቢያችን ውስጥ ለመጫን ሽቦዎቹን ከ NeoPixel ዱላ ያላቅቁ። ከዚህ በታች ያሉት ሁለቱ የፒዲኤፍ ፋይሎች እኔ የገለፅኳቸውን ቁርጥራጮች ሁሉ በሌዘር ለመቁረጥ ሊያገለግሉ ይችላሉ።
የኒዮፒክስል ዱላ #2 የእንጨት ብሎኖችን እና የናይለን ስፔሰሮችን በመጠቀም ከጀርባው የፓንዲው ቁራጭ ላይ ይጫናል። አክሬሊክስ ተንሸራታቾች ከካሬ ቀዳዳዎች ጋር በሁለት የፓምፕ ቁርጥራጮች ተጣብቀዋል። ይህን ከማድረግዎ በፊት በትር ላይ የትኛው የሽቦ ቀለም ወደ የትኛው ፓድ እንደሚሄድ ማስታወስዎን ያረጋግጡ።
ከፓኬቱ ጋር በጣም የተስተካከለ ሁኔታ ለመስጠት ከ acrylic creepers ከጉድጓዶቹ የበለጠ 1 መቶኛ ኢንች ስፋት አላቸው።በእያንዳንዱ ማእዘኑ ላይ ያተኮረ ጫና ለማድረግ የሽቦ ቆጣቢዎቹን እጀታ ተጠቅሜ እኩል ተስማሚ ለመሆን መላውን ተዘዋዋሪ በመንገድ እሠራ ነበር። በአማራጭ ፣ አክሬሊክስ ሌዘር ፒዲኤፍ በአነስተኛ የ acrylic creeper ጋር ጥብቅ መገጣጠም እንዳይኖርብዎት በአከባቢው ሙሉ ፊት መጠን በማያያዣ ቀዳዳዎች አንድ ቁራጭ ውስጥ የተቀረጸ ዘንቢል ያካትታል።
የቀዘቀዘ አክሬሊክስ መብራቱን ከእያንዳንዱ ኤልኢዲዎች ያሰራጫል እና ጥርት ያለ አክሬሊክስ ተንሳፋፊ ቅርፃ ቅርጾችን በተሻለ ሁኔታ ያሳያል ፣ ስለሆነም ሁለቱም ተጣምረው ከሁለቱም በተሻለ ለእኔ ይመስላሉ። መንሸራተቻዎቹ አንዴ ከተቀመጡ ፣ ሁሉንም የፓንዲንግ ቁርጥራጮችዎን አንድ ላይ ያከማቹ እና ከ M3 ማሽን ብሎኖች እና ለውዝ ጋር አንድ ላይ ያያይenቸው። ከዚያ ሽቦዎቹን ወደ 5 ቮ ፣ ጂኤንዲ እና ፒን 12 እንደገና ያገናኙ።
ደረጃ 5: Minecraft Forge እና SerialCraft Mod
የ Minecraft መለያ በመፍጠር ይጀምሩ ፣ ከዚያ የ Minecraft ደንበኛውን ያውርዱ እና ይጫኑ።
የ SerialCraft ሞድን ለመጫን Minecraft Forge ለስሪት 1.7.10 ያስፈልግዎታል። ወደ 1.7.10 Minecraft Forge የማውረጃ ገጽ ይሂዱ። የ Minecraft Forge ጣቢያ የተሳሳተ ነገር ጠቅ እንዲያደርጉ እና ወደ ሌላ ቦታ እንዲወስዱዎት የሚፈልጉ ብዙ ማስታወቂያዎች አሉት። በትክክለኛው መንገድ ላይ መቆየትዎን ለማረጋገጥ ከላይ ያሉትን ምስሎች ይከተሉ! በሚመከረው 1.7.10 ስሪት (ወይም የቅርብ ጊዜው ፣ በእውነቱ ልዩነቱን እርግጠኛ አይደለሁም) ስር የመጫኛ ቁልፍን ጠቅ ማድረግ ይፈልጋሉ። በገጹ አናት ላይ ባለው ሰንደቅ ወደ አንድ ገጽ ይወሰዳሉ “ከዚህ ራስጌ በታች ያለው ይዘት ማስታወቂያ ነው። ከመቁጠር በኋላ ፣ ፎርጅ ማውረድዎን ለመጀመር በስተቀኝ ያለውን ዝለል የሚለውን ቁልፍ ጠቅ ያድርጉ” ይላል። ቆጠራውን ወደ ታች መጠበቅዎን ያረጋግጡ እና ከዚያ ማውረዱን ለመጀመር ዝለል የሚለውን ቁልፍ ጠቅ ያድርጉ።
ማውረዱን ከጨረሰ በኋላ ጫ instalውን ሁለቴ ጠቅ ያድርጉ። ነባሪዎቹን ምልክት ያድርጉ (ደንበኛን እና እሱ የሚፈልገውን ነባሪ ዱካ ጫን) ፣ ከዚያ እሺን ጠቅ ያድርጉ። Minecraft Forge ን ይጭናል። ሲጨርስ Minecraft ማስጀመሪያን መጀመር ይችላሉ ፣ ግን የ 1.7.10 የፎርጅን ስሪት ለመምረጥ (ከላይ ያለውን ምስል ይመልከቱ) ለመምረጥ አንድ ተጨማሪ አማራጭ ይኖራል።
አሁን የ SerialCraft ሞድን ወደ የእርስዎ mods ማውጫ መጫን አለብን። የቅርብ ጊዜውን የ SerialCraft ሞድ ስሪት እዚህ ያውርዱ። እንዲሁም የ jssc ቤተ -መጽሐፍት ያስፈልግዎታል። ሁለቱንም ፋይሎች ይንቀሉ ፣ ይህም በሁለት.jar ፋይሎች ሊተውዎት ይገባል። እነዚያን ፋይሎች በ mods አቃፊዎ ውስጥ ማስገባት ያስፈልግዎታል። በዊንዶውስ ላይ ፣ ከመነሻ ምናሌው ወደ ሩጫ መሄድ እና አሂድን ጠቅ ከማድረግዎ በፊት %appdata %\. Minecraft / mods ማስገባት መቻል አለብዎት። በማክ ላይ ወደ ቤት/ቤተ -መጽሐፍት/የትግበራ ድጋፍ/የማዕድን/ሞድ/ማሰስ ይችላሉ። ሁለቱን.jar ፋይሎችን አሁን በከፈቱት አቃፊ ውስጥ ይጥሏቸው። አሁን Minecraft ን ያሂዱ እና 1.7.10 ፎርጅ ሥሪቱን ያስጀምሩ። Mods ላይ ጠቅ ማድረግ እና በግራ በኩል የተዘረዘሩትን SerialCraft ማየት መቻል አለብዎት።
ደረጃ 6: SerialCraft Mod ን በመጠቀም
አሁን የ SerialCraft ሞድን ከጫኑ ፣ ወደ ዓለም መግባት እና እሱን መጠቀም መጀመር ያስፈልግዎታል። አዲስ ዓለም ይፍጠሩ ወይም ከተቀመጡ ዓለማትዎ አንዱን ይክፈቱ (በብዙ ተጫዋች ካርታ ላይ መጫወት ከፈለጉ አገልጋዩ እና ከእሱ ጋር የሚገናኙ ሁሉም ደንበኞች የ SerialCraft ሞዱ መጫኑን ማረጋገጥ ያስፈልግዎታል)። የእርስዎ Creeper Detector ከኮምፒዩተርዎ ጋር መገናኘቱን ያረጋግጡ ፣ ከዚያ የ K ቁልፍን ይጫኑ። ከላይ ያለውን ምስል የመሰለ መገናኛን ማምጣት አለበት (በዊንዶውስ ላይ ፣ በ /ዴቭ /tty.usbserial… እንደ COM1 ያለ ነገር መናገር አለበት)። ምንም ካልታየ ፣ የ Creeper Detector ን ማገናኘቱን ያረጋግጡ። የግንኙነት ቁልፍን ጠቅ ያድርጉ ፣ ከዚያ ማምለጫን ይጫኑ። ኮድዎ ተሰብስቦ በትክክል ከተሰቀለ የእርስዎ ዘራፊ መፈለጊያ መሄድ ጥሩ መሆን አለበት! አንድ ክሬየር በ 32 ብሎኮች ውስጥ ከሆነ ፣ መብራት አለበት። ደስተኛ አደን!
ይህንን አስተማሪውን ከወደዱት ፣ እባክዎን በማዕድን ማውጫ ውድድር እና በኤፒዮግ ውድድር ውስጥ እሱን ለመምረጥ ያስቡበት!
በ Minecraft Challenge 2018 ውስጥ ሁለተኛው ሽልማት
የሚመከር:
Creeper-BOT (Creeper Pet): 9 ደረጃዎች (ከስዕሎች ጋር)
Creeper-BOT (Creeper Pet): እኔ ሁል ጊዜ የራሴን ባለአራት ሮቦት ለመሥራት እፈልግ ነበር እና የ Minecraft ውድድር ጥሩ ሰበብ ነበር። በተጨማሪም ፣ እኔ ‹Creeper› የቤት እንስሳ ›በእውነት ፈልጌ ነበር። በዚህ አስተማሪ ውስጥ እኔ እንዴት እንደሰራሁት እጋራለሁ እና የራስዎን ማድረግ ከፈለጉ መመሪያ እሰጣለሁ።
በአርዱዲኖ ላይ የተመሠረተ የ pulse Induction Detector - Flip Coil: 5 ደረጃዎች (ከስዕሎች ጋር)
በአርዱዲኖ ላይ የተመሠረተ የ pulse ኢንዴክሽን መፈለጊያ - ተንሸራታች ጥቅል - ሀሳቡ ከዚህ ቀደም የተለያዩ የብረት መመርመሪያዎችን ይገነባል የተለያዩ ውጤቶች የአርዱዲኖን ችሎታዎች በዚያ አቅጣጫ ለመዳሰስ ፈልጌ ነበር። ከአርዱዲኖ ጋር አንዳንድ የብረት መመርመሪያዎችን እንዴት እንደሚገነቡ አንዳንድ ጥሩ ምሳሌዎች አሉ። እዚህ እንደ አስተማሪ
DIY USB Creeper Nightlight: 8 ደረጃዎች (ከስዕሎች ጋር)
DIY USB Creeper Nightlight: በተንሸራታች ውስጥ ምን እንዳለ አስበው ያውቃሉ? የእራስዎን ዘራፊ የአካል ብቃት እንቅስቃሴ እንዴት ማድረግ እንደሚቻል! የሚያንፀባርቅ የዩኤስቢ ተንሸራታች ይገንቡ! እንዴት እንደሚያደርጉት እነሆ
ATTiny EMF Detector: 6 ደረጃዎች (ከስዕሎች ጋር)
ATTiny EMF Detector: እንደ ወግ ፣ መጀመሪያ የተጠናቀቀው የምርት ምስል።ከዚህ በታች ካገናኘሁት ከማስተዋውኑ ተመሳሳይ ግንባታ በመነሳት የራሴን ማይክሮ መጠን ያለው የኤሌክትሮ-መግነጢሳዊ መስክ መመርመሪያ ለመገንባት ተነሳሁ። ግቦቹ ኢ / ን በመጠበቅ ይህንን በተቻለ መጠን ትንሽ ማድረግ ነበር
ESP8266/ESP-01 Arduino Powered SmartThings Leak Detector: 5 ደረጃዎች (ከስዕሎች ጋር)
ESP8266/ESP-01 Arduino Powered SmartThings Leak Detector: Sooooo ብዙ የፍሳሽ መመርመሪያዎች መምረጥ ፣ የትኛው ለእርስዎ በተሻለ ሁኔታ ይሠራል? በቤትዎ ውስጥ ማንኛውንም መሣሪያ የሚቆጣጠሩ ሳምሰንግ ስማርት ነገሮች ካሉዎት ይህ ምናልባት ትኬቱ ብቻ ሊሆን ይችላል! ይህ እኔ በሠራሁት ተከታታይ ውስጥ የመጨረሻው ስሪት ነው