Агуулгын хүснэгт:
- Алхам 1: Кейс хэвлэх
- Алхам 2: Кейс угсрах
- Алхам 3: Цахилгаан хэлхээ
- Алхам 4: Захын хэлхээ
- Алхам 5: Програмчлал
- Алхам 6: Нэмэлт док
- Алхам 7: Үр дүн
Видео: Гэрийн тоглоомын консол- "NinTIMdo RP": 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Илүү нарийвчилсан тайлбар, хэсгүүдийн жагсаалт, файлуудтай вэб хуудсыг холбох
timlindquist.me
Энэхүү төсөл нь зөөврийн компьютерын үүргийг давхар гүйцэтгэх боломжтой зөөврийн тоглоомын системийг бий болгох явдал байв. Зорилго нь функциональ, гоо зүйн хувьд тааламжтай консол бүтээх явдал байв.
Сэлбэгийн жагсаалт:
docs.google.com/spreadsheets/d/1Ay6-aW4nAt…
Алхам 1: Кейс хэвлэх
Төхөөрөмжийг хэвлэхийн тулд миний 3D загварын файлуудыг татаж аваад 3D принтер рүү илгээнэ үү. Миний ашигласан принтер бол хар хуванцар судалтай хамт Prusa i3 Mk2 байв. Дунд зэргийн нягтралтай орчинд хэвлэх чанар хамгийн сайн байсан нь тогтоогджээ. Төхөөрөмжийн доор бүтцийн материалыг нэмж оруулахаа мартуузай (Гар барих нь түүнгүйгээр муу харагдах болно). Арын хэсгүүдийг тавцангаар нь нуруун дээр нь наасан байдлаар хэвлэв. Урд хэсгүүдийг нүүрэн талдаа тавиуртай ижилхэн хэвлэсэн байв. Хэрэв би өөр хайрцаг хэвлэх гэж байгаа бол дотоод ясыг харуулахын тулд атомын нил ягаан гэх мэт шинэ өнгийг ашиглахыг хүсч байна. Хэрэв та над шиг, 8 инчийн хэвлэх ортой бол 4 ширхэг хувилбарыг хэвлэх шаардлагатай болно. хэвлэсний дараа угсрах болно. Гэсэн хэдий ч хэрэв таны ор нэг ширхэгээр хийх хангалттай том бол урд болон арын хавтанг нэг хэсэг болгон хэвлээд, хооронд нь холбохоос зайлсхийх хэрэгтэй.
Загвар файлууд:
github.com/timlindquist/Nintimdo-RP_3D_mod…
Алхам 2: Кейс угсрах
Эхлээд угсрахын тулд баруун, зүүн урд хэсгүүдийг холбож, метал алчуурыг нүх рүү оруулна. Дараа нь үеүүдэд супер цавуу хийж, талыг нь бэхлээрэй. Процедурыг баруун доод ба зүүн хэсэгт давтана. Үүний дараа та урд болон хойд талыг нь угсарч үлдэх ёстой. Одоо урд болон арын хавтанг нэгтгэх 5 метал бэхэлгээг холбох цаг болжээ. Үүнийг хийх хамгийн хялбар арга бол эхлээд тавиурыг зөв урттай болгох явдал юм. Арын 13 мм гүн, урд талын 5 мм гүн. Тиймээс зогсолтыг 18 мм эсвэл арай бага болго. Би үүнийг дэд бариулд илүү урт зогсоол хийж, бутлуурын тусламжтайгаар хэмжээг нь хуссан. Зөвхөн нэг талыг нь нунтаглахаа мартуузай, учир нь танд нөгөө талдаа утас хэрэгтэй болно. Зөв урттай цавуу авсны дараа бүх бутлуурын хажуу талыг урд горилла цавуугаар нүүрэн талдаа түрхээд хатаана. Энэ процессын явцад тэд бүгд босоо байрлалд байгаа эсэхийг шалгаарай. Хуурай болсны дараа хөөсөрсөн маш сайн цавууг хусаад, нүүрийг нь нийлүүлээд угаах боломжтой болно. Одоо та урд талын хавтанг холбохын тулд арын хавтанг байрлуулж болох эсэхийг үзээрэй. Хамгаалахын тулд арын хавтангаар шургуул. Горилла эпокси дуэль хоолойгоор жаазанд доторлогоо хийж, дэлгэцийг нааж болно. Би үүнийг хийхдээ хэт их хувцасласан бөгөөд энэ нь дэлгэц дээр дүүрсэн байв. Аз болоход энэ нь арилдаг! Хавчаарлаад хэсэг хугацаанд хатаана, дараа нь ар талыг нь энгийн горилла цавуугаар бүрхэнэ.
** Анхаарах зүйл: Гадна талдаа нимгэн CA цавуу (супер цавуу) авахгүй байхыг хичээгээрэй.
Алхам 3: Цахилгаан хэлхээ
Товчлуурын хэлхээ:
Бүх товчлуурыг дарж авах нь Teensy ++ 2.0 ашиглан хийгддэг. Микроконтроллер дээрх дижитал тээглүүрийг хоёртын товчлуур дарахад ашигладаг. Аналог тээглүүрийг джойстик гэх мэт олон төлөвтэй товчлууруудад ашигладаг. Дижитал тээглүүрийг залгахын тулд дижитал зүүг энгийн утсаар солихын тулд шилжүүлэгчийн нөгөө үзүүрийг газардуул. Товчлуур дарагдсан үед хянагч мэдрэхийн тулд өндөр хүчдэлийн зүүг доош нь татах болно. Өсвөр насныхны самбар дээр байгаа тул резисторуудын талаар санаа зовох хэрэггүй болно. Аналог тээглүүрийг залгахын тулд та аналог төхөөрөмжөө өндөр ба нам хүчдэлээр хазайлгаж, аналог зүү дээрх хүчдэлийн түвшинг унших хэрэгтэй болно. Жойстикийн хувьд тэнхлэг бүрт 3 оролт байдаг. Нэг зүү рүү 5V, нөгөө рүү GND, хүчдэлийн унших шугамыг хамгийн сүүлд нь нийлүүлнэ. Үүнийг зөв залгахаа мартуузай, тэгвэл энэ нь ажиллахгүй болно (мултиметр ашиглан гаралтын хүчдэл зөв зүү дээр өөрчлөгдсөн эсэхийг шалгаарай.) Үндсэндээ джойстик бол хүчдэл хуваагч шиг ажилладаг хувьсах эсэргүүцэл юм. Унших зүү дээрх гаралтын хүчдэл нь joystick -ийн байрлалаас хамааран 0 -ээс 5V хооронд хэлбэлздэг. (Ихэвчлэн 5V ба GND хазайлт нь джойстикийн гадна талын оролтын зүү дээр байдаг бөгөөд дунд нь таны хувьсах хүчдэлийн унших зүү байх болно. 5V ба GND нь минийхээс өөр байвал таны удирдлага эргэх болно. Үүнийг програм хангамж эсвэл дахин холболтоор засаж болно.).
Цахилгаан хэлхээ:
Гурван эсийн Anker батерей нь төхөөрөмжийг бүхэлд нь тэжээдэг. Төхөөрөмжийг асаах/унтраахын тулд батерейны зохицуулагчийн гаралтыг унтраалгаар холбож, дараа нь Raspberry Pi -ийг холбоно. Төхөөрөмж нь 2А хүртэл зурах чадвартай тул 250mA энгийн унтраалга нь одоогийн шаардлагыг хангаж чадахгүй. Үүний оронд та шилжүүлэгчийг ашиглан PMOS транзистор дээрх хаалганы хүчдэлийг хянах боломжтой. Зайны 5V -ийг PMOS транзистор болон унтраалгын эх үүсвэрт холбоно уу. Шилжүүлэгчийн нөгөө үзүүр нь PMOS транзисторын хаалга болон GND -тэй холбогдсон 10К эсэргүүцэлтэй холбогдсон байна (хаалга хөвөхгүйн тулд унтраалга онгойлгоход резистороор дамжуулан GND -тэй холбогддог). Ус зайлуулах хоолой нь Raspberry Pi дээрх 5V оролттой холбогдсон байна. Батерейг цэнэглэхийн тулд микро USB эмэгтэй таслагч самбарыг зөв цэнэглэгч зүү рүү залгаарай (оролтыг хайрцаг руу сунгана). Би энэ унтраалгыг төхөөрөмжийн арын хэсэгт байрлах агаар нэвтрүүлэх хэсэгт нуусан. Эхэндээ би батерейны товчлуурыг тодорхой хугацаанд барьснаар төхөөрөмжийг асааж, унтраахаар төлөвлөж байсан боловч харамсалтай нь би өрөөнөөсөө гарч, энгийн хэрэгжилтийг хийх шаардлагатай болсон. Энэхүү өөр загварыг доорх схемд үзүүлэв.
Аудио хэлхээ:
Аудио сонсохын тулд би дууг чанга яригчаас гарган тоглуулахыг хүссэн (хэрэв дуугуй бол), хэрэв залгасан бол чихэвч рүү дахин чиглүүлэхийг хүсч байна. Аз болоход 3.5 мм хэмжээтэй эмэгтэй утасны утасны үүрний ихэнх нь үүнийг хийх чадвартай байдаг. Эр залгуурыг залгахад чанга яригч нь нугалж, нээлттэй хэлхээг үүсгэх бөгөөд ингэснээр дохио чанга яригч руу орохоос сэргийлнэ. Чанга яригч нь илүү их ачаалалтай тул сонсохын тулд аудио дохиог нэмэгдүүлэх шаардлагатай. Үүнийг adafruit дээрээс олж авсан стерео ангиллын D өсгөгч ашиглан хийдэг. 5V ба GND -тай өсгөгчийг зүгээр л хазайгаарай. Бидэнд дифференциал аудио оролт байхгүй тул зүүн ба баруун чанга яригчийг эерэг терминал руу холбож, сөрөг терминалуудыг GND -тэй холбоно уу. Олзыг холбогч ашиглан тохируулна. Би ашиг орлогыг дээд хэмжээнд нь тохируулж, дууны хэмжээг тохируулахын тулд програм хангамжийн тусламжтайгаар гаралтын аудио дохионы далайцыг өөрчилж байна. Төхөөрөмжийн дууг хаахын тулд 5V хэв маягийг хянадаг NMOS транзистортой. Энэхүү NMOS транзисторын хаалгыг Teensy удирддаг. Надад тулгарч буй нэг асуудал бол гадаад чанга яригч дээр өндөр давтамжтай дуу чимээ байнга гардаг явдал юм. Би үүнийг осциллограф дээр дүн шинжилгээ хийх болно, учир нь зарим зохицуулагч батерейг сольж байгаа эсвэл шугамууд хаа нэгтээ RF -ийг татаж байгаа тул 5V -ийн хэвийсэн утгатай байж магадгүй юм. Түүнчлэн цахилгаан соронзон хөндлөнгийн оролцоог (EMI) багасгахын тулд баруун ба зүүн шугамыг мушгихаа мартуузай.
Алхам 4: Захын хэлхээ
Энэ хэлхээнд USB залгуур, LED заагч орно. ПХБ -ийг миний линкээр захиалж, туузан хөрөө ашиглан тасархай шугамын дагуу хагасаар нь огтол. USB тал дээр хоёр эмэгтэй USB портыг самбар дээр гагнана. LED тал дээр 5 LED ба 5 резисторыг цувралаар гагнана. 5V, GND, D+, D-ийг Raspberry PI-ийн хуучирсан USB-ээс ПХБ руу утас ашиглан сунгаж болно. LED ПХБ -ийг байрлуулж болох бөгөөд гэрэл нь хайрцагны дээд талын нүхнүүдээр дамжин гэрэлтдэг. Teensy -ийн 5 PWM гаралтыг GND -ийн хамт LED -ээр холбоно. Ажлын мөчлөгийг өөрчилснөөр та LED -ийн гэрлийг өөрчилж болно.
ПХБ худалдаж авах:
Алхам 5: Програмчлал
Өсвөр насныхан:
Хэрэв та надтай яг ижил утсыг холбосон бол Github дээр өгсөн кодыг ашиглаж болно. Гэсэн хэдий ч, хэрэв та системийг илүү сайн ойлгож, өөрийн хүссэнээр хялбархан зохицуулж, өөрчилж чадах тул үүнийг өөрөө бичихийг зөвлөж байна. Програмчлал нь маш энгийн, таны товчлуурууд дарагдсан эсэхийг шалгахын тулд хэрэв if мэдэгдэл бичих шаардлагатай болдог. PJRC -ээс хэрэгтэй зааварчилгаа. Та Arduino IDE -ийг ашиглан кодоо бичих, Teensy -д байршуулах боломжтой.
КОД:
github.com/timlindquist/Nintimdo-RP
Дижитал товчлуурууд: Энэ жишээ нь дижитал зүү 20 -ийг дарсан эсэхийг шалгаж, дараа нь сериал джойстикийн зөв командыг гаргаж байгааг харуулж байна. Retropie эхэндээ контроллерын зураглалын тохиргоог хийдэг тул та 1 -ээс 32 хүртэлх товчлуурыг сонгож болно. Joystick товчлуур (товчлуурууд: 1-32, дарагдсан = 1 хувилбар = 0)
Аналог товчлуурууд:
Жишээн дээр баруун жойстикийн босоо хэсгийг аналог зүү 41 -т залгасан болно. AnalogRead (pin) функц нь 0 -ээс 5V хүртэлх хүчдэлийн түвшинг хүлээн авч 0 -ээс 1023 хүртэл утгыг буцаана. Хамгийн тохиромжтой төвийн байрлал нь 2.5V эсвэл 512, Гэсэн хэдий ч энэ нь миний аналог модны хувьд тийм биш байсан тул тохируулга хийх шаардлагатай байв. Үүнийг доор үзүүлсэн дахин засварлах замаар хийсэн. Үүний дараа би хил хязгаар нь 0 -ээс 1023 -аас хэтрээгүй эсэхийг шалгах шаардлагатай болсон. Эцэст нь аналог джойстикийн тушаалыг Joystick. Z (0 -ээс 1023 хүртэлх утга) ашиглан аналог товч Z болгож цуваа руу илгээсэн.
Алхам 6: Нэмэлт док
Док:
Цэнэглэх зориулалттай зогсоол, ТВ -ийг хялбархан холбохгүйгээр энэ барилга бүрэн гүйцэд бүтэхгүй тул би доорх зургуудаас нэгийг зохион бүтээсэн. 3D загварыг бусад Github багцад ашиглах боломжтой.
Загварууд:
github.com/timlindquist/Nintimdo-RP_3D_mod…
Алхам 7: Үр дүн
Эргээд харахад би эмэгтэй хүний хананд бэхэлгээ худалдаж авахын оронд HDMI гаралтыг ПХБ -ээр хиймээр байна. Энэ нь маш их орон зайг хэмнэх болно, учир нь би кабелийг хайчилж, 19 утсыг дахин гагнахаас зайлсхийхийн тулд спираль хэлбэрээр шургуулах ёстой байв. Бага оврын батерейгаар явах гэж байгаад би маш их санаа зовж байна, учир нь үүрний өндөр нь бүхэл бүтэн төхөөрөмжийн зузааныг хязгаарлах хүчин зүйл байсан. Гэсэн хэдий ч үүнийг багасгах нь миний батерейны амьдралд сөргөөр нөлөөлнө.
Нийтдээ үүнийг хийхэд 350 орчим доллар зарцуулсан. Хэмжээгээ хусуулах гэж оролдсон миний бөөрөлзгөнө пи үүнд ороогүй болно … Би үүнийг туршиж үзсэндээ баяртай байна. Би үүнийг аль болох авсаархан хийж чадах эсэхээ харахын тулд зуны хөгжилтэй төсөл байсан бөгөөд үүний хажуугаар дотор нь маш олон гайхалтай онцлогуудыг багтаасан байв.
Зөвлөмж болгож буй:
DIY Raspberry Pi Zero гар утасны тоглоомын консол: 6 алхам (зурагтай)
DIY Raspberry Pi Zero гар тоглоомын консол: Энэ төсөлд би Raspberry Pi Zero, NiMH батерей, гар хийцийн хэт цэнэгээс хамгаалах хэлхээ, арын дэлгэц, аудио өсгөгч зэргийг тоглож болох гар тоглоомын консол бий болгохын тулд ашиглах болно. чимэг тоглоомууд. Эхэлцгээе
ESP32 гар тоглоомын консол: 21 алхам (зурагтай)
ESP32 гар тоглоомын консол: Энэхүү зааварчилгаа нь NES эмулятор тоглоомын консолыг бүтээхдээ ESP32 ба ATtiny861 -ийг хэрхэн ашиглахыг харуулав
1963 Pi Tourer тоглоомын консол: 9 алхам (зурагтай)
1963 Pi Tourer Тоглоомын Консол: Энэ бол 1963 оны Sky Tourer машины радио бөгөөд би үүнийг зөөврийн чимэг тоглоомын консол болгон хөрвүүлсэн юм. Энэ нь Raspberry Pi 3-тэй бөгөөд 6 аркад товчлууртай бөгөөд чимэг RetroPie спрайтуудыг Picade хянагч самбараар удирддаг джойстиктой
Гар тоглоомын консол - Arduboy Clone: 6 алхам (зурагтай)
Гар тоглоомын консол | Arduboy Clone: Хэдэн сарын өмнө би Arduboy компанитай танилцсан бөгөөд энэ нь албан ёсны вэбсайтаас үзэхэд онлайнаар тоглоом сурах, хуваалцах, тоглоход хялбар болгодог 8 битийн бяцхан тоглоомын платформ юм. Энэ бол нээлттэй эхийн платформ юм. Arduboy -д зориулсан тоглоомыг хэрэглэгч хийсэн болно
Бизнес карт/тоглоомын консол: ATtiny85 ба OLED дэлгэц: 5 алхам (зурагтай)
Бизнес карт/тоглоомын консол: ATtiny85 ба OLED дэлгэц: Сайн байцгаана уу! Өнөөдөр би I2C OLED дэлгэцтэй арын гэрэлтүүлэг, ATtiny85 микропроцессортой өөрийн хүссэнээр өөрийн нэрийн хуудас/тоглоомын консол/хэрхэн бүтээж болохыг танд үзүүлэх гэж байна. Энэхүү гарын авлагад би ПХБ -ийг хэрхэн боловсруулж байгааг танд хэлэх болно