İçindekiler:

Ev Yapımı Oyun Konsolu- "NinTIMdo RP": 7 Adım (Resimlerle)
Ev Yapımı Oyun Konsolu- "NinTIMdo RP": 7 Adım (Resimlerle)

Video: Ev Yapımı Oyun Konsolu- "NinTIMdo RP": 7 Adım (Resimlerle)

Video: Ev Yapımı Oyun Konsolu-
Video: Trendyol da ki satıcının çakallığı 2024, Kasım
Anonim
Image
Image
Ev Yapımı Oyun Konsolu
Ev Yapımı Oyun Konsolu

Daha ayrıntılı açıklamalar, parça listesi ve dosyalar içeren web sayfasına bağlantı

timlindquist.me

Bu proje, taşınabilir bir bilgisayar olarak da kullanılabilen taşınabilir bir oyun sistemi yaratmaktı. Amaç, hem işlevsel hem de estetik açıdan hoş bir konsol yaratmaktı.

Parça listesi:

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

1. Adım: Baskı Kutusu

Baskı Kılıfı
Baskı Kılıfı
Baskı Kılıfı
Baskı Kılıfı

Cihazı yazdırmak için 3D model dosyalarımı indirin ve 3D yazıcınıza gönderin. Kullandığım yazıcı, siyah plastik filamentli bir Prusa i3 Mk2 idi. Orta çözünürlük ayarında baskı kalitesinin en iyi olduğu bulundu. Cihazın altına yapısal malzeme eklediğinizden emin olun (El tutuşları onsuz kötü görünecektir). Arka parçalar, tabla ile aynı hizada olacak şekilde basılmıştır. Ön parçalar, ön yüz tabla ile aynı hizada olacak şekilde basılmıştır. Başka bir kasa basacak olsaydım, iç kısımları göstermek için atom moru gibi yeni bir renk kullanmak isterdim. Benim gibiyseniz ve çalışmak için 8 inçlik bir baskı yatağınız varsa, 4 parçalı versiyonu basmanız gerekir. basıldıktan sonra monte edilecektir. Ancak yatağınız tek parça olarak yapılacak kadar büyükse, ön ve arka plakayı tek bir ünite olarak yazdırın ve birleştirme zahmetinden kurtulun.

Model Dosyaları:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Adım 2: Kasa Montajı

Kasa Montajı
Kasa Montajı
Kasa Montajı
Kasa Montajı

Montaj için önce ön sağ ve sol parçaları hizalama deliklerine metal dübel sokarak birleştirin. Daha sonra süper yapıştırıcıyı derzlere yerleştirin ve yarısını birbirine sabitleyin. Sağ alttaki ve soldaki varlıklar için işlemi tekrarlayın. Bundan sonra, monte edilmiş bir ön ve arka yarı ile kalmalısınız. Şimdi ön ve arka plakaları birleştirmek için 5 metal ayırıcıyı takmanın zamanı geldi. Bunu yapmanın en kolay yolu, önce mesafeleri doğru uzunluğa getirmektir. Arkada 13 mm derinlik Önde 5 mm derinlik. Bu nedenle, mesafeleri 18 mm veya biraz daha az yapın. Bunu, mengene kulplarına daha uzun bir mesafe koyarak ve boyutu küçültmek için bir öğütücü kullanarak yaptım. Sadece bir tarafı zımparaladığınızdan emin olun çünkü diğer taraftaki dişlere ihtiyacınız olacak. Doğru uzunluğu elde ettikten sonra, öğütücünün tüm kenarlarını normal goril tutkalı kullanarak ön yüze yapıştırın ve kurumasını bekleyin. Bu işlem sırasında hepsinin dik durduğundan emin olun. Kuruduktan sonra köpüren mükemmel yapıştırıcıyı kazıyın, böylece bir araya getirildiğinde yüzler aynı hizada olabilir. Şimdi, ön tarafla birleştirmek için arka plakayı zıtların üzerine yerleştirip yerleştiremeyeceğinize bakın. Sabitlemek için arka plakadan vidalayın. Çerçeveyi düello tüpü Gorilla Epoksi ile kaplayarak ekranı yapıştırın. Bunu yaparken çok fazla giydim ve ekrana taştı. Neyse ki dökülüyor! Kelepçeleyin ve bir süre kurumaya bırakın, ardından arka tarafı normal Gorilla yapıştırıcısı ile hizalayın.

**Not: PLA'yı "yakacağı" ve beyaz bir renge boyanacağı için dış yüzeye ince CA yapıştırıcı (süper yapıştırıcı) sürmemeye çalışın.

Adım 3: Devre

devre
devre
devre
devre
devre
devre

Düğme Devresi:

Tüm düğme basışlarını yakalamak, bir Teensy ++ 2.0 kullanılarak yapılır. Mikrodenetleyici üzerindeki dijital pinler, herhangi bir ikili basma düğmesi için kullanılır. Analog pinler, joystick gibi birden fazla duruma sahip düğmeler için kullanılır. Dijital pimleri kablolamak için dijital pimi anahtara basit bir şekilde bağlayın, anahtarın diğer ucunu toprağa bağlayın. Düğmeye basıldığında, denetleyicinin algılaması için yüksek voltaj pimini aşağı çeker. Teensy panosuna dahil oldukları için dirençler hakkında endişelenmenize gerek yok. Analog pinleri kablolamak için analog cihazınızı yüksek ve düşük voltajla yönlendirmeniz ve analog pinde bu aralıkta bir voltaj seviyesi okumanız gerekir. Joystickler için her eksen için 3 giriş vardır. Pinlerden birine 5V, diğerine GND ve en sondaki voltaj okuma hattını besleyin. Bunu doğru şekilde bağladığınızdan emin olun, aksi takdirde çalışmayacaktır (doğru pimde çıkış voltajının değişip değişmediğini görmek için bir multimetre kullanın.) Esasen joystick, voltaj bölücü gibi çalışan değişken bir dirençtir. Okuma pimindeki çıkış voltajı, joysticklerin konumuna bağlı olarak 0 ile 5V arasında değişecektir. (Genellikle önyargı 5V ve GND joystick'in dış giriş pinlerindedir ve ortadaki değişken voltaj okuma pininiz olacaktır. 5V ve GND benimkinden farklıysa kontrolleriniz ters çevrilir, bu yazılımda veya yeniden kablolamada sabitlenebilir).

Güç Devresi:

Üç hücreli Anker pil, tüm cihaza güç sağlar. Cihazı açıp/kapatmak için pil regülatörünün çıkışı bir anahtara ve ardından Raspberry Pi'ye bağlanır. Cihaz 2A'ya kadar çekebildiğinden, basit bir 250mA geçiş anahtarı mevcut gereksinimi karşılayamaz. Bunun yerine, anahtarın amacına hizmet etmek için bir PMOS transistöründeki kapı voltajını kontrol etmek için anahtarı kullanabilirsiniz. Pilin 5V'sini bir PMOS transistör kaynağına ve anahtara bağlayın. Anahtarın diğer ucu, PMOS transistörünün kapısına ve GND'ye bağlı bir 10K rezistöre bağlanmıştır (anahtar açıkken, kapının yüzmesini önlemek için, direnç aracılığıyla GND'ye bağlar). Tahliye, Raspberry Pi'deki 5V girişine toprakla birlikte bağlanır. Pili şarj etmek için mikro USB dişi devre kartını doğru şarj pinlerine bağlamanız yeterlidir (girişi kasaya genişletir). Bu anahtarı cihazın arkasındaki hava girişine sakladım. Başlangıçta pil düğmesini belirli bir süre basılı tutarak cihazı açıp kapatmayı planlıyordum, ne yazık ki yerim kalmadı ve basit uygulamayı yapmak zorunda kaldım. Bu alternatif tasarım aşağıdaki şemada gösterilmiştir.

Ses Devresi:

Ses için, sesin doğal olarak hoparlörlerden (sessiz değilse) çıkmasını ve takılıysa kulaklığa yönlendirilmesini istedim. Neyse ki, dişi 3,5 mm kulaklık jaklarının çoğu mekanik olarak bunu yapabilir. Bir erkek fiş takıldığında, hoparlör uçları bükülecek ve açık devre oluşturarak sinyalin hoparlörlere ulaşmasını önleyecektir. Hoparlörler daha büyük bir yük olduğundan, işitebilmek için ses sinyalinin yükseltilmesi gerekir. Bu, adafruit'te bulduğum bir stereo D sınıfı amplifikatör kullanılarak yapılır. Amplifikatörü 5V ve GND ile basitçe önyargılayın. Diferansiyel ses girişlerimiz yok, bu nedenle sol ve sağ hoparlörleri pozitif terminallere ve negatif terminalleri GND'ye bağlayın. Kazanç jumper kullanılarak ayarlanır. Kazancı maksimuma ayarladım ve ses seviyesini ayarlamak için yazılım aracılığıyla çıkış ses sinyallerinin genliğini değiştiriyorum. Cihazı sessize almak için 5V yanlılığını kontrol eden bir NMOS transistörüm var. Bu NMOS transistör kapısı, Teensy tarafından kontrol edilir. Sahip olduğum bir sorun, harici hoparlörlerde sabit bir yüksek frekanslı gürültü olmasıdır. Bunu bir osiloskopta analiz edeceğim, aküdeki bazı regülatör anahtarlamaları nedeniyle 5V önyargısından geliyor olabilir veya hatlar bir yerden RF alıyor olabilir. Ayrıca elektromanyetik paraziti (EMI) en aza indirmek için sağ ve sol çizgileri çevirdiğinizden emin olun.

Adım 4: Çevresel Devre

Çevresel Devre
Çevresel Devre
Çevresel Devre
Çevresel Devre

Bu devre, USB bağlantılarını ve LED göstergesini içerir. Bağlantımdaki PCB'yi sipariş edin ve şerit testere kullanarak noktalı çizgi boyunca ikiye bölün. USB tarafında, iki dişi USB bağlantı noktasını karta lehimleyin. LED tarafında 5 LED'i ve 5 direnci seri olarak lehimleyin. 5V, GND, D+, D-Raspberry PI'nin lehimi çözülmüş USB'lerinden PCB'ye giden teller kullanılarak genişletilebilir. LED PCB, ışık kasanın üstündeki deliklerden geçecek şekilde yerleştirilebilir. Teensy'nin 5 PWM çıkışını GND ile birlikte LED'lere bağlayın. Görev döngüsünü değiştirerek LED'lerin parlaklığını değiştirebilirsiniz.

PCB satın alın:

Adım 5: Programlama

Programlama
Programlama
Programlama
Programlama
Programlama
Programlama

Ufacık:

Benimle tamamen aynı şekilde kabloladıysanız, Github'da verdiğim kodu kullanabilirsiniz. Ancak, sistemi daha iyi anlayacağınız ve kolayca manipüle edip beğeninize göre özelleştirebileceğiniz için bunu kendiniz yazmanızı tavsiye ederim. Programlama çok basittir, gerçekten düğmelerinize basılıp basılmadığını kontrol etmek için bir sürü if ifadesi yazmaya gelir. PJRC'den faydalı bir talimat seti. Arduino IDE'yi kodunuzu yazmak ve Teensy'ye yüklemek için kullanabilirsiniz.

KOD:

github.com/timlindquist/Nintimdo-RP

Dijital Düğmeler: Bu örnek, dijital pin 20'ye basılıp basılmadığını kontrol etmemi ve ardından doğru seri joystick komutunu vermemi gösteriyor. Retropie zaten başlangıçta bir denetleyici eşleme ayarı yaptığından, düğme için 1'den 32'ye kadar herhangi birini seçebilirsiniz. Joystick.button(düğmeler: 1-32, Basıldı=1 Bırakıldı=0)

Analog Düğmeler:

Örnekte, sağ joystick dikey analog pim 41'e bağlanmıştır. AnalogRead(pin) işlevi 0 ile 5V arasında bir voltaj seviyesi alır ve 0 ile 1023 arasında bir değer döndürür. İdeal bir merkez konumu 2,5V veya 512'ye karşılık gelir, ancak benim analog çubuğum için durum böyle değildi, bu yüzden ayarlama yapılması gerekiyordu. Bu, aşağıda gösterilen bir yeniden eşleme yoluyla yapıldı. Daha sonra 0 ile 1023 arasındaki sınırların aşılmadığını kontrol etmem gerekti. Son olarak Joystick. Z(değer 0 ila 1023) kullanılarak analog joystick komutu Z analog düğmesi olması için seri üzerinden gönderildi.

6. Adım: İsteğe Bağlı Yuva

Opsiyonel Dock
Opsiyonel Dock
Opsiyonel Dock
Opsiyonel Dock
Opsiyonel Dock
Opsiyonel Dock

Rıhtım:

Bu yapı, şarj istasyonu ve kolay TV bağlantısı olmadan tamamlanmış sayılmaz, bu yüzden aşağıdaki resimlerde bir tane tasarladım. 3D modeller diğerleriyle birlikte Github paketimde mevcuttur.

Modeller:

github.com/timlindquist/Nintimdo-RP_3D_mod…

7. Adım: Sonuçlar

Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

Geriye dönüp baktığımda, keşke HDMI çıkış portunu önceden satın alınmış dişi duvar montajı yerine PCB ile yapsaydım. Bu, aslında çok fazla yerden tasarruf sağlardı, kabloyu kesmekten ve 19 kabloyu yeniden lehimlemekten kaçınmak için bir spirale sokmak zorunda kaldım. Daha küçük bir pil kullanmaya karar verdim çünkü hücre yüksekliği, tüm cihazın kalınlığındaki sınırlayıcı faktörümdü. Ancak bunu azaltmak pil ömrümü olumsuz etkiler.

Toplamda bunu yapmak bana 350 dolara mal oldu. Bu, boyutunu küçültmek için kırdığım ahududu pi'yi içermiyor… Yine de denediğim için mutluyum. İçerisine bir sürü harika özellik sığdırırken aynı zamanda olabildiğince kompakt hale getirip getiremeyeceğimi görmek eğlenceli bir yaz projesiydi.

Önerilen: