Mündəricat:
- Təchizat
- Addım 1: Board və Arduino Environment hazırlayın
- Addım 2: Yükləyin
- Addım 3: Çap et
- Addım 4: Kabel çəkmə
- Addım 5: Son Quraşdırma
- Addım 6: İş rejimləri
- Addım 7: Pong
Video: USB Paddle Oyun Nəzarətçisi: 7 Adım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
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
- Stm32f103c8t6 lövhənizin ortasında altı başlıq pinini lehimləyin.
- 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.
- 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.
- 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.
- USB Kompozit kitabxanamın ən son versiyasını yükləyin və Arduino/Libraries qovluğunda açın.
- Paddlecontrollers eskizimi yükləyin və Arduino qovluğunda açın.
- 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
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
- 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.
- 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.
- Potensialiometrinizə uyğun olaraq paddleknob.scad faylındakı ölçüləri düzəltməyiniz lazım ola bilər.
-
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ə
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
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
Ç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 ə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ə:
(YENİLƏNİŞ - SÜRƏTLİ SORUN VAR) PC üçün USB OYUN NƏZARƏTÇİSİ: 10 addım (şəkillərlə)
(YENİLƏNİB - SÜRƏTLİ SORUN VAR) PC üçün USB OYUN NƏZARƏTÇİSİ: HƏR OYUN ÜÇÜN OYUN NƏZARƏTÇİSİ (HƏMMƏDƏN)
Arduino əsaslı DIY Oyun Nəzarətçisi - Arduino PS2 Oyun Nəzarətçisi - DIY Arduino Gamepad ilə Tekken oynamaq: 7 addım
Arduino əsaslı DIY Oyun Nəzarətçisi | Arduino PS2 Oyun Nəzarətçisi | DIY Arduino Gamepad ilə Tekken Oynamaq: Salam uşaqlar, oyun oynamaq həmişə əyləncəlidir, ancaq öz DIY xüsusi oyun nəzarətçinizlə oynamaq daha əyləncəlidir, buna görə də bu təlimatlarda arduino pro micro istifadə edərək bir oyun nəzarətçisi edəcəyik
Fiziki Oyun Nəzarətçisi Yaratmaq: 10 Adım (Şəkillərlə birlikdə)
Fiziki Oyun Nəzarətçisi Yaratmaq: Nintendo Wii işə salındıqda oyunçular, seçdikləri oyunda xal toplamaq üçün divandan çıxıb tullanmaq, rəqs etmək və çırpınmaq tələb olunurdu. Wii qurmaqda dik bir öyrənmə əyrisi olsa da, bunu etmək asandır
Məşq Maşını USB Oyun Nəzarətçisi: 8 Addım (Şəkillərlə birlikdə)
Məşq Maşını USB Oyun Nəzarətçisi: Özündə və ailəsində məşq etməyi təşviq etmək üçün, standart bir USB oyun idarəedici adapterini təqlid edən, lakin elliptik bir maşında və ya idman velosipedində pedal vuraraq oyunun hərəkət sürətini idarə edən bir adapter hazırladım. Yarış oyunları üçün xüsusilə gözəldir. Bu
Gizli Məkan - Səsli Oyun Nəzarətçisi: 5 Addım (Şəkillərlə birlikdə)
Gizli Məkan - Səsli Oyun Nəzarətçisi: Bu dərslikdə səsli oyun üçün bir oyun nəzarətçisi hazırlayacağıq. Oyun Unity ilə birlikdə hazırlanmışdır. Məhdud vizual və əsasən sonik məlumatlarla ekrandan kənar bir oyun interfeysi yaratmağa çalışır. Futbolçu geyinəcək