Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Эргэн тойроорой
- Алхам 2: Дэрийг холбох
- Алхам 3: Гэрлийг унтраах нь гайхалтай
- Алхам 4: Кодыг эхлүүлж байна
- Алхам 5: Тоглоомыг тохируулах
- Алхам 6: Тоглогчийн үсрэх кодыг өөрчлөх
- Алхам 7: Гаралтыг өөрчлөх
- Алхам 8: Энэ нь ажилладаг
- Алхам 9: Өрөөг бэлтгэх
- Алхам 10: Бүрэн боллоо
Видео: Тоглоомын физик хянагч бий болгох: 10 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Nintendo Wii -ийг эхлүүлэх үед тоглогчдыг сонгосон тоглоомдоо оноо авахын тулд буйдангаа орхиж, үсрэх, бүжиглэх, жиргэх зэргээр урамшуулдаг байв. Wii -ийг бүтээхэд сурч мэдсэн муруй байгаа хэдий ч даралтын дэвсгэр дээр тохирох цагт биеэр үсэрч тоглоомыг удирдах боломжийг олгодог тусгай төхөөрөмжийг бүтээхэд хялбар байдаг.
Энэхүү заавар нь би 'Space Bounce' тоглоомыг (https://marquisdegeek.com/spacebounce/ хаягаар https://github.com/MarquisdeGeek/SpaceBounce хаягаар шууд тоглох боломжтой) физик хянагч ашиглахад хэрхэн дасан зохицсоныг харуулж байна.
Хангамж
- Ардуино
- Хоёр даралтын дэвсгэр (минийх Маплинаас ирсэн
- Даралтын дэвсгэрийн хувьд хоёр резистор (100 К, гэхдээ ихэнх нь зүгээр)
- Хоёр LED (заавал биш)
- LED -ийн хувьд хоёр резистор (100 К, гэхдээ ихэнх нь зүгээр. Мөн нэмэлт)
- Зөөврийн компьютер
Алхам 1: Эргэн тойроорой
Би үсрэх интерфэйсийг зохион бүтээж эхэлсэн бөгөөд тоглоомыг хянаж үзэхэд хоёр дэвсгэртэй байх нь үндсэн санаагаа хамгийн сайн илэрхийлэх болно гэдгийг ойлгосон. Өөрөөр хэлбэл та зүүн ханан дээр барих мэдрэмжийг дуурайхын тулд зүүн дэвсгэр дээр зогсож, зохих мөчид баруун дэвсгэр рүү үсрэх бөгөөд таны дэлгэц дээрх дүр мөн адил болно.
Алхам 2: Дэрийг холбох
Тиймээс би хоёр дэвсгэр худалдаж аваад ажилдаа орлоо. Энд үзүүлсэн даралтын дэвсгэр нь миний олж мэдсэн хамгийн энгийн (бас хамгийн хямд!), Тус бүр 10 фунт стерлинг юм. Тэд дөрвөн утастай бөгөөд тэдгээрийн хоёр нь энгийн унтраалга шиг ажилладаг: та дэвсгэр дээр зогсоход холболт үүсч, үсрэх үед утас тасардаг. Би үүнийг энэ үндсэн хэлхээгээр Arduino -д өгсөн.
Алхам 3: Гэрлийг унтраах нь гайхалтай
Энэ нь ажилласан боловч тийм ч их урам зориг өгсөнгүй. Тиймээс, би даралтын дэвсгэр бүрийн төлөв байдлыг харуулахын тулд хэдэн LED нэмж оруулав.
LED нь тоглоом тоглох шаардлагагүй, гэхдээ тэдгээрийг хэлхээнд оруулснаар хэлхээний одоогийн төлөв байдал ямар байгааг би хялбархан харж чадна. Тиймээс, хэрэв тоглоом зөв хариу өгөхгүй байсан бол асуудал нь хэлхээ, Arduino програм хангамж эсвэл тоглоомын логиктой холбоотой эсэхийг шийдэх боломжтой байв.
Алхам 4: Кодыг эхлүүлж байна
Анхны тоглоом JavaScript дээр байсан тул би NodeJS програм бичихээр шийдсэн бөгөөд даралтын дэвсгэрийн өөрчлөлтийг сонсож, өгөгдлийг вэбсокетоор дамжуулан тоглоомын үйлчлүүлэгч рүү илгээдэг.
Нэгдүгээрт, Arduino дээр стандарт firmata суулгаарай, ингэснээр бид Node серверийг компьютер дээр ажиллуулж, Arduino -ийн төлөв байдлын өөрчлөлтийг сонсохын тулд Johnny Five номын санг ашиглах боломжтой болно. Дараа нь тоглоомын агуулгыг хүргэхийн тулд Express -ийг нэмнэ үү.
Серверийн код бүхэлдээ иймэрхүү харагдаж байна.
const express = шаарддаг ('илэрхийлэх');
const app = express (); const http = шаарддаг ('http'); const сервер = http.createServer (апп); const io = шаарддаг ('socket.io'). сонсох (сервер); const arduino = шаарддаг ('arduino-хянагч'); server.listen (3000, function () {console.log ('Экспресс сервер сонсож байна …');}); app.use ('/', express.static ('app')); const тав = шаардах ("Жонни-тав"); const board = new five. Board ({repl: false}); board.on ("бэлэн", функц () {ногоон = шинэ таван. Pin (3); io.on ('холбогдох', функц (сокет) {console.log ('Бид холбогдсон!'); LastLeft = false; lastRight = false; err, val) => {if (val) {green.on ();} other {green.off ();} if (val! == lastLeft) {lastLeft = val; let state = {side: 'left', төлөв: val? 'доош': 'дээш'} socket.emit ('arduino:: төлөв', JSON.stringify (төлөв), {for: 'хүн бүр'});}}) тав. Pin.read (баруун талд), (err, val) => {if (val) {red.on ();} else {red.off ();} // if (val! == lastRight) {lastRight = val; let state = {side: 'баруун', төлөв: val? 'доош': 'дээш'} socket.emit ('arduino:: төлөв', JSON.stringify (төлөв), {хувьд: 'хүн бүр'});}})}); });
Тэгээд ажиллуулдаг:
зангилааны сервер.js
Алхам 5: Тоглоомыг тохируулах
Эхний асуудал бол интерфэйс байв; Үсрэх л юм бол яаж тоглох товчлуур дээр дарах вэ? Би бусад бүх товчлууруудыг арилгах замаар үүнийг шийдсэн! Дараа нь тоглогч үсрэх бүрт "дээш" гэсэн үйл явдлын аль нэгийг сонсоод үлдсэн товчлуурыг дарж чадна.
залгуур = io (); socket.on ('arduino:: state', function (msg) {let data = JSON.parse (msg); if (data.state === 'up') {// бид үсэрч байна!}});
Эндээс би тоглоомонд орж, дэвсгэрийг илүү хөгжилтэй зүйлд ашиглах боломжтой боллоо - тоглоом өөрөө.
Алхам 6: Тоглогчийн үсрэх кодыг өөрчлөх
Энэ удаад би дэвсгэр бүрийг тус тусад нь авч үзэх хэрэгтэй бөгөөд тоглогчийн хөл дэвсгэрээс гарах бүрт дүрийг үсэрч эхлэх хэрэгтэй болно. Уурхайн босоо амыг дайран өнгөрөх дүр нь тоглогч нэг талаас хажуу тийш үсрэх хугацаанаас илүү урт байдаг. Энэ нь тоглогчид тэнцвэрээ сэргээж, хөлөө шалгаж, тоглогчийн үсрэлт хийж байгааг дэлгэц дээр харах боломжийг олгодог тул энэ нь сайн хэрэг юм. Хэрэв ийм зүйл байгаагүй бол би тоглогчийг удаашруулах байсан.
залгуур = io ();
socket.on ('arduino:: төлөв', функц (msg) {
өгөгдлийг зөвшөөрөх = JSON.parse (msg); if (data.side === 'left' && data.state === 'up') {// бид зүүн талаасаа үсэрч байна}});
Алхам 7: Гаралтыг өөрчлөх
Оролтын механизм ажиллаж байгаа тул би гаралт дээр ажиллах шаардлагатай болсон. Тоглоом нь таблет эсвэл утсан дээр сайн тоглодог, учир нь энэ нь дэлгэцийг дүүргэдэг. Гэхдээ та үсэрч байхдаа харах нь хэтэрхий жижиг тул дэлгэц дээрх тоглоомын талбайг томруулах хэрэгтэй. Олон!
Харамсалтай нь бүх график хөрөнгийг томруулах нь маш их цаг хугацаа шаардсан ажил юм. Тиймээс, би хуурсан! Тоглоом нь хулганы товшилтын X, Y байрлал, мэдрэгчтэй үйл явдлыг ойлгох шаардлагагүй тул би зурагны зургийг бүхэлд нь дахин томруулж чадна!
Энэ нь CSS болон JavaScript хоёуланг нь хакердсантай холбоотой бөгөөд одоо байгаа HTML5 зураг объектыг бүтэн дэлгэцээр ажиллуулах болно.
Цаашилбал, тоглоомыг 90 градус эргүүлэхэд шаардлагатай дэлгэцийн үл хөдлөх хөрөнгийг хамгийн их ашиглах зорилгоор хөрөг горимд тоглодог.
#SGXCanvas {
байр суурь: үнэмлэхүй; z-индекс: 0; хувиргах: эргүүлэх (-90 градус); хувиргах гарал үүсэл: баруун дээд; өргөн: авто; }
Алхам 8: Энэ нь ажилладаг
Эхний тоглоомондоо би зөөврийн компьютерээ хажуу тийш нь хазайлгаж, ингэж тоглосон.
Алхам 9: Өрөөг бэлтгэх
Физик хянагч бий болгох нь аяллын зөвхөн эхлэл бөгөөд төгсгөл биш юм. Үлдсэн физик орон зайг анхаарч үзэх хэрэгтэй.
Нэгдүгээрт, даралтын дэвсгэр нь таныг газардах үед шалан дээр эргэлддэг. Үүнийг хоёр талт наалдамхай дэвсгэрээр амархан засдаг. Тэд сайн ажилладаг, гэхдээ нэг их элэгдэлд тэсвэргүй байх.
Дараа нь зөөврийн компьютер нь жаахан тэнэг харагдаж байгаа нь тоглоомоос өөрийгөө сатааруулдаг. Тиймээс амралтын өрөөнөөс авсан зурагтыг "зээлж" орон нутгийн MakerSpace руу аваачиж, хананд наалдаж холбосон байна.
Ирээдүйд тоглогчийг чиглүүлэхийн тулд даралтын дэвсгэр дээр хөлийн ул мөр (Нил Армстронгын анхны хэвлэсэн зураг байж магадгүй!) Оруулах нь сайхан байх болно. ТВ -ийн илүү сайн бүрхүүл, хүрээ нь мэдрэмжийг нэмэгдүүлэх болно. Цаг зав, орон зай ихтэй та нар уурхайн босоо амнаас унах клаустрофобийн мэдрэмжийг дуурайж, дэвсгэрийнхээ хоёр талд байрлуулсан цаасан мачег чулуун нүүр хийж магадгүй юм.
Алхам 10: Бүрэн боллоо
Тэгээд тэнд танд байгаа. Анхны тоглоомыг сайжруулж, тоглож байхдаа чийрэгжүүлэх боломжийг олгодог хялбар өдрийн төсөл!
Энэ ажлын зарим хэсгийг багасгахын тулд та анхны тоглоомонд ашигладаг товчлуурыг шууд дуурайдаг Makey Makey ашиглаж болно. Гэхдээ энэ нь уншигчдын хувьд дасгал болж үлджээ:)
Бүх код Space Bounce репо дахь тусгай салбар дээр байна:
Зөвлөмж болгож буй:
(ШИНЭЧЛЭХ - ХЯЛБАР АСУУДАЛ БАЙНА) PC тоглоомын USB тоглоомын хянагч: 10 алхам (зурагтай)
(ШИНЭЧЛЭХ - ХЯЛБАР АСУУДАЛ БАЙНА) USB тоглоомын хянагч PC
Макей-Макей ба ус ашиглан өөр MIDI хянагч бий болгох: 6 алхам
Макей-Макей ба ус ашиглан өөр MIDI хянагч үүсгэх: Макей-Макей-ийг ашиглан захиалгат, бүтээлч оролт бий болгох нь үнэхээр амархан! Тоног төхөөрөмжийг ашигладаг олон хүмүүс дуу чимээ, тэмдэглэлийг өдөөхийн тулд Makey-Makey дээрх оролтыг ашиглан өөрсдийн багаж хэрэгслийг бүтээдэг бол бид үүнээс ч илүүг хийж чадна гэж шийдсэн
Arduino дээр суурилсан DIY тоглоомын хянагч - Arduino PS2 тоглоомын хянагч - DIY Arduino Gamepad ашиглан Tekken тоглох: 7 алхам
Arduino дээр суурилсан DIY тоглоомын хянагч | Arduino PS2 тоглоомын хянагч | DIY Arduino Gamepad ашиглан Tekken тоглох: Сайн байна уу залуусаа, тоглоом тоглох нь үргэлж хөгжилтэй байдаг, гэхдээ өөрийн гараар хийсэн DIY тоглоомын хянагчтай тоглох нь илүү хөгжилтэй байдаг тул бид энэ зааварт arduino pro micro ашиглан тоглоом хянагч хийх болно
Оюун санааны хяналтыг бий болгох гипноз Мөрөөдлийн машиныг хямд болгох: 7 алхам
Оюун санааны хяналттай гипнозын мөрөөдлийн машиныг хямд болгох: Энэ бол үндсэндээ хэд хэдэн нэмэлт функц, зарим ажилтай Flash Nap төсөл юм. Энэ нь бас "Light/Sound" гипнозын машинуудын хамгийн бага хувилбар бөгөөд хэдэн зуун долларын үнэтэй боловч хэрэв танд эд анги байгаа бол энэ машин хэдхэн долларын үнэтэй болно. ХӨТӨЛБӨРГҮЙ
Өөрийн цахим тоглоомын иж бүрдлийг бий болгох: 7 алхам
Өөрийн цахим тоглоомын иж бүрдлийг бий болгох: Анх Grand Idea Studio -ийн Maker Faire -д зориулан бүтээсэн " Өөрийн цахим тоглоомын иж бүрдлийг бүтээх " нь цахилгаан бараа, гагнуурын ертөнцөд таныг танилцуулах зорилготой захиалгат иж бүрдэл юм. Амжилттай угсарсны дараа иж бүрдэл нь