Агуулгын хүснэгт:

Minecraft мөлхөгч илрүүлэгч: 6 алхам (зурагтай)
Minecraft мөлхөгч илрүүлэгч: 6 алхам (зурагтай)

Видео: Minecraft мөлхөгч илрүүлэгч: 6 алхам (зурагтай)

Видео: Minecraft мөлхөгч илрүүлэгч: 6 алхам (зурагтай)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Арваннэгдүгээр
Anonim
Image
Image
Minecraft мөлхөгч илрүүлэгч
Minecraft мөлхөгч илрүүлэгч
Minecraft мөлхөгч илрүүлэгч
Minecraft мөлхөгч илрүүлэгч

Allwinedesigns Allwine Designs Зохиогчийн дэлгэрэнгүйг дагах:

Тохируулах боломжтой Dowel Jig
Тохируулах боломжтой Dowel Jig
Тохируулах боломжтой Dowel Jig
Тохируулах боломжтой Dowel Jig
Тав дахь тойрог MIDI төхөөрөмж
Тав дахь тойрог MIDI төхөөрөмж
Тав дахь тойрог MIDI төхөөрөмж
Тав дахь тойрог MIDI төхөөрөмж
Гаалийн хулганы дугуй нь PocketNC гүйдэг дугуй (эсвэл дууны хяналт)
Гаалийн хулганы дугуй нь PocketNC гүйдэг дугуй (эсвэл дууны хяналт)
Гаалийн хулганы дугуй нь PocketNC гүйдэг дугуй (эсвэл дууны хяналт)
Гаалийн хулганы дугуй нь PocketNC гүйдэг дугуй (эсвэл дууны хяналт)

Тухайн талаар: Би бүх насаараа програм хангамж хөгжүүлэгч байсан, коллежид 3D график дээр голчлон компьютерийн шинжлэх ухааны чиглэлээр суралцаж байсан, Dreamworks Animation -ийн эффект зураач байсан бөгөөд энд хүүхдүүд болон насанд хүрэгчдэд технологи зааж өгсөн … Allwinedesigns -ийн тухай дэлгэрэнгүй »

Хэдэн жилийн турш би Боземаны хүүхдийн музейд STEAMlab -ийн сургалтын хөтөлбөр боловсруулахад тусалсан. Би хүүхдүүдийг цахилгаан бараа, код бичих сонирхолтой болгох арга замыг үргэлж хайж байсан. Minecraft бол хүүхдүүдийг хаалгаар оруулах хялбар арга бөгөөд үүнийг хөгжилтэй, боловсролын зорилгоор ашиглах олон нөөц бий. Minecraft болон электроникийг хослуулах нь хэцүү байсан. Arduino төслүүдийг Minecraft -тэй нэгтгэхэд туслахын тулд би SerialCraft нэртэй өөрийн Minecraft модыг боловсруулж дуусгасан. Гол санаа бол та цуваа холболтыг ашигладаг аливаа төхөөрөмжийг холбож, миний мод ашиглан Minecraft руу мессеж илгээх, хүлээн авах боломжтой юм. Ихэнх Arduino нь USB -ээр цуваа холбоо барих чадвартай тул хэлхээг холбож, өгөгдлийг цуваа холболтоор дамжуулах нь энгийн зүйл юм. Хүүхдүүд өөрсдийн зан авираа хянах, Redstone дохиог өдөөх, хариу өгөх, бага амьдрал эсвэл мөлхөгч ойрхон байх гэх мэт зарим үйл явдлын талаар тэдэнд мэдээлэх зорилгоор LED угсрах, хянах зориулалттай хянагч хэрэгслүүдийг бүтээв. Энэхүү зааварчилгаа нь мөлхөгчийн сэрэмжлүүлгийн функцэд анхаарлаа төвлөрүүлж, Adafruit неопиксел, лазераар хийсэн нийлэг болон фанер хашлага ашиглан нэг алхам урагшилна. Creeper Detector нь 8 LED NeoPixel мод ашиглан хамгийн ойрын мөлхөгчийн талаар үнэ цэнэтэй мэдээлэл өгдөг. Бүх LED унтраасан үед энэ нь 32 блок дотор мөлхөгч байхгүй гэсэн үг юм. Бүх LED асаалттай үед (тэд бас анивчих болно), та мөлхөгчийн 3 блок тэсэлгээний радиус дотор байна (мөлхөгч зогсож, гал хамгаалагчаа асааж, дэлбэрэх радиус). Энэ хооронд ямар нэгэн зүйл байгаа нь мөлхөгч танаас хэр хол байгааг тооцоолох боломжтой. 8 LED -ийн 4 -ийг асаахад та мөлхөгчөөс ойролцоогоор 16 блок зайтай байдаг бөгөөд хэрэв мөлхөгч таныг харвал довтлох болно. Таныг мөлхөгч (7 блок) -ийн тэсэлгээний радиус дотор байх үед LED гэрэл анивчиж эхэлнэ. Хэрэв та гадагш гарах юм бол мөлхөгч гал хамгаалагчаа зогсоож, таны араас үргэлжлүүлэн явах болно. Энэхүү мэдлэгийн тусламжтайгаар та гэнэтийн мөлхөгч халдлагаас зайлсхийх эсвэл ойролцоох мөлхөгчдийг агнах боломжтой байх ёстой!

Энэхүү зааварчилгаанд бид өөрийн Creeper илрүүлэгчийг бий болгох, Minecraft -ийг Arduino төслүүдтэйгээ холбох боломжийг олгодог SerialCraft модыг хэрхэн суулгах, ашиглах талаар авч үзэх болно. Хэрэв танд таалагдсан бол Minecraft уралдаан, Epilog Challenge -д саналаа өгөх талаар бодож үзээрэй. Эхэлцгээе!

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл

Би яг хэрэглэж байсан бүтээгдэхүүнээ холбохын тулд чадах бүхнээ хийсэн боловч заримдаа Амазон дээрээс өөрт хамгийн ойр байгаа зүйлийг олж хардаг. Заримдаа онлайнаар их хэмжээгээр худалдаж авахгүйн тулд орон нутгийн цахилгаан барааны дэлгүүр эсвэл тоног төхөөрөмжийн дэлгүүрээс цөөн хэдэн зүйлийг авах нь дээр.

- Би 8 LED RGBW NeoPixel зөөгч ашигладаг байсан ч цагаан (W) LED огт ашигладаггүй байсан тул 8 LED RGB NeoPixel мод ашиглах болно. Та үүнийг ямар ч RGB эсвэл RGBW NeoPixel бүтээгдэхүүнээр орлуулж болно, гэхдээ бид дараагийн алхамд авч үзэх хүч чадлын талаар авч үзэх асуудлууд, энд ирэхэд кодын өөрчлөлтийг оруулах болно. Та гагнах шаардлагагүй нэгийг сонгохыг хүсч магадгүй, гэхдээ би утсыг модонд хэрхэн яаж гагнасан болохыг харуулах болно.

- Микроконтроллер ба түүнд тохирсон USB кабель. Би Arduino Uno клон болох SparkFun -ийн RedBoard -ийг ашигласан. Энэ нь Mini B USB холбогч ашигладаг (Амазон дээр яагаад ийм үнэтэй байдгийг би сайн мэдэхгүй байна, та үүнийг эндээс SparkFun -ээс шууд авах боломжтой, эсвэл Амазон дээр өөр хувилбар хайж олох боломжтой). Бид кодчилолыг хялбарчлахын тулд Arduino номын санг ашиглах болно, гэхдээ энэ нь зөвхөн үндсэн цуваа холболтыг ашигладаг тул номын санг USB сериал хийх боломжтой аливаа микроконтроллер дээр ажиллах боломжтой болгоно. Бараг бүх Arduino хийх болно. USB сериалтай эсэхийг шалгаарай (ихэнх нь үүнийг хийдэг, гэхдээ зарим нь анхны Trinket шиг байдаггүй).

- Утас, гагнуурын төмөр, гагнуур (утас хуулагч, гурав дахь гар нь бас тохиромжтой). Бид NeoPixel модонд утас гагнах болно, ингэснээр үүнийг Arduino -д залгаж болно. Хэрэв та аль хэдийн утас залгагдсан NeoPixel бүтээгдэхүүн эсвэл NeoPixels -тэй хамт ирдэг микроконтроллерыг сонгосон бол эдгээр нь шаардлагагүй байж магадгүй юм (жишээлбэл, би ирээдүйн алхамдаа кодоо оруулсан Circuit Playground Express гэх мэт). 8 LED модны хэлбэрийн хүчин зүйл бол миний мөлхөгч детекторын хаалтыг зохион бүтээсэн зүйл юм, тиймээс хэрэв та өөр хэлбэрийн коэффициентийг сонговол та өөрчлөлт хийх эсвэл хаалтгүйгээр явах хэрэгтэй болно.

- Хаалттай материал. Би 1/8 "царцсан нийлэг, 1/8" тунгалаг акрил, 1/8 "фанер ашиглан лазераар зүссэн бөгөөд M3 машины эрэг, самар зэргийг хооронд нь бэхэлсэн. Би бас NeoPixel савааг бэхлэхийн тулд #2 x 1/4 "хэмжээтэй модон боолтыг ашигласан. Хашлага нь шаардлагагүй, гэхдээ нэмэлт мөлхөгч мэдрэмжийг нэмж өгдөг. Миний хашлага нь микроконтроллер биш харин зөвхөн NeoPixels -ийг байрлуулах зориулалттай байсан. Та үүнийг бүхэлд нь бие даасан байлгахыг хүсч байгаа бол та өөрчлөлт оруулах хэрэгтэй болно!

- Minecraft данс, Minecraft Forge 1.7.10 ба SerialCraft (мод ба Arduino номын сан). Creeper Detector нь зөвхөн Minecraft 1.7.10 дээр Minecraft Forge -тэй ажилладаг SerialCraft мод дээр тулгуурладаг. Эдгээрийг хэрхэн татаж авах, цаашдын алхамуудад хэрхэн тохируулах талаар бид ярилцах болно.

- Arduino IDE эсвэл Arduino Create ба Arduino Create залгаас дээрх данс (би Arduino Create -ийг ашиглахыг зөвлөж байна, учир нь та миний Arduino Create ноорог руу шууд очиж хөрвүүлж, байршуулах боломжтой болно).

Алхам 2: Хэлхээ

Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ

Энэ хэлхээ нь маш энгийн, ердөө 3 утас, NeoPixel мод, Arduino. Бүх Adafruit NeoPixels нь өөрийн гэсэн хянагчтай бөгөөд нэг өгөгдлийн утсаар хэдэн ч гинжлэгдсэн LED -ийг удирдах боломжийг олгодог. Би үүнийг Arduino дээрх 12 -р зүү рүү холбосон.

Нөгөө хоёр утас нь цахилгаан болон газардуулга юм. NeoPixels -ийг ажиллуулахын тулд бидэнд 5V тэжээлийн эх үүсвэр хэрэгтэй болно. Манай эрчим хүчний эх үүсвэр хангалттай хэмжээний гүйдэл өгөх чадвартай эсэхийг шалгах хэрэгтэй. NeoPixel бүр нь 60mA (RGBW LED бүхий 80mA) хүртэл бүрэн гэрэлтүүлэх чадвартай. 8 LED -тэй бол бидний хамгийн их гүйдэл нь 480mA (RGBW LED -тэй 640mA) гэсэн үг юм. Arduino -ийг асаахын тулд ~ 40 мА зарцуулдаг. Эхлээд харахад энэ нь бид гадны цахилгаан хангамж ашиглах шаардлагатай юм шиг санагдаж байна. USB нь бүх LED -ээ хамгийн дээд хэмжээнд нь тохируулсан тохиолдолд 500 мА -аас хэтрэхгүй байх боломжийг олгодог (RGB LED -тэй 480+40 = 520 эсвэл RGBW LED -тэй 640+40 = 680). Аз болоход, бид LED -ийг бүрэн гэрэлтүүлэх шаардлагагүй болно (бүрэн гэрэл нь үнэхээр сохор юм), тиймээс бид USB -ээр залгасан Arduino -ийн 5V төмөр замыг аюулгүй ашиглах болно. Үнэн хэрэгтээ, миний сонгосон ногоон өнгийг ашиглахад USB-ээс авсан 500mA хамгийн их гүйдлийн хүчийг авахын тулд нэг LED тутамд ~ 7-8mA хамгийн их ~ 100mA гүйдэл зарцуулах болно.

Тиймээс бидний хийх ёстой зүйл бол NeoPixel модны DIN зүүг 12 -р зүү (бараг ямар ч зүү ажиллах болно, гэхдээ энэ бол миний ашигласан зүү), NeoPixel дээрх 5V зүүг Arduino дээрх 5V хүртэл холбох явдал юм. NeoPixel дээрх GND зүү нь Arduino дээрх GND дээр наалддаг. Нэгдүгээрт, бид утсаа NeoPixel модонд гагнах хэрэгтэй.

Утасныхаа нэг үзүүрийг холбогчийг хайчилж, үзүүрийг нь хуул. Тэд тус бүрийг цагаан тугалга (төгсгөл бүрт нь гагнуур түрхээрэй). Дараа нь дэвсгэр бүр дээр бага зэрэг гагнуур тавь. Бүр дэвсгэрийг гагнуурын төмрөөр болгоомжтой хүрч, харгалзах утасны үзүүрийг дэвсгэр дээр тавиад дараа нь төмрийг ав.

Алхам 3: Код

ШИНЭЧЛЭХ (2/19/2018): Би GitHub репо дээр Arduino -ийн шинэ ноорог байрлуулсан бөгөөд үүнд Creeper Detector -ийг Circuit Playground Express дээр ажиллуулахад шаардлагатай бүх өөрчлөлтийг оруулсан болно (энэ нь хаалттай ажиллахгүй, гэхдээ энэ нь бүх зүйлтэй. LED болон зарим мэдрэгчийг самбар дээр суурилуулсан тул гагнах шаардлагагүй). Энэ нь товчлуурууд болон слайд шилжүүлэгчтэй холбоотой нэмэлт функцуудыг агуулдаг.

Бүрэн кодыг авахын тулд та миний Arduino Create sketch эсвэл GitHub репозитор руу орж болно. Хэрэв та кодыг хэрхэн эмхэтгэх, байршуулахаа мэдэхгүй байгаа бол энд байгаа зааврыг дагана уу. Хэрэв та Arduino IDE ашиглахаар шийдсэн бол SerialCraft Arduino номын санг суулгах шаардлагатай болно. Үүнийг хийхийн тулд "Зип импортлох" хэсэгт байгаа алхамуудыг дагана уу. Хэрэв та Arduino Create Web Editor програмыг ашиглаж байгаа бол тохируулсныхаа дараа шууд миний ноорог руу орох боломжтой бөгөөд SerialCraft номын санг суулгах шаардлагагүй болно.

Би кодын юу хийж байгааг доороос нь авч үзэх болно.

Эхний хоёр мөрөнд номын сан орно. Эхнийх нь SerialCraft.h бол миний бичсэн номын сан бөгөөд SerialCraft модтой хялбар харилцах боломжийг олгодог. Би танд доор ашиглаж буй онцлог шинж чанаруудын талаар танилцуулах болно, гэхдээ та GitHub репозиторийн ажилд шаардлагатай зарим жишээ, баримт бичгийг шалгаж болно. Хоёрдахь номын сан нь Adafruit -ийн NeoPixel номын сан бөгөөд NeoPixel туузан дээрх LED -ийг тохируулах API -ийг өгдөг.

#оруулах

#оруулах

4-17-р мөрүүд нь таны тохиргооноос хамааран өөрчлөгдөж болох тогтмолууд юм. Хэрэв та өөр тооны пиксел бүхий NeoPixel тууз ашигласан эсвэл NeoPixelsээ өөр зүүгээр холбосон бол NUMLEDS ба PIN гэсэн эхний хоёр тодорхойлолтод өөрчлөлт оруулах шаардлагатай болно. Та LED_TYPE -ийг өөрт тохирсон хэлбэрт оруулах хэрэгтэй бөгөөд хэрэв танд асуудал гарвал NEO_GRBW -ийг NEO_RGB эсвэл NEO_RGBW болгон өөрчилж үзээрэй. Хэрэв та мөлхөгчийг илрүүлэх хүрээг тохируулахыг хүсвэл BLOCKS_PER_LED -ийг өөрчилж болно.

// Эдгээр хувьсагчдыг тохиргоондоо тохируулан өөрчил

// таны зурвас дахь LED -ийн тоо #тодорхойлох NUMLEDS 8 // LED өгөгдлийн зүү нь #тодорхойлох PIN 12 -тэй холбогдсон зүү // LED тус бүрийг илэрхийлсэн блокуудын тоо #BLOCKS_PER_LED 4 // Танд байгаа LED зурвасын төрөл (хэрэв таны LED нь ногоон болж хувирахгүй байгаа тул та GRBW -ийн дарааллыг өөрчлөх хэрэгтэй болно) #LED_TYPE (NEO_GRBW+NEO_KHZ800) // END хувьсагчдыг тодорхойлох

19-27-р мөрөнд бид дараа нь ашиглах зарим утгыг тодорхойлдог. DETONATE_DIST бол мөлхөгч хөдлөхөө больж, гал хамгаалагчаа асааж, дэлбэрэх Minecraft дахь зай юм. SAFE_DIST бол мөлхөгчийн тэсэлгээний радиус юм. Эдгээр утгыг өөрчлөх нь LED -ийн зан төлөвт нөлөөлөх боловч Minecraft дахь зан үйлийг тусгасан байдлаар нь хэвээр нь үлдээхийг зөвлөж байна. MAX_DIST бол бидний мөлхөгчдийг ажиглах хамгийн их зай бөгөөд энэ нь бидний NeoPixel зурвасын LED болон дээр тодорхойлсон BLOCKS_PER_LED тогтмол дээр суурилдаг.

// Эдгээр нь LED гэрэлтүүлгийг тооцоолохдоо ашиглах утгууд юм

// зайн мөлхөгч тэсэрч эхэлнэ #DETONATE_DIST 3 -ийг тодорхойлно // мөлхөгч дэлбэрэлтээс бид аюулгүй байгаа зай (хэрэв та энэ зайд байвал хохирол учрах болно) MAX_DIST (NUMLEDS*BLOCKS_PER_LED)

29-36-р мөрүүд нь програмын туршид ашиглах зарим хувьсагчдыг тодорхойлдог. Sc хувьсагч нь SerialCraft Minecraft модтой холбогдоход ашиглахад хялбар интерфэйсийг өгдөг SerialCraft объект юм. Бид үүнийг хэрхэн ашиглаж байгааг доороос харах болно. dist гэдэг нь SerialCraft модноос мөлхөгч зайн мессежийг хүлээн авах үед бид хамгийн ойрын мөлхөгч хүртэлх зайг тохируулах хувьсагч юм. strip бол Adafruit_NeoPixel объект бөгөөд NeoPixel туузыг хянах аргуудыг өгдөг.

// Энэ бол SerialCraft Minecraft модтой харилцах зориулалттай SerialCraft объект юм

SerialCraft sc; // мөлхөгчөөс хол зай dist dist = 100; // LED туузыг эхлүүлэхийн тулд та 3 -р Adafruit_NeoPixel зурвас = Adafruit_NeoPixel (NUMLEDS, PIN, LED_TYPE) -ийг өөрчлөх шаардлагатай болж магадгүй юм;

38-47-р мөрүүд нь бидний тохиргооны функц юм. Бүх Arduino скриптүүд нэг байх ёстой. Энэ нь Arduino асаалттай үед нэг удаа ажилладаг тул хувьсагчдыг эхлүүлэхэд тохиромжтой газар юм. Бид SerialCraft объект дээрх setup () аргыг дуудаж, SerialCraft mod (115200) -д тохируулагдсан ижил хурдны хурдыг өгдөг. Дараа нь бид registerCreeperDistanceCallback аргыг дуудаж, SerialCraft модоор бидэнд илгээсэн холын зайны зурваст хариу өгөх боломжтой болно. Бид үе үе sc.loop () аргыг бага зэрэг доош нь дуудах болно. Циклийн аргаар бид SerialCraft модноос ямар нэгэн мессеж хүлээн авсан эсвэл товчлуур дарах гэх мэт аливаа үйл явдлыг өдөөсөн эсэхийг шалгадаг бөгөөд үүнийг зохицуулахын тулд бүртгүүлсэн харгалзах функцийг дууддаг. Бидний хийж буй зүйл бол мөлхөгчийн хамгийн ойрын зайг хайж байгаа тул бид бүртгүүлж буй цорын ганц функц юм. Энэ функц дээр бидний хийдэг бүх зүйл бол бидний LED хувьсагчийг тохируулах явдал бөгөөд үүнийг LED -ийг шинэчлэхэд ашиглах болно. Эцэст нь бид LED зурвасаа эхлүүлж, strip.begin () ба strip.show () ашиглан бүх LED -ийг унтраадаг.

void setup () {// SerialCraft sc.setup () -ийг эхлүүлэх; // хамгийн ойрын мөлхөгч хүртэлх зайг хүлээн авахын тулд мөлхөгч зайн дуудлага бүртгүүлнэ үү. бүртгүүлэхCreeperDistanceCallback (мөлхөгч); // LED зурвасыг эхлүүлэх.begin (); strip.show (); }

49-80-р мөрүүд нь давталтын функцийг тодорхойлдог. Давталтын функц нь бүх ид шидийн үйл явдал болдог. Давталтын функцийг дахин дахин дууддаг. Циклийн функц ажиллаж эхэлмэгц дахин дээд талаасаа эхэлнэ. Үүнд бид dist хувьсагч болон файлын дээд хэсэгт байрлах тогтмолуудаа ашиглан LED тус бүрийн төлөв байдал ямар байх ёстойг тодорхойлдог.

Циклийн функцын дээд хэсэгт бид хэд хэдэн хувьсагчийг тодорхойлдог.

// нь = = MAX_DIST мөлхөгчийн тэсэлгээний радиусаас NUMLEDS*BLOCKS_PER_LED хүртэл байвал мөлхөгчний орой дээр байх үед

int blockFromCreeperToMax = хязгаарлах (MAX_DIST+DETONATE_DIST-dist, 0, MAX_DIST); int curLED = blockFromCreeperToMax/BLOCKS_PER_LED; // 0-ээс NUMLEDS-1 int curLEDLevel = (blockFromCreeperToMax%BLOCKS_PER_LED+1) хооронд хэлбэлздэг; // 1 -ээс BLOCKS_PER_LED хооронд хэлбэлздэг

Бид мөлхөгчтэй хэр ойрхон байгаагаас шалтгаалан LED -ийг асааж байгаа тул зайны хувьсагчаа үр дүнтэй эргүүлэх хэрэгтэй. Бид blockFromCreeperToMax -ийг тодорхойлдог бөгөөд мөлхөгч нь бидний ажиглаж буй хамгийн хол зайд байгаа блокуудын тоог илэрхийлдэг. Бид мөлхөгчийн орой дээр байх үед (эсвэл мөлхөгчөөс DETONATE_DIST -ээс бага буюу тэнцүү зайд) blockFromCreeperToMax нь MAX_DIST байх болно. Хэрэв бид мөлхөгчөөс MAX_DIST -ээс хол байх юм бол blockFromCreeperToMax нь 0 болно. Бид LED -ээ томруулах тусам илүү их LED асаахад энэ хувьсагч ашигтай байх болно.

curLED бол хамгийн их асдаг LED юм. Мөлхөгчид рүү чиглэсэн 4 блок тутамд нэмэлт LED асах болно (энэ тоог BLOCKS_PER_LED хувьсагчийн тусламжтайгаар файлын дээд хэсэгт өөрчлөх боломжтой). Бид хамгийн дээд LED -ийн гэрлийг тохируулдаг тул нэг блок хүртэлх зайны өөрчлөлтийг харж болно. curLEDLevel бол гэрэлтүүлгийн өөрчлөлтийг тооцоолоход ашигладаг хувьсагч юм. Энэ нь 1 -ээс 4 хооронд хэлбэлздэг (эсвэл BLOCKS_PER_LED гэж тодорхойлсон).

Бид LED тус бүрийг эргүүлэхдээ эдгээр хувьсагчийг ашиглах болно.

for (uint16_t i = 0; i <strip.numPixels (); i ++) {if (i <= curLED) {// creeper -ийн тэсэлгээний радиус дотор хамгийн тод, мөлхөгч NUMLEDS*BLOCKS_PER_LED -ээс хол байвал хөвөх эрчим = (хөвөх) блокFromCreeperToMax /MAX_DIST; if (i == curLED) {// сүүлчийн LED ассан // дараагийн LED float lastIntensity = (float) curLEDLevel/BLOCKS_PER_LED; эрчим *= сүүлчийнХүч чадал; } if (dist <SAFE_DIST) {intensity *= (millis ()/75)%2; } эрч хүч = pow (эрч хүч, 2.2); // гамма муруй, гэрэлтүүлгийн утга нь үнэхээр зурвас биш байхад LED гэрлийг бидний нүдэнд шугаман харагдуулдаг. } өөр {strip.setPixelColor (i, strip. Color (0, 0, 0, 0)); }}

Хэрэв бидний шинэчилж буй LED нь curLED хувьсагчаас бага буюу тэнцүү бол энэ нь асаалттай байх ёстой бөгөөд гэрэлтүүлгийг нь тооцоолох хэрэгтэй. Үгүй бол үүнийг унтраа. Бид LED -ийнхээ гэрлийг илэрхийлэхийн тулд 0 -ээс 1 -ийн хооронд хэлбэлздэг эрчим хүчний хувьсагчийг ашигладаг. LED -ийн эцсийн өнгийг тохируулахдаа бид эрч хүчийг ногоон өнгөтэй (10, 70, 10) өнгөөр үржүүлэх болно. Бид blockFromCreeperToMax хувьсагчийг ашиглан MAX_DIST -д хувааж хувь авахын тулд мөлхөгчтэй ойр байх үед LED гэрэл хамгийн тод байх болно. Хэрэв бид curLED -ийн тод байдлыг тооцоолж байгаа бол мөлхөгч танаас BLOCKS_PER_LED хүртэлх зай тус бүрийн гэрэлтүүлгийг өөрчилдөг. Энэ бол нарийн өөрчлөлт боловч мөлхөгч нь нэмэлт LED асаахад шаардагдах 4 блокоос илүү нарийн ширхэгт ойртож эсвэл холдож байгаа эсэхийг харахад ашиглаж болно. Дараа нь бид мөлхөгчийн тэсэлгээний радиус дотор байгаа эсэхийг шалгаж, хэрэв байгаа бол анивчдаг. (Millis ()/75)%2 илэрхийлэлийг 75 миллисекундын хувьд 0, дараа нь 75 миллисекундын хувьд 1 болгож дахин үнэлэх тул бидний эрч хүчийг энэ илэрхийллээр үржүүлэх нь LED анивчихад хүргэнэ.

Эрчим хүчний эцсийн өөрчлөлт (эрч хүч = pow (эрч хүч, 2.2)) нь гамма залруулга гэж нэрлэгддэг тохируулга юм. Хүний нүд гэрлийг шугаман бус байдлаар хүлээн авдаг. Бид гэрэл гэгээтэй гэрлээс илүү бүдэг гэрлийн түвшинг харж чаддаг, тиймээс бид гэрлийн гэрлийг бууруулснаар шугаман шугам дээр бууж байгаа мэт харагдахын тулд гэрэл бүдэгрэхээс хамаагүй илүү буурдаг. загвар нь хүний нүдэнд харагддаг. Энэхүү өөрчлөлтийн гаж нөлөө нь бид бага энерги зарцуулдагт оршино, учир нь бидний пикселүүд гэрэл гэгээтэй (өндөр энерги) -ээс илүү бүдэг (бага энерги) мужид илүү их зэрэглэлтэй болдог.

Бидний давталтын функцийн сүүлийн хоёр мөр нь LED -ийг бидний тохируулсан утгуудад шинэчилж, дараа нь SerialCraft -ээр дуудах шаардлагатай бүх зохицуулагчийг дууддаг (энэ тохиолдолд хэрэв бид SerialCraft модноос ямар нэгэн зайн мессеж хүлээн авсан бол мөлхөгч зайны функц)..

strip.show ();

sc.loop ();

Манай скриптийн сүүлчийн мөрүүд нь мөлхөгч функц бөгөөд SerialCraft мод бидэнд энэ мэдээллийг илгээсэн үед хамгийн ойрын мөлхөгч хүртэлх зайг хадгалдаг.

хоосон мөлхөгч (int d) {dist = d; }

Одоо та зөвхөн кодыг эмхэтгэх, байршуулах хэрэгтэй!

Алхам 4: Хашаа

Хашаа
Хашаа
Хашаа
Хашаа
Хашаа
Хашаа

Би нэг царцсан нийлэг мөлхөгч, нэг тунгалаг нийлэг мөлхөгч, 6 ширхэг фанер, нийлэг мөлхөгчний хэмжээтэй тэгш өнцөгт нүхтэй, бэхэлгээний булан дахь нүх, 1 ширхэг фанераас бүрдсэн хашлагын бүх хэсгийг лазераар огтолсон. бэхэлгээний нүхтэй нуруун дээр, утаснуудаас гарах нэг том нүх. NeoPixel модноос утсыг салга, ингэснээр бид үүнийг хашлагадаа холбож болно. Доорх хоёр PDF файлыг миний тайлбарласан бүх хэсгийг лазераар огтлоход ашиглаж болно.

NeoPixel модыг фанерын арын хэсэгт 2 -р модон эрэг ба нейлон тусгаарлагч ашиглан суулгасан болно. Нийлэг мөлхөгч нь дөрвөлжин нүхтэй фанерын хоёр хэсэг болж гацсан байна. Үүнийг хийхээсээ өмнө модны аль дэвсгэр ямар утсанд ямар өнгөтэй болохыг санаж байгаа эсэхийг шалгаарай.

Нийлэг мөлхөгч нь нүхнээс 1 зуун инчийн том хэмжээтэй бөгөөд фанертай маш нягт нийцдэг. Би утас тайлагчийн бариулаар булан бүрт анхаарлаа төвлөрүүлж, мөлхөгчийг бүхэлд нь тойрч, жигд хэлбэрт оруулав. Эсвэл нийлэг лазер pdf нь бэхэлгээний нүх бүхий бүхэл бүтэн нүүрний хэмжээтэй сийлбэртэй мөлхөгчийг багтаасан тул та жижиг нийлэг мөлхөгчтэй хатуу бэхлэхээс зайлсхийх боломжтой.

Царцсан нийлэг нь тус тусдаа LED -ийн гэрлийг хуваарилдаг бөгөөд тунгалаг нийлэг нь мөлхөгчийн сийлбэрийг илүү сайн харуулдаг тул хоёуланг нь хослуулан бодвол надад илүү сайн харагддаг. Мөлхөгчид байрлуулсны дараа фанерын бүх хэсгүүдийг овоолж, М3 машины эрэг, самар ашиглан бэхлээрэй. Дараа нь утсыг 5V, GND, 12 -р залгаад холбоно уу.

Алхам 5: Minecraft Forge ба SerialCraft Mod

Minecraft Forge ба SerialCraft Mod
Minecraft Forge ба SerialCraft Mod
Minecraft Forge ба SerialCraft Mod
Minecraft Forge ба SerialCraft Mod
Minecraft Forge ба SerialCraft Mod
Minecraft Forge ба SerialCraft Mod

Minecraft данс үүсгээд Minecraft клиентийг татаж аваад суулгаарай.

SerialCraft модыг суулгахын тулд танд 1.7.10 хувилбар болох Minecraft Forge хэрэгтэй болно. 1.7.10 Minecraft Forge татаж авах хуудас руу орно уу. Minecraft Forge сайт дээр таныг буруу зүйл дээр дарж өөр газар аваачих гэсэн олон зар сурталчилгаа байдаг. Дээрх зургуудыг дагаж зөв замаа хадгалаарай! Та санал болгож буй 1.7.10 хувилбарын доорхи суулгагч товчийг дарахыг хүсч байна (эсвэл хамгийн сүүлийн үеийнх нь ялгааг би сайн мэдэхгүй байна). Таныг хуудасны дээд талд "Энэ толгойн доорх контент нь зар сурталчилгаа юм. Тоо тоолсны дараа баруун тийш алгасах товчлуур дээр дарж Forge татаж авах үйлдлийг эхлүүлнэ үү" гэсэн хошуутай хуудас руу аваачна. Тоо тоолох хүртэл хүлээгээд татаж авах ажлыг эхлүүлэхийн тулд Алгасах товчийг дарна уу.

Татаж авч дууссаны дараа суулгагчийг хоёр удаа дарна уу. Анхдагч тохиргоог нь орхиж (Client болон түүний заасан анхдагч замыг суулгаарай), дараа нь OK дарна уу. Энэ нь Minecraft Forge -ийг суулгах болно. Дууссаны дараа та Minecraft Launcher -ийг эхлүүлэх боломжтой боловч Forge -ийн 1.7.10 хувилбарыг сонгох нэмэлт сонголт байх болно (дээрх зургийг үзнэ үү).

Одоо бид таны mods лавлахад SerialCraft mod -ийг суулгах хэрэгтэй. SerialCraft модны хамгийн сүүлийн хувилбарыг эндээс татаж авна уу. Мөн танд jssc номын сан хэрэгтэй болно. Хоёр файлыг задлахад танд хоёр.jar файл үлдэх болно. Та эдгээр файлуудыг өөрийн mods хавтсанд оруулах хэрэгтэй болно. Windows дээр та Start цэснээс Run руу очиж Run дээр дарж %appdata %\. Minecraft / mods оруулах хэрэгтэй. Mac дээр та Home/Library/Application Support/minecraft/mods руу орж болно. Хоёр.jar файлыг саяхан нээсэн фолдерт оруулна уу. Одоо Minecraft -ийг ажиллуулаад 1.7.10 Forge хувилбарыг ажиллуулна уу. Та Mods дээр дарж, зүүн талд байгаа SerialCraft -ийг харах боломжтой байх ёстой.

Алхам 6: SerialCraft Mod -ийг ашиглах

SerialCraft Mod -ийг ашиглаж байна
SerialCraft Mod -ийг ашиглаж байна

Та SerialCraft модыг суулгасны дараа та ертөнцөд орж, үүнийг ашиглаж эхлэх хэрэгтэй болно. Шинэ ертөнц бий болгох эсвэл өөрийн хадгалсан ертөнцийн нэгийг нээх (хэрэв та олон тоглогчийн газрын зураг дээр тоглохыг хүсч байвал сервер болон түүнтэй холбогддог бүх үйлчлүүлэгчид SerialCraft mod суулгасан эсэхийг баталгаажуулах шаардлагатай болно). Таны Creeper Detector компьютерт холбогдсон эсэхийг шалгаад K товчлуурыг дарна уу. Энэ нь дээрх зураг шиг харилцах цонхыг гаргаж ирэх ёстой (Windows дээр /dev/tty.usbserial … оронд COM1 гэх мэтийг хэлэх ёстой). Хэрэв юу ч харагдахгүй бол Creeper Detector -ийг холбосон эсэхээ шалгаарай. Холбох товчийг дараад Escape товчийг дарна уу. Хэрэв таны кодыг зөв эмхэтгэж, байршуулсан бол таны мөлхөгч детектор ашиглахад тохиромжтой байх ёстой! Хэрэв Creeper нь 32 блок дотор байвал гэрэлтэх ёстой. Аз жаргалтай ан!

Хэрэв танд энэхүү зааварчилгаа таалагдсан бол Minecraft уралдаан болон Epliog Challenge -д саналаа өгөөрэй!

Minecraft Challenge 2018
Minecraft Challenge 2018
Minecraft Challenge 2018
Minecraft Challenge 2018

Minecraft Challenge 2018 тэмцээний хоёрдугаар шагнал

Зөвлөмж болгож буй: