Mündəricat:

Ev Oyun Konsolu- "NinTIMdo RP": 7 Addım (Şəkillərlə birlikdə)
Ev Oyun Konsolu- "NinTIMdo RP": 7 Addım (Şəkillərlə birlikdə)

Video: Ev Oyun Konsolu- "NinTIMdo RP": 7 Addım (Şəkillərlə birlikdə)

Video: Ev Oyun Konsolu-
Video: Zombilərin vertolyota minməsinə imkan verməyin! - Zombie Choppa Gameplay 🎮📱 2024, Noyabr
Anonim
Image
Image
Ev Oyun Konsolu
Ev Oyun Konsolu

Daha ətraflı izahlar, hissələr siyahısı və faylları olan veb səhifəsinə keçid

timlindquist.me

Bu layihə, portativ bir kompüter olaraq ikiqat artan bir portativ oyun sistemi yaratmaq idi. Məqsəd həm funksional, həm də estetik baxımdan xoş bir konsol yaratmaq idi.

Parça siyahısı:

docs.google.com/spreadsheets/d/1Ay6-aW4nAt…

Addım 1: Kassanı çap edin

Çantanı Çap et
Çantanı Çap et
Çantanı Çap et
Çantanı Çap et

Cihazı çap etmək üçün 3D model sənədlərimi yükləyin və 3D printerinizə göndərin. İstifadə etdiyim printer qara plastik filamentlə birlikdə Prusa i3 Mk2 idi. Çap keyfiyyətinin orta qətnamə şəraitində ən yaxşı olduğu təsbit edildi. Cihazın altına struktur material əlavə etdiyinizə əmin olun (Əl tutacaqları onsuz da pis görünəcək). Arxa hissələr boşqabla üst -üstə qoyularaq çap edilmişdir. Ön hissələr, ön üzü lövhə ilə bərabər şəkildə yazılmışdır. Başqa bir iş yazsaydım, daxili əşyaları göstərmək üçün atomik bənövşəyi kimi yeni bir rəng istifadə etmək istərdim. Əgər mənim kimiyəmsə və sizinlə işləmək üçün 8 düymlük çap yatağınız varsa, 4 parça versiyasını çap etməlisiniz. çapdan sonra yığılacaq. Bununla birlikdə, yatağınız tək bir parça etmək üçün kifayət qədər böyükdürsə, ön və arxa plakanı tək bir vahid olaraq çap edin və onları bir -birinə yapışdırmaqdan çəkinin.

Model faylları:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Addım 2: Kassa Montajı

Kassa Məclisi
Kassa Məclisi
Kassa Məclisi
Kassa Məclisi

Əvvəlcə hizalama deliklərinə metal bir dübel qoyaraq ön sağ və sol hissələri birləşdirin. Sonrakı oynaqlara super yapışqan qoyun və yarısını birlikdə bağlayın. Sağ alt və sol hissələr üçün proseduru təkrarlayın. Bundan sonra yığılmış bir ön və arxa yarısı qalmalıdır. İndi ön və arxa plitələri birləşdirmək üçün 5 metal dayağı bağlamağın vaxtı gəldi. Bunun ən asan yolu, əvvəlcə dayaqları düzgün uzunluğa çatdırmaqdır. Arxada 13 mm dərinlikdə 5 mm dərinlikdə. Buna görə dayanıqlıqları 18 mm və ya bir qədər az edin. Bunu köməkçi tutacaqlarına daha uzun bir dayaq qoyaraq və ölçüsünü qırxmaq üçün bir öğütücü istifadə edərək etdim. Yalnız bir tərəfi kəsdiyinizə əmin olun, çünki digər tərəfdən iplərə ehtiyacınız olacaq. Düzgün uzunluqlu yapışqan əldə etdikdən sonra, bütün dəyirmanı hər tərəfdən ön gorilla yapışqanından istifadə edərək ön tərəfə yapışdırın və qurudun. Bu müddət ərzində hamısının ayağa qalxdığından əmin olun. Quruduqdan sonra köpüklənmiş əla yapışqanı qırışdırın ki, üzlər bir -birinə yapışdırılsın. Ön tərəfə qoşulmaq üçün arxa plakanı dayaqlara yerləşdirə biləcəyinizə baxın. Bərkitmək üçün arxa plakanın içindən vidalayın. Çərçivəni Gorilla Epoxy duel borusu ilə astarlayaraq ekranı yapışdırın. Bunu edərkən çox yüklədim və ekrana axdı. Xoşbəxtlikdən silinir! Qısaldın və bir müddət qurudun, sonra arxa tərəfini adi Gorilla yapışqanı ilə örtün.

** Qeyd: PLA -nı "yandıracaq" və ağ rəngə boyayacağı üçün xaricdən nazik CA yapışqan (super yapışqan) almamağa çalışın.

Addım 3: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə

Düymə dövrəsi:

Bütün düymələrə basmaq Teensy ++ 2.0 istifadə edərək aparılır. Mikro nəzarətçidəki rəqəmsal sancaqlar hər hansı ikili düymələr üçün istifadə olunur. Analoq sancaqlar, joysticklər kimi bir çox vəziyyəti olan düymələr üçün istifadə olunur. Rəqəmsal pinləri sadə bir şəkildə bağlamaq üçün rəqəmsal pimi açara bağlayın, açarın digər ucunu yerə bağlayın. Düymə basıldığında, nəzarətçinin hiss etməsi üçün yüksək gərginlikli pimi aşağı çəkəcək. Rezistorlar Teensy lövhəsinə daxil olduğu üçün narahat olmağınıza ehtiyac yoxdur. Analoq pinləri bağlamaq üçün analoq cihazınızı yüksək və aşağı gərginliyə yönəltməlisiniz və analoq pində bu aralığındakı bir gərginlik səviyyəsini oxumalısınız. Joysticklər üçün hər ox üçün 3 giriş var. Sancaqlardan birinə 5V, digərinə GND və sona qədər gərginlik oxu xətti verin. Bunu düzgün bağladığınızdan əmin olun, əks halda işləməyəcək (çıxış voltajının düzgün pin üzərində dəyişdiyini görmək üçün multimetrdən istifadə edin.) Əslində joystick bir gərginlik bölücü kimi işləyən dəyişkən bir rezistordur. Oxunan pindəki çıxış gərginliyi joysticklərin mövqeyindən asılı olaraq 0 ilə 5V arasında dəyişəcək. (Adətən 5V və GND önyargıları joystickin xarici giriş pinlərindədir, ortada isə dəyişən gərginlikli oxlama pininiz olacaq. 5V və GND mənimkindən fərqli olarsa, idarəetmələriniz ters çevriləcək, bu proqram və ya yenidən qurulmada düzəldilə bilər.).

Güc Dövriyyəsi:

Üç hüceyrəli Anker batareyası bütün cihazı enerji ilə təmin edir. Cihazı açmaq/söndürmək üçün batareya tənzimləyicisinin çıxışı bir açara, sonra da Raspberry Pi -yə bağlanır. Cihaz 2A -a qədər çəkə bildiyi üçün sadə 250mA keçid açarı cari tələbi idarə edə bilməz. Bunun əvəzinə bir keçid məqsədinə xidmət etmək üçün bir PMOS tranzistorundakı qapı gərginliyini idarə etmək üçün keçiddən istifadə edə bilərsiniz. Batareyanın 5V -ni bir PMOS tranzistorunun mənbəyinə və açara bağlayın. Açarın digər ucu PMOS tranzistorunun qapısına və GND -yə qoşulan 10K rezistora bağlanır (qapının üzməsinin qarşısını almaq üçün açar açıq olduqda onu rezistor vasitəsilə GND -yə bağlayır). Drenaj, Raspberry Pi -də yerlə birlikdə 5V girişə bağlanır. Batareyanı doldurmaq üçün mikro USB dişi qırma lövhəsini düzgün şarj pinlərinə bağlayın (girişi qutuya uzadır). Bu açarı cihazın arxasındakı hava girişində gizlətdim. Əvvəlcə batareya düyməsini müəyyən bir müddət saxlayaraq cihazı açıb söndürməyi planlaşdırırdım, təəssüf ki, yerim tükəndi və sadə tətbiq etməli oldum. Bu alternativ dizayn aşağıdakı sxematik şəkildə göstərilmişdir.

Səs dövrəsi:

Səs üçün səsin təbii olaraq dinamiklərdən (səssiz deyilsə) çalınmasını və qoşulduqda qulaqcıqlara yönləndirilməsini istədim. Xoşbəxtlikdən qadın 3.5mm başlıqlı telefon prizlərinin çoxu bunu mexaniki olaraq bacarır. Kişi fişi taxıldıqda, dinamiklərin ucları əyilərək açıq bir dövrə yaradar, beləliklə siqnalın dinamiklərə çatmasını maneə törədir. Dinamiklər daha böyük bir yük olduğundan, eşitmək üçün səs siqnalı gücləndirilməlidir. Bu, adafruitdə tapdığım bir stereo sinif D gücləndiricisini istifadə etməklə edilir. Sadəcə 5V və GND ilə gücləndiriciyə qərəz verin. Diferensial səs girişlərimiz yoxdur, buna görə sol və sağ dinamikləri müsbət terminallara bağlayın və mənfi terminalları GND ilə bağlayın. Qazanc tullanan köməyi ilə tənzimlənir. Mən qazancı maksimuma təyin etdim və səs səviyyəsini tənzimləmək üçün proqram vasitəsi ilə çıxış səs siqnallarının amplitüdünü dəyişirəm. Cihazı səssiz etmək üçün 5V əyilməsini idarə edən bir NMOS transistoru var. Bu NMOS tranzistorlar qapısı Teensy tərəfindən idarə olunur. Məndə bir problem xarici dinamiklərdə daimi yüksək tezlikli səs -küyün olmasıdır. Bunu bir osiloskopda təhlil edəcəyəm, bəzi tənzimləyicilərin batareyanı dəyişdirməsi səbəbindən 5V -dən qaynaqlanmış ola bilər və ya xətlər bir yerdə RF alır. Ayrıca, elektromaqnit müdaxiləsini (EMI) minimuma endirmək üçün sağ və sol xətləri bükdüyünüzdən əmin olun.

Addım 4: Periferik dövrə

Periferik dövrə
Periferik dövrə
Periferik dövrə
Periferik dövrə

Bu sxemə USB bağlayıcıları və LED göstəricisi daxildir. Bağlantıdakı PCB -ni sifariş edin və bant mişarından istifadə edərək nöqtəli xətt boyunca yarıya bölün. USB tərəfində hamısı iki qadın USB portunu lövhəyə lehimləyir. LED tərəfində 5 LED və 5 müqavimət seriyası. 5V, GND, D+, D-Raspberry PI-nin sökülmüş USB-lərindən PCB-ə qədər olan tellər vasitəsilə uzadıla bilər. LED PCB, işığın üstündəki deliklərdən işıq saçması üçün yerləşdirilə bilər. Teensy -nin 5 PWM çıxışını GND ilə birlikdə LED -lərə bağlayın. İşləmə müddətini dəyişdirərək LED -lərin parlaqlığını dəyişə bilərsiniz.

PCB satın alın:

Addım 5: Proqramlaşdırma

Proqramlaşdırma
Proqramlaşdırma
Proqramlaşdırma
Proqramlaşdırma
Proqramlaşdırma
Proqramlaşdırma

Yeniyetmə:

Əgər onu mənimlə eynidirsə, Github -da verdiyim kodu istifadə edə bilərsiniz. Bununla birlikdə, sistemi özünüz daha yaxşı başa düşəcəyiniz və asanlıqla zövqünüzə uyğun olaraq manipulyasiya və fərdiləşdirə biləcəyiniz üçün özünüz yazmağı məsləhət görürəm. Proqramlaşdırma çox sadədir, həqiqətən düymələrinizin basıldığını yoxlamaq üçün bir çox ifadələr yazmaqdan ibarətdir. PJRC -dən faydalı bir təlimat. Kodunuzu yazmaq və Teensy -yə yükləmək üçün Arduino IDE -dən istifadə edə bilərsiniz.

KOD:

github.com/timlindquist/Nintimdo-RP

Rəqəmsal Düymələr: Bu nümunə rəqəmsal pin 20 -nin basıldığını yoxladığımı yoxladığımı və sonra düzgün seriyalı joystick əmrini çıxardığımı göstərir. Düymə üçün hər hansı bir 1 -dən 32 -ə qədər seçə bilərsiniz, çünki Retropie hər halda başlanğıcda bir nəzarətçi Xəritəçəkmə quruluşu qurur. Joystick düyməsi (düymələr: 1-32, Basıldı = 1 Buraxıldı = 0)

Analog düymələr:

Nümunədə, sağ joystick şaquli analog pin 41 -ə bağlanır. AnalogRead (pin) funksiyası 0 ilə 5V arasında bir gərginlik səviyyəsi alır və 0 -dan 1023 -ə qədər bir dəyər qaytarır. İdeal mərkəz mövqeyi 2.5V və ya 512 -ə uyğun gəlir, lakin bu mənim analoq çubuğum üçün belə deyildi, buna görə düzəliş edilməlidir. Bu, aşağıda göstərilən yenidən qurma yolu ilə edildi. Bundan sonra sərhədlərin 0 -dan 1023 -ə keçib -keçmədiyini yoxlamalı oldum. Nəhayət, analog joystick əmri Joystick. Z (0 -dan 1023 -ə qədər) istifadə edərək analog düymə Z olaraq ardıcıl olaraq göndərildi.

Addım 6: İsteğe bağlı Dock

İsteğe bağlı Dock
İsteğe bağlı Dock
İsteğe bağlı Dock
İsteğe bağlı Dock
İsteğe bağlı Dock
İsteğe bağlı Dock

Dock:

Aşağıdakı şəkillərdən birini tərtib etdiyim üçün şarj etmək üçün bir yuva və asan bir TV bağlantısı olmadan bu quruluş tamamlanmayacaq. 3D modellər Github paketimdəki digər modellərlə birlikdə mövcuddur.

Modellər:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Addım 7: Nəticələr

Nəticələr
Nəticələr
Nəticələr
Nəticələr
Nəticələr
Nəticələr
Nəticələr
Nəticələr

Gələcəkdə əvvəlcədən satın alınan bir qadın divar montajı yerinə PCB ilə HDMI çıxış portunu düzəltmək istərdim. Bu, əslində bir çox yerə qənaət etmiş olardı, kabelin kəsilməməsi və 19 teli yenidən lehimləməməsi üçün spiralə bükmək məcburiyyətində qaldım. Kiçik bir batareya ilə getməkdən bezmişəm, çünki hüceyrənin hündürlüyü bütün cihazın qalınlığını məhdudlaşdıran amildir. Ancaq bunu azaltmaq batareyanın ömrünü mənfi təsir edərdi.

Ümumilikdə bunu etmək üçün 350 dollara başa gəldim. Bura ölçüsünü qırxmağa çalışdığım moruq pi daxil deyil … Hələ də sınadığım üçün xoşbəxtəm. Mümkün qədər kompakt edə biləcəyimi görmək və eyni zamanda içərisində bir çox sərin xüsusiyyətlərə uyğunlaşmaq üçün əyləncəli bir yay layihəsi idi.

Tövsiyə: