Mündəricat:

USB Paddle Oyun Nəzarətçisi: 7 Adım (Şəkillərlə birlikdə)
USB Paddle Oyun Nəzarətçisi: 7 Adım (Şəkillərlə birlikdə)

Video: USB Paddle Oyun Nəzarətçisi: 7 Adım (Şəkillərlə birlikdə)

Video: USB Paddle Oyun Nəzarətçisi: 7 Adım (Şəkillərlə birlikdə)
Video: Atari VCS: Part 1 - What It Is And Why I Like It 2024, Dekabr
Anonim
USB Paddle Oyun Nəzarətçisi
USB Paddle Oyun Nəzarətçisi
USB Paddle Oyun Nəzarətçisi
USB Paddle Oyun Nəzarətçisi
USB Paddle Oyun Nəzarətçisi
USB Paddle Oyun Nəzarətçisi

Oğlumun doğum günü üçün retro video oyunları gecəsi keçirdi və günün səhərində qələmimdən 3D printer və elektronika vasitəsi ilə Pong üçün bir cüt USB paddle oyun idarəedici qura biləcəyimi görmək qərarına gəldim. Əsasən vaxtında işləmələrini təmin edə bilsəm də, insanlar sonda Pong üçün digər oyunlarla çox məşğul idilər.

Nəzarətçilər, DICE dövrə səviyyəli emulyatoru ilə və ya olduqca dəqiq bir pygame versiyamla Pong üçün, Emulator ilə Atari 2600 oyunları üçün və Tux Paint kimi bir rəsm proqramı olan Etch-a-Sketch kimi funksiyalar üçün istifadə edilə bilər.

Üç dəyişdirilə bilən rejim var:

  • Stelladaptor avar emulyasiyası: Stelladaptor -u dəstəkləyən bütün Atari 2600 emulyasiya proqramı ilə işləməlidir; Stelladaptor rejimində avarçəkənlər iki oxlu iki düyməli joystick kimi fəaliyyət göstərir, hər bir avar bir oxu və bir düyməni idarə edir
  • ikili joystick emulyasiyası: hər bir avarçəkən bir düyməli joystick kimi fəaliyyət göstərir (avar hərəkəti hər iki joystik oxunda hərəkətə çevrilir)
  • siçan: hər bir kürək mütləq siçan üçün bir hərəkət istiqamətini idarə edir və düymələr siçan düymələridir; bir rəsm proqramı ilə birlikdə Etch-a-Sketch-ə bənzər yüksək texnologiyalı bir cihaz əldə edə bilərsiniz.

Təchizat

Sizə lazım olacaq:

  • stm32f103c8t6 mavi həb
  • 2x xətti potensiometr (20K-100K məsləhət görürəm)
  • Düymə ilə 2x 12 mm genişlikdə mikro açar
  • 3D printer
  • müxtəlif (filament, tellər, lehim, lehimləmə dəmiri, isti yapışqan)

Addım 1: Board və Arduino Environment hazırlayın

Board və Arduino Environment hazırlayın
Board və Arduino Environment hazırlayın
Board və Arduino Environment hazırlayın
Board və Arduino Environment hazırlayın
  1. Stm32f103c8t6 lövhənizin ortasında altı başlıq pinini lehimləyin.
  2. A12 ilə 3.3V arasındakı müqaviməti yoxlayın. Tam USB uyğunluğu üçün 1.5K olmalıdır. Əksər lövhələrdə 10K var. Əgər bunlardan biri olsanız, ideal olaraq A12 -dən 3.3V -ə qədər 1.8K rezistorla lehimləyin, baxmayaraq ki şanslı ola bilərsiniz və kompüterləriniz 10K ilə işləyir.
  3. Bir yükləyici quraşdırın. Bu Təlimatın 2 -ci addımında təlimatlar var. Qeyd etmək lazım olan bir şey, STM Demonstrator tərəfindən bildirilən flaş ölçüsünün nə olmasıdır. 32K varsa, ehtimal ki, yenidən etiketlənmiş stm32f103c6 saxta bir stm32f103c8 var. Bu layihə hələ də bununla işləməlidir, ancaq gələcək bir addım üçün saxta lövhəyə sahib olduğunuzu qeyd edin.
  4. Arduino, Arduino Zero və Rogerin libmaple əsaslı nüvəsini əvvəlki addımda istifadə etdiyiniz Təlimatın 3-cü Adımındakı təlimatlara uyğun olaraq quraşdırın. Bu addımda kitabxana təlimatlarına məhəl qoymayın.
  5. USB Kompozit kitabxanamın ən son versiyasını yükləyin və Arduino/Libraries qovluğunda açın.
  6. Paddlecontrollers eskizimi yükləyin və Arduino qovluğunda açın.
  7. Arduinoda Alətlər | -ə keçin Şurası | Ümumi STM32F103C Seriyası, saxta c6 lövhəniz olmadığı təqdirdə, bunun yerinə Ümumi STM32F103C6/saxta STM32F103C8 seçin. Hansına sahib olduğunuzdan əmin deyilsinizsə, saxta seçimi seçmək daha etibarlıdır.

Addım 2: Yükləyin

Yükləmək
Yükləmək

Lövhəni kompüterinizin USB adapterinə qoşun, paddlecontroller eskizini yükləyin və Yüklə düyməsini basın (sağa baxan ox). Hər şey yaxşı olarsa, eskiz yüklənməlidir və lövhə kompüterinizdə "Stelladaptor" adlı iki oxlu iki düyməli joystick kimi görünməlidir. Windows-da bunu Windows-R, joy.cpl [enter] ilə yoxlaya bilərsiniz.

Əlbəttə ki, qalan hissələri yığana qədər bu heç bir iş görməyəcək.

Addım 3: Çap et

Çap et
Çap et
  1. Bu layihə üçün stl və/və ya scad fayllarını Thingiverse səhifəmdən yükləyin. Külək düyməsinin buradan dəyişdirildiyini unutmayın.
  2. Mikro açar korpusunuzun eni 12 mm-dən fərqlidirsə, paddlemain-standalone.scad faylında düymə eni parametrini tənzimləməlisiniz. Bunu OpenSCAD -da və ya Thingiverse Customizer -də edə bilərsiniz.
  3. Potensialiometrinizə uyğun olaraq paddleknob.scad faylındakı ölçüləri düzəltməyiniz lazım ola bilər.
  4. Bu faylları çap edin (yalnız bir avar istəyirsənsə "2x" fayllarının yalnız bir nüsxəsini hazırla). PLA istifadə etdim, amma ABS də yaxşı işləməlidir.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x düymə qapağı110.stl (isteğe bağlı)
    • 1x 12.stl (isteğe bağlı; fərqli rəngdə çap edin və iki kürəyi etiketləmək üçün yapışdırın)

Addım 4: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Stm32f103c lövhəsindən hər bir avar nəzarətçisinə dörd tel çəkməlisiniz. Bu tellər üçün köhnə USB kabellərindən istifadə edə bilərsiniz. Kiçik bir sarğı ilə bağladığım bir Ethernet kabelindən gözəl müstəqil tellərim oldu.

Hər bir kürəkdə bir mikrosxem və bir potensiometr var. Düyməni basaraq bağlanan/ayrılan mikro açarda bir -birinə bitişik (diaqonal olmayan) pinləri müəyyən etmək üçün multimetrdən istifadə edin. Diaqramda bu S1 və S2 sancaqlarını etiketləyəcəyəm. P1, P2 və P3 -ü yuxarıdan aşağıya etiketlədiyim potensiometrdəki üç sancaq, potensiometrin altından baxaraq, pinləri sağa işarə edir.

Dörd teli lövhənin yanındakı çuxurdan itələyin (paddlemain.stl).

Telləri mikro açara bağlayarkən, əvvəlcə telləri avarçəkmə korpusunun yan tərəfindəki deliklərdən keçirin və keçid korpusun kənarında olarkən açara keçin. Sonra açarları yuvaya çəkin, pinləri və əlavə edilmiş telləri deliklərə yerləşdirin. Lazımsız sancaqları kəsdim.

Hər iki kürək:

  • P1 - S1
  • P1 3.3V (3.3) lövhəsinə
  • P3 GND (G) -ə daxil olmaq üçün

Avar 1:

  • A1 lövhəsinə keçmək üçün P2
  • S2 A2 lövhəsinə

Avar 2:

  • P2 A3 lövhəsinə
  • A2 lövhəsinə S2

İndi kompüterinizə qoşularaq və joystick test proqramı istifadə edərək əlaqələri yoxlayın. Pəncərələrdə Windows-R, joy.cpl [daxil edin], Stelladaptor seçin, Xüsusiyyətləri vurun. Paddle 1 X oxunu və ilk düyməni idarə etməlidir; avar 2 Y oxunu və ikinci düyməni idarə etməlidir.

Addım 5: Son Quraşdırma

Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi

Mikro açarları avarçəkmə qutusunun kənarındakı yerlərində yapışdırmaq olar (isti yapışqan mənim üçün iş gördü). Düymə qapaqları sabitlik üçün bir az isti yapışqan ilə bağlana bilər.

Potansiyometr, avarçəkmə qutusunun üstündəki böyük çuxura bağlanır. Düymə sürüşməli və yapışmalıdır. Lazım gələrsə delikləri bir qazma ilə genişləndirin. İstəsəniz bir az isti yapışqan əlavə edərək alt qapağı itələyin.

Mavi həb lövhəsi, PCB slaydının içərisinə uyğundur, sonra da onu örtə bilən bir qapağı olan çevirici qutusunun altına vidalanır.

Telləri qorumaq üçün korpusla görüşdüyü bir az Ayaqqabı Goo əlavə etdim. Və avarçəkmələrdəki "1" və "2" etiketlərini yapışdırdım.

Addım 6: İş rejimləri

Əməliyyat rejimi
Əməliyyat rejimi
Əməliyyat rejimi
Əməliyyat rejimi

Çubuqların üç iş rejimi var. USB portuna bağlayarkən müəyyən bir düymə birləşməsini basaraq iş rejimini dəyişə bilərsiniz, lövhə LEDləri yanıb sönməyi dayandırdıqda buraxın. İş rejimini dəyişdikdən sonra flash yaddaşa yazılacaq və növbəti dəfə dəyişənə qədər qalacaq. (Beləliklə, rejimi dəyişdirmək istəmirsinizsə, avaraları USB portuna bağlayarkən heç bir düyməni basmayın.) İşdə seçimlər:

  • Yalnız sol avarçəkmə düyməsi: Hər oxu və düyməsi bir avar tərəfindən idarə olunan iki oxlu iki düyməli joystick. Üstəlik, avarçəkənlər StariLadaptor olaraq təyin olunur, Atari 2600 nəzarətçiləri üçün dayandırılmış bir USB adapteri və buna görə Stelladapter uyğun Stella və Z26 kimi Atari 2600 emulyatorları mükəmməl işləməlidir.
  • Hər iki avar düyməsi: Hər bir avar ayrı bir joystick göstərir. Joystickin bir əməliyyat düyməsi var və kürəyi çevirmək joysticki diaqonal olaraq hərəkət etdirir, buna görə ya X və ya Y oxu avar üçün işləyir.
  • Yalnız sağ avarçəkmə düyməsi: Avarçəkənlər iki düyməli mütləq siçan kimi görünür. İndi bunu rəsm proqramı olan Etch-a-Sketch-ə bənzər şəkildə istifadə edə bilərsiniz.

Addım 7: Pong

Pong
Pong
Pong
Pong

Pong əla orijinal avar oyunu idi. Orijinal versiyanı tövsiyə edirəm, çünki klonlar tez -tez təkrar vuruşlarda sürət dəyişiklikləri, avarçəkənin topa dəyən hissəsinə və ya incə, lakin asanlıqla proqnozlaşdırıla bilməyən mövqeyinə görə dəyişir. bir miss sonra xidmət. Orijinalın diqqətlə təhlili üçün bura baxın.

Pong oynamağın ən yaxşı yollarından biri, kompüteriniz tam sürətlə istifadə etmək üçün kifayət qədər sürətlidirsə, DICE dövrə səviyyəli emulyatorudur. (Windows dizüstü kompüterimdir, amma Raspberry PI 3+ çox yavaş işləyir.) 0.8 versiyasını məsləhət görürəm.

Küreklərdə Stelladaptor rejimindən istifadə edirsinizsə, Ayarlar | Girişləri DICE-da konfiqurasiya edin və Oyunçu 1 Kürek üçün Joystick 1 və Absolute seçin və həm Horizontal, həm də Vertical-ı Joy 1 X-Axis olaraq təyin edin. Sonra Y-Axis istisna olmaqla, Player 2 Paddle üçün də eyni şeyi edin.

Kompüteriniz DICE üçün çox yavaşdırsa, vaxtı və funksionallığı orijinal Pong -a çox yaxın olması nəzərdə tutulan Python3+pygame versiyası hazırladım (bu mövzuda Dr. Hugo Holdenin köməyinə görə minnətdaram).

Tövsiyə: