Мазмуну:
- 1 -кадам: Чапты басып чыгаруу
- 2 -кадам: Case Ассамблеясы
- 3 -кадам: Circuitry
- 4 -кадам: Перифериялык схемалар
- 5 -кадам: Программалоо
- 6 -кадам: Кошумча док
- 7 -кадам: Жыйынтыктар
Video: Үйдө жасалган оюн консолу- "NinTIMdo RP": 7 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Көбүрөөк түшүндүрмөлөр, бөлүктөр тизмеси жана файлдары бар веб-баракчага шилтеме
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 -кадам: Case Ассамблеясы
Адегенде оң жана сол бөлүктөрдү бириктирип, тешиктерге металл дубалды салыңыз. Кийинки жерде муундарга супер клей коюп, жарымын бириктирип коюңуз. Төмөнкү оң жана сол жактар үчүн процессти кайталаңыз. Ушундан кийин алдыңкы жана арткы жарымын чогултуу керек. Эми алдыңкы жана арткы плиталарды бириктирүү үчүн 5 металл стендди тиркөө убактысы келди. Мунун эң оңой жолу - адегенде стенддерди туура узундукка жеткирүү. Артында 13 мм тереңдикте 5 мм тереңдикте. Ошентип, тирешүүлөрдү 18 мм же бир аз азыраак кылыңыз. Мен муну орунсуз кармагычка узунураак тирешүү жана разряддагычты колдонуу менен кылдым. Бир тарапты гана майдалоону унутпаңыз, анткени сизге экинчи жип керек болот. Туура узундуктагы клейди алгандан кийин, бардык тегирменди капталынан алдыңкы бетине кадимки горилла клейи менен кургатып коюңуз. Бул процессте алардын баары тикесинен тик тургула. Качан кургатылган эң сонун желимди кырып салыңыз, ошондо беттерди биригип койгондо кызарып кетет. Эми алдыңкы бөлүккө кошулуу үчүн арткы плитаны тирешүүгө киргизе алаарыңызды көрүңүз. Бекитүү үчүн арткы табак аркылуу бирге бурап коюңуз. Горилла Эпокси дуэль түтүгү менен алкакты каптоо менен экранды жабыштырыңыз. Мен муну кылганда өтө көп кийип алдым жана ал экранга ашып кетти. Бактыга жараша, ал кетет! Кысыңыз жана бир аз кургатыңыз, андан кийин арткы жагын кадимки горилла клейи менен каптаңыз.
** Эскертүү: Сыртынан жука CA клейин (супер клей) албоого аракет кылыңыз, анткени ал PLAны "күйгүзүп", ак түскө боелот.
3 -кадам: Circuitry
Баскычтын схемасы:
Бардык баскычтарды басып алуу Teensy ++ 2.0 аркылуу жасалат. Микроконтроллердеги санарип казыктар каалаган бинардык баскычтар үчүн колдонулат. Аналогдук казыктар джойстиктер сыяктуу бир нече абалга ээ болгон баскычтар үчүн колдонулат. Санарип казыктарды зымга туташтыруу үчүн, санариптик пинди которгучка, зымдын экинчи учун жерге туташтырыңыз. Кнопка басылганда, контроллер сезиши үчүн, ал жогорку чыңалуу пинин ылдый түшүрөт. Резисторлор жөнүндө тынчсыздануунун кажети жок, анткени алар Teensy тактасына киргизилген. Аналогдук казыктарды туташтыруу үчүн аналогдук түзмөгүңүздү жогорку жана төмөнкү чыңалууга буруп, аналогдук пиндин чыңалуусун ошол диапазондо окушуңуз керек болот. Джойстиктер үчүн ар бир огу үчүн 3 киргизүү бар. Кадрлардын бирине 5В, экинчисине GND жана чыңалуунун окуу линиясын акырына чейин жеткирүү. Муну туура туташтырганыңызды унутпаңыз, же ал иштебейт (мультиметрди колдонуп, чыгыш чыңалуусунун туура пинге өзгөргөнүн текшериңиз.) Негизи джойстик - бул чыңалуу бөлүштүргүч сыяктуу иштеген өзгөрүлмө каршылык. Окулган пиндеги чыгуу чыңалуусу джойстиктердин абалына жараша 0 менен 5В ортосунда өзгөрөт. (Көбүнчө 5V жана GND тараптуулугу джойстиктин сырткы кирүү казыктарында, ал эми ортоңкусу - бул сиздин өзгөрмө чыңалуучу окуу пиниңиз. Эгерде 5V жана GND меникинен айырмаланып турса, анда сиздин башкаруу элементтериңиз тескери бурулат, бул программалык камсыздоого же кайра туташтырууга оңдолушу мүмкүн).
Power Circuitry:
Үч клеткалуу Anker батарейкасы бүт түзүлүштү энергия менен камсыздайт. Түзмөктү күйгүзүү/өчүрүү үчүн, батарея жөндөгүчүнүн чыгуусу которгучка, анан Raspberry Piге туташтырылган. Түзмөк 2Ага чейин тарта ала тургандыктан, 250мА жөнөкөй которгуч азыркы талапка жооп бере албайт. Тескерисинче, которгучту колдонуу үчүн PMOS транзисторундагы дарбазанын чыңалуусун көзөмөлдөө үчүн которууну колдоно аласыз. Батарейканын 5Вын PMOS транзисторунун жана которгучтун булагына өткөрүңүз. Коммутатордун экинчи учу PMOS транзисторунун дарбазасына жана GNDге туташкан 10K каршылыгына туташтырылган (дарбазанын калкып кетишине жол бербөө үчүн которгуч ачык болгондо аны резистор аркылуу GND менен байланыштырат). Drain жер менен бирге Raspberry Piдеги 5V кирүүгө зымдуу. Батарейканы кубаттоо үчүн, жөн эле микро USB аялдын сындыруучу тактасын туура кубаттоочу казыктарга зымдап коюңуз (корпуска киргизүүнү кеңейтет). Мен бул которгучту аппараттын артындагы аба алгычка катып койгом. Башында мен анын ордуна батарейканын баскычын белгилүү бир мөөнөткө кармап туруу менен түзмөктү күйгүзүп, өчүрүүнү пландап жаткам, тилекке каршы, мен бөлмөмдөн чуркап чыгып, жөнөкөй ишке ашырууга туура келди. Бул альтернативдүү дизайн төмөндөгү схемада көрсөтүлгөн.
Аудио схемасы:
Аудио үчүн мен үндүн табигый түрдө колонкадан ойнотулушун кааладым (эгер үнү өчүрүлбөсө) жана эгер алар сайылып турса, гарнитурага кайра багытталсын. Бактыга жараша, аялдардын 3.5мм баш телефон уячаларынын көбү муну механикалык түрдө жөндөмдүү. Эркек сайгыч киргизилгенде, спикердин учтары ийилип ачык схеманы түзүп, сигналдын динамиктерге жетүүсүнө тоскоол болот. Динамиктер чоңураак жүк болгондуктан, угуу үчүн аудио сигнал күчөтүлүшү керек. Бул адафруттан тапкан стерео класс D күчөткүчүнүн жардамы менен жасалат. Жөн гана 5V жана GND менен күчөткүчтү бурмалаңыз. Бизде дифференциалдуу аудио кириштер жок, андыктан сол жана оң динамиктерди оң терминалдарга туташтырып, терс терминалдарды GNDге байлап коюңуз. Пайда секиргич аркылуу жөнгө салынат. Мен кирешени максимумга койдум жана үнүн жөндөө үчүн программалык камсыздоо аркылуу аудио сигналдардын амплитудасын өзгөртүп жатам. Түзмөктүн үнүн өчүрүү үчүн менде 5V жыштыгын көзөмөлдөгөн NMOS транзистору бар. Бул NMOS транзисторлорунун дарбазасы Teensy тарабынан башкарылат. Мендеги маселе - тышкы динамиктерде дайыма жогорку жыштыктагы ызы -чуу. Мен муну осциллографта анализдейм, анткени 5В жанталашуудан келип чыгышы мүмкүн, анткени кээ бир жөндөгүчтөр батарейканы алмаштырып коюшат же линиялар бир жерде RFди алышы мүмкүн. Ошондой эле, электромагниттик кийлигишүүнү (EMI) азайтуу үчүн оң жана сол линияларды бурууну унутпаңыз.
4 -кадам: Перифериялык схемалар
Бул схема USB орнотмолорун жана LED индикаторун камтыйт. Менин шилтемедеги ПХБга буйрутма бериңиз жана тилкелүү араны колдонуп, чекиттүү сызык боюнча экиге бөлүңүз. USB тарабында бардыгы эки аял USB портун тактага туташтырышат. LED тарабында 5 LED жана 5 резисторлору катарлаш. 5V, GND, D+, D-Raspberry PIдин эскилиги жеткен USBлерин ПКБга зымдарды колдонуу менен узартылышы мүмкүн. LED PCB жарык иштин үстүндөгү тешиктер аркылуу жаркырайт деп жайгаштырылышы мүмкүн. GND менен бирге LED'ге Teensyдин 5 PWM чыгууларын өткөрүңүз. Кызмат циклин өзгөртүү менен сиз LEDдин жарыгын өзгөртө аласыз.
ПХБ сатып алуу:
5 -кадам: Программалоо
Өспүрүм:
Эгер сиз аны меникине окшоштурсаңыз, анда мен Githubда берген кодду колдонсоңуз болот. Бирок, мен муну өзүңүз жазууну сунуштайт элем, анткени сиз системаны жакшыраак түшүнөсүз жана өзүңүздүн каалооңузга жараша оңой башкара аласыз. Программалоо абдан жөнөкөй, бул сиздин баскычтарыңыздын басылгандыгын текшерүү үчүн, эгерде көптөгөн билдирүүлөрдү жазууга туура келет. PJRCден алынган пайдалуу көрсөтмө. Сиз кодуңузду жазуу жана Teensyге жүктөө үчүн Arduino IDE колдоно аласыз.
КОД:
github.com/timlindquist/Nintimdo-RP
Санариптик баскычтар: Бул мисал мени санарип пиндин 20 басылганын текшерип, андан кийин сериялык джойстиктин туура буйругун чыгарганын көрсөтөт. Сиз баскыч үчүн 1ден 32ге чейин тандай аласыз, анткени Retropie баары бир контролердун картасын түзүүнү баштайт. Joystick.tutton (баскычтар: 1-32, Басылган = 1 Чыгарылган = 0)
Аналогдук баскычтар:
Мисалда, джойстиктин оң вертикалы 41 аналогдук пинге туташтырылган. AnalogRead (pin) функциясы 0 менен 5V ортосундагы чыңалуу деңгээлин алат жана 0дон 1023кө чейин маанини кайтарат. Идеалдуу борбордук позиция 2.5V же 512ге туура келет, бирок бул менин аналогдук таякчам үчүн андай болгон жок, андыктан тууралоо керек. Бул төмөндө көрсөтүлгөн кайра түзүү аркылуу ишке ашты. Андан кийин мен чектердин 0дон 1023кө ашпагандыгын текшеришим керек болчу. Акырында аналогдук джойстиктин буйругу Zoystick. 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 Handheld Game Console: Бул көрсөтмөлөр NES эмулятору оюн консолун куруу үчүн ESP32 жана ATtiny861ди кантип колдонууну көрсөтөт
1963 Pi Tourer оюн консолу: 9 кадам (сүрөттөр менен)
1963 Pi Tourer Оюн Консолу: Бул 1963 -жылкы Sky Tourer унаа радиосу, мен аны ыңгайлуу көчмө ретро оюн консолуна айландырдым. Анда Raspberry Pi 3 орнотулган, 6 аркада баскычы жана джойстик бар, бул Vintage RetroPie спрайттарын Picade контроллер тактасы аркылуу башкарат. The
Визитка/оюн консолу: ATtiny85 жана OLED экраны: 5 кадам (сүрөттөр менен)
Визитка/оюн консолу: ATtiny85 жана OLED экраны: Саламатсыздарбы! Бүгүн мен сизге кантип өзүңүздүн визиттик картаңызды/оюн консолун/I2C OLED дисплейи жана ATtiny85 микропроцессору бар экенин элестете алган нерсеңизди кантип курууну көрсөтөм. Бул Нускамада мен сизге кантип ПКБ жасоону айтып берем
Arduino чөнтөк оюн консолу + A -лабиринт - лабиринт оюну: 6 кадам (сүрөттөр менен)
Arduino чөнтөк оюн консолу + A -лабиринт - лабиринт оюну: Менин биринчи үйрөткүчүмө кош келиңиз! Мен бүгүн сиздер менен бөлүшкүсү келген долбоор бул Arduino лабиринт оюну, ал чөнтөк консолу Arduboy сыяктуу жөндөмдүү жана ушул сыяктуу Arduino негизделген консолу болуп калды. Аны менин (же сиздин) келечектеги оюндарыңыздын жардамы менен жаркырата аласыз