Мазмұны:

Minecraft Creeper детекторы: 6 қадам (суреттермен)
Minecraft Creeper детекторы: 6 қадам (суреттермен)

Бейне: Minecraft Creeper детекторы: 6 қадам (суреттермен)

Бейне: Minecraft Creeper детекторы: 6 қадам (суреттермен)
Бейне: 100 Часов ОДИН в ПОДВАЛЕ 2024, Қараша
Anonim
Image
Image
Minecraft Creeper детекторы
Minecraft Creeper детекторы
Minecraft Creeper детекторы
Minecraft Creeper детекторы

AllwinedesignsAllwine Designs бойынша Автордың келесі әрекеттерін орындаңыз:

Реттелетін дюбель джигі
Реттелетін дюбель джигі
Реттелетін дюбель джигі
Реттелетін дюбель джигі
Бесінші шеңбер MIDI құрылғысы
Бесінші шеңбер MIDI құрылғысы
Бесінші шеңбер MIDI құрылғысы
Бесінші шеңбер MIDI құрылғысы
PocketNC жүгіру дөңгелегі ретінде реттелетін тышқан дөңгелегі (немесе дыбыс деңгейін басқару дискі)
PocketNC жүгіру дөңгелегі ретінде реттелетін тышқан дөңгелегі (немесе дыбыс деңгейін басқару дискі)
PocketNC жүгіру дөңгелегі ретінде реттелетін тышқан дөңгелегі (немесе дыбыс деңгейін басқару дискі)
PocketNC жүгіру дөңгелегі ретінде реттелетін тышқан дөңгелегі (немесе дыбыс деңгейін басқару дискі)

Бұл туралы: Мен өмір бойы бағдарламалық қамтамасыз етуді әзірлеуші болдым, колледжде 3D графикасына назар аудара отырып, информатиканы оқыдым, Dreamworks Animation эффектілерінің суретшісі болдым және мұнда балалар мен ересектерге технологияны үйреттім … Толығырақ allwinedesigns »

Бірнеше жыл бойы мен Боземан балалар мұражайына STEAMlab бағдарламасын құруға көмектестім. Мен балаларды электроникамен және кодпен қызықтырудың қызықты әдістерін іздедім. Майнкрафт - бұл балаларды есікке шығарудың оңай әдісі, оны қызықты және тәрбиелік тұрғыда қолдануға арналған көптеген ресурстар бар. Майнкрафт пен электрониканы біріктіру қиын болды. Arduino жобаларын Minecraft -пен біріктіруге көмектесу үшін мен SerialCraft атты Minecraft -тың жеке модулін құруды аяқтадым. Менің ойымша, сіз сериялық байланысты пайдаланатын кез келген құрылғыны қосуға және Minecraft -қа хабарды жіберуге және қабылдауға болады. Arduino -дың көпшілігі USB арқылы сериялық байланысқа қабілетті, сондықтан тізбекті сыммен қосу және кейбір деректерді сериялық байланыс арқылы жіберу оңай. Мен балалар жинай алатын және бағдарламалай алатын контроллер жиынтығын жасадым, олар Redstone сигналдарын іске қосады және жауап береді, светодиодтарды жыпылықтайды, мысалы, өмірдің төмендігі немесе сойылғыш жақын кезде. Бұл нұсқаулық сойғыштардың дабыл функциясына бағытталған және Adafruit Neopixels пен лазермен кесілген акрил мен фанера корпусын қолдана отырып, бір қадам алға жылжиды. Creeper Detector сізге ең жақын крепер туралы құнды ақпарат беру үшін 8 LED NeoPixel таяқшасын пайдаланады. Барлық светодиодтар сөніп тұрғанда, бұл 32 блокта сойылғыштар жоқ дегенді білдіреді. Барлық светодиодтар қосулы кезде (олар да жыпылықтайды), сіз сойылғыштың 3 блоктық детонациялық радиусында тұрсыз (сойғыш тоқтайтын, сақтандырғышын жағатын және жарылатын радиус). Арасындағы кез келген нәрсе сізге қаншалықты алыс екенін бағалауға мүмкіндік береді. 8 светодиодтың 4 -еуі жанған кезде, сіз сойғыштан шамамен 16 блокта боласыз, яғни егер сізді сойғыш көретін болса, ол шабуыл жасайды. Светодиодтар жарылыс радиусында болғанда (7 блок) жыпылықтай бастайды. Бұл радиус, егер сіз одан шықсаңыз, сойғыш сақтандырғышты тоқтатады және сіздің артыңыздан келе береді. Осы біліммен сіз кез -келген күтпеген сойыл шабуылынан аулақ болуыңыз керек немесе жақын маңдағы жорғалаушыларды аулауыңыз керек!

Бұл нұсқаулықта біз өзіңіздің Creeper детекторын жасау үшін қажет нәрсені және Minecraft -ты Arduino жобаларымен байланыстыруға мүмкіндік беретін SerialCraft модулін қалай орнатуға және қолдануға болатынын қарастырамыз. Егер сізге ұнаса, Minecraft байқауы мен Epilog Challenge -де оған дауыс беруді қарастырыңыз. Бастайық!

1 -қадам: Сізге не қажет

Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады

Мен қолданған өнімдерге сілтеме жасау үшін қолымнан келгеннің бәрін жасадым, бірақ кейде Amazon -да маған ең жақын нәрсені табамын. Кейде Интернетте көп мөлшерде сатып алмау үшін жергілікті электроника дүкенінен немесе аппараттық дүкеннен бірнеше заттарды алу жақсы.

- Мен 8 жарықдиодты RGBW NeoPixel таяқшасын қолдандым, бірақ ақ (Вт) жарық диодты мүлде қолданған жоқпын, сондықтан 8 LED RGB NeoPixel таяқшасы солай болады. Сіз мұны кез келген RGB немесе RGBW NeoPixel өнімімен алмастыра аласыз, бірақ біз келесі қадамда талқылайтын қуат туралы мәселелер мен кодты өзгертуді осында келгенде көрсетемін. Сіз дәнекерлеуді қажет етпейтін біреуін таңдағыңыз келуі мүмкін, бірақ мен сізге сымдарды таяқшаға қалай дәнекерлегенімді көрсетемін.

- Микроконтроллер және оған сәйкес келетін USB кабелі. Мен Arduino Uno клоны болып табылатын SparkFun RedBoard қолдандым. Ол Mini B USB коннекторын пайдаланады (Амазонда неге соншалықты қымбат екеніне сенімді емеспін, сіз оны SparkFun -дан тікелей осы жерден ала аласыз немесе Amazon сияқты баламаға баруға болады). Біз кодтауды жеңілдету үшін Arduino кітапханасын қолданамыз, бірақ ол тек негізгі сериялық байланысты пайдаланады, сондықтан кітапхананы USB сериясын жасай алатын кез келген микроконтроллерде жұмыс істеуге жіберуге болады. Кез келген дерлік Arduino жасайды. Оның USB сериясы бар екеніне көз жеткізіңіз (көпшілігі жасайды, бірақ кейбіреулері түпнұсқа Trinket сияқты емес).

- Сымдар, дәнекерлеуші және дәнекерлеуіштер (сым тазалағыштар мен үшінші қол да ыңғайлы). Біз сымдарды NeoPixel таяқшасына дәнекерлейміз, сондықтан оны Arduino -ға қосуға болады. Егер сіз сымдары бекітілген NeoPixel өнімін немесе бортында NeoPixels -пен бірге келетін микроконтроллерді таңдасаңыз, бұл қажет емес болуы мүмкін (мысалы, мен болашақта кодты енгізген Circuit Playground Express). 8 жарықдиодты таяқшаның формалық коэффициенті - бұл менің Creeper Detector корпусын жобалаған нәрсе, сондықтан сіз басқа форма факторына жүгінсеңіз, өзгертуге немесе қоршаусыз жүруге тура келеді.

- қоршау материалдары. Мен 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 -те жеке контроллер бар, ол бір сымды тізбекті жарықдиодты кез келген санын басқаруға мүмкіндік береді. Мен оны Arduino -дағы 12 -ші істікшеге қостым.

Қалған екі сым қуат пен жерге арналған. NeoPixels -ті қосу үшін бізге 5В қуат көзі қажет. Біз қуат көзінің жеткілікті ток бере алатынына көз жеткізуіміз керек. Әрбір NeoPixel толық жарықтылықта 60 мА (RGBW светодиоды бар 80 мА) дейін сурет сала алады. 8 светодиоды бар, бұл біздің максималды ток 480мА (RGBW светодиодтармен 640мА) құрайды. Arduino қосу үшін ~ 40 мА қажет. Бір қарағанда, бұл бізге сыртқы қуат көзін пайдалану керек сияқты. USB максималды 500 мА мүмкіндік береді, егер біз барлық светодиодты максимумға орнатсақ (480+40 = 520 RGB светодиодтармен немесе 640+40 = 680 RGBW жарықдиодты шамалармен). Бақытымызға орай, біз светодиодтарды толық жарықтылыққа айналдырудың қажеті жоқ (толық жарықтылық өте соқыр), сондықтан біз USB арқылы қосылған Arduino 5В релесін қауіпсіз қолданамыз. Шын мәнінде, мен таңдаған жасыл түсті қолдана отырып, USB қосқан 500мА максимумға сәйкес ~ 100мА максималды ток күші үшін бір жарық диодына ~ 7-8мА максимум ғана қолданылады.

Сонымен, бізге тек NeoPixel таяқшасының DIN түйреуішін 12 түйреуішке бекіту керек (кез келген істікше дерлік жұмыс істейді, бірақ бұл мен қолданған), NeoPixel таяқшасындағы 5В түйреуіш Arduino -да 5В -қа қосылады. NeoPixel -дегі GND түйрегіші Arduino -дағы GND -ге жабысады. Біріншіден, біз сымдарды NeoPixel таяқшасына дәнекерлеуіміз керек.

Коннекторларды сымдардың бір ұшынан кесіп, ұштарын шешіңіз. Олардың әрқайсысына қалайы салыңыз (әр ұшына дәнекерлеңіз). Содан кейін жастықшалардың әрқайсысына аздап дәнекерлеңіз. Әрбір төсемді дәнекерлегішпен мұқият ұстаңыз, сәйкес сымның ұшын жастыққа қойыңыз, содан кейін үтікті алыңыз.

3 -қадам: Кодекс

ЖАҢАРТУ (19.02.2018): Мен GitHub репоға жаңа Arduino эскизін орналастырдым, онда Creeper детекторының Circuit Playground Express -те жұмыс істеуі үшін барлық қажетті өзгерістер енгізілген (ол корпуспен жұмыс істемейді, бірақ оның бәрі бар) светодиодтар мен кейбір сенсорлар тақтаға салынған, сондықтан дәнекерлеу қажет емес). Ол батырмалар мен слайдты ауыстыруға байланысты қосымша функцияларды қамтиды!

Толық кодты алу үшін сіз менің Arduino Create эскизіне немесе GitHub репозиторийіне кіре аласыз. Егер сіз кодты қалай құрастыру және жүктеу керектігін білмесеңіз, нұсқауларды орындаңыз. Егер сіз Arduino IDE қолдануды таңдасаңыз, SerialCraft Arduino кітапханасын орнату қажет болады. Мұны істеу үшін «Zip импорттау» бөліміндегі қадамдарды орындаңыз. Егер сіз Arduino Create Web Editor бағдарламасын қолдансаңыз, сіз орнатқаннан кейін менің эскизіме тікелей кіре аласыз және SerialCraft кітапханасын орнатудың қажеті жоқ.

Мен кодтың төменде не істейтінін қарастырамын.

Алғашқы екі жолға кітапханалар кіреді. Біріншісі, SerialCraft.h - бұл мен жазған кітапхана, ол SerialCraft режимімен оңай байланысады. Мен сізге төменде қолданатын мүмкіндіктермен танысамын, бірақ сіз оның GitHub репозиторийінде кейбір жұмыстарды қажет ететін мысалдар мен кейбір құжаттарды тексере аласыз. Екінші кітапхана - Adafruit NeoPixel кітапханасы және NeoPixel жолақтарындағы светодиодтарды реттеуге арналған API ұсынады.

#қосу

#қосу

4-17 жолдар-бұл сіздің параметрлеріңізге байланысты өзгеруі мүмкін тұрақты мәндер. Егер сіз басқа пиксель саны бар NeoPixel жолағын қолдансаңыз немесе NeoPixels -ді басқа түйреуішке қоссаңыз, NUMLEDS пен PIN кодының алғашқы екі анықтамасына өзгерістер енгізу қажет болады. Сізге LED_TYPE түрін өзгерту қажет, егер қиындық туындаса, NEO_GRBW параметрін NEO_RGB немесе NEO_RGBW етіп өзгертуге тырысыңыз. Егер сіз сойылғыштарды анықтай алатын диапазонды реттегіңіз келсе, BLOCKS_PER_LED өзгертуге болады.

// Бұл айнымалыларды орнатуға сәйкес етіп өзгертіңіз

// жолағыңыздағы светодиодтар саны #анықтаңыз NUMLEDS 8 // светодиод деректер түйіні #анықтайтын PIN 12 -ге қосылатын түйреуіш // әр жарық диодты көрсететін блоктар саны #BLOCKS_PER_LED 4 // сізде бар диодты жолақтың түрі (егер сіздің светодиодтар жасыл түске боялмайды, содан кейін сізге GRBW тәртібін өзгерту қажет болады #LED_TYPE (NEO_GRBW+NEO_KHZ800) // END айнымалылары

19-27 жолдар кейінірек қолданатын кейбір мәндерді анықтайды. DETONATE_DIST - бұл майнкрафттың қозғалуын тоқтататын, сақтандырғышын жағатын және жарылатын қашықтық. SAFE_DIST - сойғыштың жарылыс радиусы. Бұл мәндерді өзгерту светодиодтардың мінез -құлқына әсер етеді, бірақ мен оларды Minecraft -тегі мінез -құлықты көрсететін қалпында сақтауға кеңес беремін. MAX_DIST - бұл біз бақылайтын максималды қашықтық, ол NeoPixel жолағындағы жарық диодтарының санына және біз жоғарыда анықтаған BLOCKS_PER_LED тұрақтысына негізделген.

// Бұл жарық диодты жарықтылық үшін біздің есептеулерде қолданылатын мәндер

// дистанционды жарғыш жарыла бастайды #анықта DETONATE_DIST 3 // біз сойылғыштың жарылуынан қауіпсіз болатын қашықтық (егер сіз осы қашықтықта болсаңыз, сіз зақым аласыз) #deffine SAFE_DIST 7 // біз сойылғышты бақылайтын максималды қашықтық #анықтаңыз MAX_DIST (NUMLEDS*BLOCKS_PER_LED)

29-36-жолдар бағдарламада қолданатын кейбір айнымалыларды анықтайды. Sc айнымалысы - SerialCraft Minecraft режимімен байланысу үшін интерфейсті қолдануға ыңғайлы SerialCraft объектісі. Біз оны қалай қолданатынымызды төменде көресіз. dist - бұл SerialCraft режимінен шырмауық қашықтығы туралы хабарды алған кезде біз ең жақын сойғышқа дейінгі қашықтықты орнататын айнымалы. strip - NeoPixel жолақтарын басқару әдістерін ұсынатын Adafruit_NeoPixel нысаны.

// Бұл SerialCraft Minecraft режимімен байланысқа арналған SerialCraft нысаны

SerialCraft sc; // шырмауықтан қашықтық dist dist = 100; // Светодиодтар жолағын инициализациялаңыз, сізге 3 -ші Adafruit_NeoPixel жолағын = Adafruit_NeoPixel (NUMLEDS, PIN, LED_TYPE) өзгерту қажет болуы мүмкін;

38-47 жолдар-бұл біздің орнату функциясы. Барлық Arduino сценарийлерінде біреуі болуы керек. Ол Arduino қосылған кезде бір рет іске қосылады, сондықтан айнымалыларды инициализациялаудың тамаша орны. Біз SerialCraft нысанындағы баптау () әдісін шақырамыз, ол SerialCraft модулінде (115200) конфигурацияланғандай, жіберу жылдамдығына сериялық портты инициализациялайды. Содан кейін біз RegisterCreeperDistanceCallback әдісін шақырамыз, осылайша біз SerialCraft модулімен жіберілген қашықтық хабарларына жауап бере аламыз. Біз sc.loop () әдісін мезгіл -мезгіл төмен қарай шақырамыз. Цикл әдісінде ол бізге SerialCraft модулінен қандай да бір хабарламалар келіп түскенін немесе түймені басу сияқты оқиғаларды тудырғанын тексереді және біз оны өңдеу үшін тіркелген сәйкес функцияны шақырады. Біз жасай алатын нәрсе - ең жақын креперлік қашықтықты іздеу, сондықтан біз тіркейтін жалғыз функция. Төменде сіз бұл функцияда біз жарық диодты жаңарту кезінде қолданатын dist айнымалысы орнатылғанын көреміз. Ақырында, біз жарық диодты жолағын инициализациялаймыз және strip.begin () және strip.show () көмегімен барлық жарық диодты өшіреміз.

void setup () {// SerialCraft sc.setup () инициализациялау; // ара қашықтыққа қоңырау шалуды тіркеу screregerCreeperDistanceCallback (creeper); // жарықдиодты жолақ жолағын инициализациялау.begin (); strip.show (); }

49-80-жолдар цикл функциясын анықтайды. Цикл функциясы - бұл барлық сиқырлық. Цикл функциясы бірнеше рет шақырылады. Цикл функциясы жұмысын аяқтаған кезде, ол қайтадан жоғарыдан басталады. Онда біз әр шамның күйі қандай болу керектігін анықтау үшін dist айнымалысын және файлдың жоғарғы жағындағы тұрақтыларды қолданамыз.

Цикл функциясының жоғарғы жағында біз бірнеше айнымалыны анықтаймыз.

//> = MAX_DIST кезде скрепердің жарылу радиусынан NUMLEDS*BLOCKS_PER_LED -ге дейінгі аралықта 0 -ден ауытқиды

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 -ге дейін

Біз светодиодты сойғышқа қаншалықты жақын екендігімізге қарай жарықтандыратындықтан, біз қашықтық айнымалысын тиімді түрде айналдыруымыз керек. Біз blockFromCreeperToMax анықтаймыз, ол біз бақылайтын максималды қашықтықтан болатын блоктардың санын көрсетеді. Біз шырмауықтың үстіне шыққанда (дәлірек айтқанда, сойғыштан DETONATE_DIST -тен аз немесе оған тең), blockFromCreeperToMax MAX_DIST болады. Егер біз MAX_DIST шегінен асатын болсақ, blockFromCreeperToMax 0 болады. Бұл айнымалы шамдар жарық диодтары неғұрлым үлкен болса, соғұрлым көп жарықдиодты жарықтандырғанда пайдалы болады.

curLED - бұл ең көп жарықдиодты шам. Біз жылжымалыға қарай жылжитын әрбір 4 блокта қосымша жарық диоды жағылады (бұл сан файлдың жоғарғы жағында BLOCKS_PER_LED айнымалысы арқылы өзгертілуі мүмкін). Біз ең жоғарғы жарықдиодты жарықтылықты реттейміз, осылайша біз бір блокқа дейінгі қашықтықтың өзгеруін көре аламыз. curLEDLevel - бұл жарықтықтың өзгеруін есептеу үшін қолданылатын айнымалы. Ол 1 -ден 4 -ке дейін (немесе BLOCKS_PER_LED ретінде анықталатын).

Біз әр айнымалы диодты айналдыру кезінде осы айнымалыларды қолданамыз:

for (uint16_t i = 0; i <strip.numPixels (); i ++) {if (i <= curLED) {// жарқыраған жарылыс радиусында болғанда ең жарқын, сөндіруші NUMLEDS*BLOCKS_PER_LED алыстаған кезде өшіру қарқындылығы = (қалқыма) блоктарыFromCreeperToMax /MAX_DIST; if (i == curLED) {// соңғы жарық диоды // келесі жарықдиодты жақындағанда соңғы жарықдиодты жарқын етеді lastIntensity = (float) curLEDLevel/BLOCKS_PER_LED; қарқындылығы *= lastIntensity; } if (dist <SAFE_DIST) {қарқындылығы *= (миллис ()/75)%2; } қарқындылық = pow (қарқындылық, 2.2); // гамма қисығы, жарықтық мәні шын мәнінде strip.setPixelColor (i, strip. Color (10*қарқындылығы, 70*қарқындылығы, 10*қарқындылығы, 0)) болмаған кезде жарық диодты жарықтылықты біздің көзімізге сызықты етіп көрсетеді. } басқа {strip.setPixelColor (i, strip. Color (0, 0, 0, 0))); }}

Егер біз жаңартатын ағымдағы жарықдиодты curLED айнымалы мәнінен аз немесе оған тең болса, онда біз оның қосылуы керек екенін білеміз және оның жарықтығын есептеуіміз қажет. Әйтпесе, оны өшіріңіз. Біз жарық диодты жарықтылықты көрсету үшін 0 мен 1 арасындағы мәнге ие қарқындылық айнымалысын қолданамыз. Светодиодтың соңғы түсін орнатқанда, біз қарқындылықты жасыл түске (10, 70, 10) көбейтеміз. MAX_DIST -ке бөлу арқылы пайызды алу үшін blockFromCreeperToMax айнымалысын қолданамыз, сондықтан біз сойғышқа жақындағанда светодиодтар жарқырайды. Егер біз curLED жарықтығын есептейтін болсақ, онда оның жарықтығын BLOCKS_PER_LED параметріне дейінгі аралықтағы блоктар үшін өзгертеміз. Бұл нәзік өзгеріс, бірақ оны қосымша жарықдиодты жарықтандыру үшін қажет 4 блоктан гөрі жіңішке дәнге жақындағанын немесе жақындағанын көру үшін қолдануға болады. Содан кейін біз жарылыс радиусында екенімізді тексереміз, егер бар болсақ жыпылықтаймыз. (Millis ()/75)%2 өрнегі 75 миллисекунд үшін 0 -ге, содан кейін 75 миллисекундқа 1 -ге бірнеше рет бағаланады, сондықтан біздің интенсивтілігімізді осы өрнекке көбейткенде жарық диодтары жыпылықтайды.

Қарқындылықтың соңғы өзгеруі (қарқындылық = пов (қарқындылық, 2.2)) - бұл гамма түзету деп аталатын түзету. Адам көзі жарықты сызықты емес түрде қабылдайды. Біз жарқыраған жарықтан гөрі күңгірт жарықтың градациясын көре аламыз, сондықтан біз жарықтықтың жарықтығын төмендеткенде, біз сызықтықта түсіп бара жатқандай көріну үшін жарық күңгірттенгеннен гөрі төмен қараймыз. сән адамның көз алдында. Бұл өзгерістің жанама әсері - біз энергияны аз жұмсауды аяқтаймыз, өйткені біздің пиксельдер жарқын (жоғары энергия) диапазонға қарағанда диммер (төмен энергия) диапазонында градацияға ие болады.

Біздің цикл функциясының соңғы екі жолы жарық диодты диапазондарды біз орнатқан мәндерге жаңартады, содан кейін SerialCraft шақыруы керек кез келген өңдеушілерге қоңырау шалады (бұл жағдайда, егер біз SerialCraft модулінен кез келген қашықтық туралы хабарламалар алсақ)..

strip.show ();

sc.loop ();

Біздің сценарийдің соңғы жолдары - бұл Creeper функциясы, онда SerialCraft модулі бізге осы ақпаратты жіберген кезде біз ең жақын шырмауыққа дейінгі қашықтықты сақтаймыз.

бос сойғыш (int d) {dist = d; }

Енді сізге кодты құрастыру және жүктеу қажет!

4 -қадам: қоршау

Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау

Мен қоршаудың барлық бөліктерін лазермен кесіп алдым, ол бір аязды акрилді скреперден, бір мөлдір акрилді сойғыштан, 6 дана фанерадан, тіктөртбұрышты саңылауы бар акрилді сойғыштармен және бұрыштардағы бекітуге арналған тесіктермен және 1 дана фанерадан бекіткіш тесіктері бар артқы жағында және сымдар шығуы үшін бір үлкен тесік. NeoPixel таяқшасынан сымдарды ажыратыңыз, сонда біз оны корпусымызға орнатамыз. Төмендегі екі PDF файлды мен сипаттаған барлық бөлшектерді лазермен кесу үшін қолдануға болады.

NeoPixel таяқшасы фанераның артқы бөлігіне №2 ағаш бұрандалар мен нейлон аралықтар көмегімен орнатылады. Акрилді сойғыштар төртбұрышты тесіктері бар фанераның екі бөлігіне кептеледі. Мұны жасамас бұрын, сымның түсі таяқшаның қай жастығына түсетінін ұмытпаңыз.

Акрилді сойғыштар фанераға өте жақсы бекіту үшін тесіктерден 1 дюйм үлкенірек. Мен сым тазалағыштардың тұтқасын әр бұрышқа бағытталған қысыммен қолдандым және біркелкі орналасу үшін бүкіл сойғыш айналасында жұмыс жасадым. Сонымен қатар, акрилді лазерлік pdf қоршаудың толық бетінің өлшеміне бекітілген саңылаулары бар кесілген сойғышты қамтиды, осылайша сіз кішірек акрилді сойғышпен тығыз бекітілуден аулақ боласыз.

Аязды акрил жеке светодиодтардан жарықты таратады, ал мөлдір акрил сойғыштың гравюрасын жақсы көрсетеді, сондықтан екеуі де маған жеке -жеке қарағанда жақсы көрінеді. Креперлер орнында болғаннан кейін, фанераның барлық бөліктерін бір жерге жинап, оларды M3 станогының бұрандалары мен гайкаларымен бекітіңіз. Содан кейін сымдарды 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 модулі
Minecraft Forge және SerialCraft модулі

Minecraft тіркелгісін жасаудан бастаңыз, содан кейін Minecraft клиентін жүктеп алыңыз.

SerialCraft режимін орнату үшін сізге 1.7.10 нұсқасы үшін Minecraft Forge қажет болады. 1.7.10 Minecraft Forge жүктеу бетіне өтіңіз. Minecraft Forge сайтында сізді дұрыс емес нәрсені басуға және сізді басқа жерге апаруға тырысатын көптеген жарнамалар бар. Дұрыс жолда қалу үшін жоғарыдағы суреттерді орындаңыз! Сіз 1.7.10 ұсынылған нұсқасының астындағы Орнатушы түймесін басқыңыз келеді (немесе соңғы нұсқасы, айырмашылыққа сенімді емеспін). Сізді беттің жоғарғы жағында баннері бар «Бұл тақырыптың астындағы мазмұн-бұл жарнама. Кері санақтан кейін Forge жүктеуді бастау үшін оң жақтағы Өткізіп жіберу» түймесін басыңыз. Қайта санауды күткеніңізге көз жеткізіңіз, содан кейін жүктеуді бастау үшін Өткізу түймесін басыңыз.

Жүктеуді аяқтағаннан кейін орнатушыны екі рет нұқыңыз. Әдепкі параметрлерді тексеріңіз (Клиентті және ол көрсететін әдепкі жолды орнатыңыз), содан кейін OK түймесін басыңыз. Ол Minecraft Forge орнатады. Аяқтаған кезде сіз Minecraft Launcher -ды іске қоса аласыз, бірақ Forge 1.7.10 нұсқасын таңдаудың қосымша мүмкіндігі болады (жоғарыдағы суретті қараңыз).

Енді бізге SerialCraft модулін сіздің модульдер каталогына орнату керек. SerialCraft модінің соңғы нұсқасын мына жерден жүктеп алыңыз. Сізге jssc кітапханасы қажет. Екі файлды да ашыңыз, бұл сізге екі.jar файлын қалдырады. Сіз бұл файлдарды mods қалтасына қоюыңыз керек. Windows жүйесінде Іске қосу түймешігін басу алдында іске қосу мәзірінен Run бөліміне өтіп, %appdata %\. Minecraft / mods енгізу керек. Mac жүйесінде Home/Library/Application Support/minecraft/mods тармағына өтуге болады. Екі.jar файлын жаңа ашылған қалтаға салыңыз. Енді Minecraft іске қосыңыз және 1.7.10 Forge нұсқасын іске қосыңыз. Сіз Mods түймесін басуыңыз керек және SerialCraft -ті сол жақта көре аласыз.

6 -қадам: SerialCraft модулін пайдалану

SerialCraft модулін қолдану
SerialCraft модулін қолдану

Енді сіз SerialCraft модулін орнатқаннан кейін сізге әлемге ену және оны қолдануды бастау қажет болады. Жаңа әлемді құрыңыз немесе сақталған әлемнің бірін ашыңыз (егер сіз көп ойыншы картасында ойнағыңыз келсе, сервер мен оған қосылған барлық клиенттерге SerialCraft модулі орнатылғанына көз жеткізуіңіз керек). Критерлік детектордың компьютерге қосылғанына көз жеткізіңіз, содан кейін K пернесін басыңыз. Ол жоғарыдағы суреттегідей диалогты шығаруы керек (Windows жүйесінде /dev/tty.usbserial… орнына COM1 сияқты бірдеңе айту керек). Егер ештеңе көрсетілмесе, Creeper детекторын қосқаныңызға көз жеткізіңіз. Қосылу түймесін басыңыз, содан кейін Escape түймесін басыңыз. Егер сіздің кодыңыз дұрыс құрастырылған және жүктелген болса, сіздің дренажды детекторыңыз жақсы болуы керек! Егер Creeper 32 блокта болса, ол жануы керек. Бақытты аңшылық!

Егер сізге осы нұсқаулық ұнаған болса, онда оған Minecraft байқауында және Epliog Challenge -де дауыс беруді қарастырыңыз!

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

Minecraft Challenge 2018 екінші жүлдесі

Ұсынылған: