Мазмуну:
- Жабдуулар
- 1 -кадам: Board жана Arduino чөйрөсүн даярдаңыз
- 2 -кадам: Жүктөө
- 3 -кадам: Басып чыгаруу
- 4 -кадам: Кабелдөө
- 5 -кадам: Акыркы жыйын
- 6 -кадам: Иштөө режимдери
- 7 -кадам: Понг
Video: USB Paddle Game Controller: 7 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Уулум туулган күнүнө карата ретро видео оюндарын өткөрдү, ошол күнү мен эртең менен 3D принтеринин жана электроникасынын жардамы менен Понг үчүн USB калак оюнунун контроллерин жасай аламбы деп чечтим. Мен аларды негизинен убагында иштете алганым менен, адамдар акыры Понг үчүн башка оюндар менен алек болушту.
Контроллерлер Понг үчүн DICE райондук деңгээлдеги эмулятору менен же менин так так pygame версиям менен, Atari 2600 эмулятору бар оюндар үчүн жана Etch-a-Sketch сыяктуу функция үчүн Tux Paint сыяктуу сүрөт программасы менен колдонулушу мүмкүн.
Үч которулуу режими бар:
- Stelladaptor калак эмуляциясы: алар Stelladaptor колдогон бардык Atari 2600 эмуляция программасы менен иштеши керек; Stelladaptor режиминде калактар эки октук эки баскычтуу джойстик катары иштейт, ар бир калак бир окту жана бир баскычты башкарат
- кош джойстик эмуляциясы: ар бир калак бир баскыч менен джойстик катары иштейт (калактын кыймылы джойстиктин эки огунда кыймылга которулат)
- чычкан: ар бир калак абсолюттук чычкан үчүн бир кыймылдын багытын башкарат, ал эми баскычтар - чычкан баскычтары; сүрөт программасы менен бирге сиз Etch-a-Sketchке окшош жогорку технологиялуу аппаратты ала аласыз.
Жабдуулар
Сага керек болот:
- stm32f103c8t6 көк таблетка
- 2x сызыктуу потенциометр (мен 20K-100K сунуштайм)
- 2х туурасы 12 мм микросвичка баскычы менен
- 3D принтер
- түрдүү (жип, зым, ширетүүчү, ширетүүчү темир, ысык желим)
1 -кадам: Board жана Arduino чөйрөсүн даярдаңыз
- Сиздин stm32f103c8t6 тактаңыздын ортосуна алты баштыктын казыгын кошуңуз.
- A12 жана 3.3V ортосундагы каршылыкты текшериңиз. Толук USB шайкештиги үчүн 1,5K болушу керек. Көптөгөн тактайчалардын ордуна 10K бар. Эгерде сиз ошолордун бири болсоңуз, идеалдуу түрдө A12ден 3.3Vга чейин 1.8K каршылыгында ширетүү, бирок сиз бактылуу болуп, компьютериңиз 10K менен иштеши мүмкүн.
- Жүктөгүчтү орнотуңуз. Бул Нускаманын 2 -кадамында көрсөтмөлөр бар. Белгилей кетчү нерсе, STM Demonstrator билдирген флештин өлчөмү. Эгер бул 32K болсо, анда сизде stm32f103c8 деген жасалма stm32f103c6 бар. Бул долбоор дагы деле ошону менен иштеши керек, бирок келечектеги кадам үчүн жасалма такта бар экенин белгилеңиз.
- Мурунку кадамда колдонулган Нускаманын 3-кадамындагы көрсөтмөлөргө ылайык Arduino, Arduino Zero жана Roger libmaple негизделген өзөгүн орнотуңуз. Бул кадамда китепкана көрсөтмөлөрүн этибарга албаңыз.
- Менин USB Composite китепканамдын акыркы чыгарылышын жүктөп алып, Arduino/Libraries папкасынан ачыңыз.
- Менин paddlecontrollers эскизин жүктөп алып, Arduino папкаңыздан ачыңыз.
- Ардуинодо Tools | ге өтүңүз Board | Жалпы STM32F103C сериясы, эгерде сизде жасалма c6 тактасы жок болсо, анда анын ордуна Generic STM32F103C6/жасалма STM32F103C8 тандаңыз. Эгерде сизде кайсынысы бар экенине ишенбесеңиз, анда жасалма жолду тандоо коопсузураак.
2 -кадам: Жүктөө
Компьютериңиздин USB адаптерине тактаны сайыңыз, көзөмөлдөөчүнүн эскизин жүктөңүз жана Жүктөө баскычын чыкылдатыңыз (оңго багытталган жебе). Эгерде баары ойдогудай болсо, эскиз жүктөлүшү керек жана такта сиздин компьютериңизде "Stelladaptor" деп аталган эки огу бар эки баскычтуу джойстик катары көрүнүшү керек. Windowsто муну Windows-R, joy.cpl [enter] менен текшере аласыз.
Албетте, калган жабдыктарды чогултмайынча бул эч нерсе кылбайт.
3 -кадам: Басып чыгаруу
- Бул долбоор үчүн менин Thingiverse баракчамдан stl жана/же scad файлдарын жүктөп алыңыз. Сураныч, калак баскычы ушул жерден өзгөртүлгөн.
- Эгерде сиздин микросвичтин корпусунун туурасы 12 ммден айырмаланса, paddlemain-standalone.scad файлындагы баскычтын туурасынын параметрин тууралашыңыз керек болот. Сиз муну OpenSCAD же Thingiverse Customizerде кыла аласыз.
- Сиз потенциометрге туура келиши үчүн paddleknob.scad файлындагы өлчөөлөрдү тууралашыңыз керек болот.
-
Бул файлдарды басып чыгарыңыз (эгер сиз бир калакты кааласаңыз, "2x" файлдарынын бир гана көчүрмөсүн жасаңыз). Мен PLA колдондум, бирок ABS да жакшы иштеши керек.
- 2x paddlemain.stl
- 2x paddleknob.stl
- 1x paddleconverter.stl
- 1x pcbholdernarrower.stl
- 2x buttoncap110.stl (милдеттүү эмес)
- 1x 12.stl (милдеттүү эмес; башка түстө басып чыгаруу жана эки калакты белгилөө үчүн клей)
4 -кадам: Кабелдөө
Сиз stm32f103c тактасынан ар бир калак контроллерине төрт зым өткөрүшүңүз керек. Бул зымдар үчүн эски USB шнурларын колдонсоңуз болот. Менде Ethernet кабелинен өзүнчө жакшы зымдар пайда болду, мен аларды кичирейтүүчү пленка менен байладым.
Ар бир калакта бир микросвичка жана бир потенциометр бар. Мультиметрди колдонуп, баскычты басуу менен туташкан/ажыратылган микро өтмөктөгү чектеш (диагоналдуу эмес) түтүкчөлөрдү аныктаңыз. Мен бул казыктарды S1 жана S2 диаграммада белгилейм. Потенциометрдеги үч казык мен жогорудан төмөн карай P1, P2 жана P3 деп белгилеп, потенциометрдин астынан карап, казыктарды оңго каратып.
Тактадагы төрт зымды калак корпусунун капталындагы тешик аркылуу басыңыз (paddlemain.stl).
Микросвичке зымдарды туташтырууда, адегенде зымдарды калак корпусунун капталындагы тешиктер аркылуу түртүп, которгуч корпустун сыртында жатат. Андан кийин казыкты корпуска тартып, казыктарды жана тиркелген зымдарды тешиктерге туура келтирип алыңыз. Мен керексиз төөнөгүчтөрдү кесип салдым.
Эки калак:
- P1ден S1ге чейин
- P1 бортуна 3.3V (3.3)
- P3 GND (G) бортуна
1 -калак:
- P2 A1ге өтүү үчүн
- S2 А2 бортуна
2 -калак:
- P2 A3 бортуна
- S2 A4 бортуна
Эми туташууңузду компьютериңизге туташуу жана джойстик тест программасын колдонуу менен текшериңиз. Терезелерде Windows-R, joy.cpl [enter], Stelladaptor тандап, Properties чыкылдатыңыз. 1-калак X огун жана биринчи баскычты башкарышы керек; калак 2 Y огун жана экинчи баскычты башкарышы керек.
5 -кадам: Акыркы жыйын
Микросвичкаларды калак кутусунун капталындагы жерлерине чаптап койсо болот (ысык клей мен үчүн иштеди). Баскычтын капкактарын стабилдүүлүк үчүн бир аз ысык клей менен жабыштырса болот.
Потенциометр калак кутучасынын үстүндөгү чоң тешикке бекилет. Баскыч жылып, жабышып турушу керек. Кажет болгондо тешиктерди бургулоо менен чоңойтуңуз. Кааласаңыз, бир аз ысык клей кошуп, астындагы капкакты басыңыз.
Көк таблетка тактасы PCB слайдынын ичине туура келет, андан кийин конвертер кутусунун түбүнө буралат, аны капкагы бар капкагы да бар.
Мен бир аз Shoe Goo коштум, анда зымдар зымдарды коргоо үчүн корпусту тосушат. А мен калактардагы "1" жана "2" этикеткаларын чаптадым.
6 -кадам: Иштөө режимдери
Калактар үч иштөө режимине ээ. Сиз USB портуна туташтырып жатканда, баскычтардын белгилүү бир комбинациясын басуу менен иштөө режимин алмаштыра аласыз. Иштөө режимин которгондон кийин, ал флеш -эске сакталат жана сиз аны кийинки өзгөртүүгө чейин калат. (Демек, сиз режимди өзгөрткүңүз келбесе, калактарды USB портуна туташтырып жатканда эч кандай баскычты баспаңыз.) Бул жерде параметрлер:
- Сол калак баскычы: Ар бир огу жана баскычы бир калак менен башкарылган эки огу бар эки баскычтуу джойстик. Мындан тышкары, калактар Stelladaptor деп аталат, Atari 2600 контроллери үчүн токтотулган USB адаптери, ошондуктан Stelladapter шайкеш келген Stella жана Z26 сыяктуу Atari 2600 эмуляторлору кемчиликсиз иштеши керек.
- Эки калак баскычы: Ар бир калак өзүнчө джойстикти көрсөтөт. Джойстиктин бир иштөө баскычы бар, ал эми калакты айлантуу джойстикти диагоналдуу жылдырат, ошондуктан X же Y огу калак үчүн иштейт.
- Оң калак баскычы: Калактар эки баскычтуу абсолюттук чычкан катары көрсөтүлөт. Сиз муну Etch-a-Sketchке окшош эле чийме программасы менен колдоно аласыз.
7 -кадам: Понг
Понг - оригиналдуу калак оюну. Мен оригиналдуу версияны сунуштайм, анткени клондор көбүнчө бардык кооз тымызын функцияларды камтыбайт, мисалы, кайталанган соккулардагы ылдамдыктын өзгөрүшү, калактын топко тийген бөлүгүнө, же тымызын, бирок оңой болжолдонбогон позициясына жараша бурчу өзгөрөт. сагындым кийин кызмат. Түпнускага кылдат талдоо үчүн бул жерден караңыз.
Понг ойноонун эң жакшы ыкмаларынын бири, эгер сиздин компьютериңиз аны толук ылдамдыкта колдонууга жетиштүү болсо, DICE схемасындагы эмулятор менен иштөө. (Менин Windows ноутбугум, бирок Raspberry PI 3+ өтө жай.) Мен 0.8 версиясын сунуштайм.
Эгерде сиз калактарда Stelladaptor режимин колдонсоңуз, Орнотуулар | Киргизүүлөрдү DICEде конфигурациялаңыз жана 1-оюнчу калакчасы үчүн Джойстик 1ди жана Абсолюттукту тандаңыз, жана Горизонталдык менен Вертикалдуу экөөнү Joy 1 X-Axisке коюңуз. Андан кийин Y-Axis менен кошпогондо, Player 2 Paddle үчүн ушундай кылыңыз.
Эгерде сиздин компьютер DICE үчүн өтө жай болсо, мен Python3+pygame версиясын түздүм, анын убактысы жана иштеши оригиналдуу Понгго абдан жакын болушу керек (мен бул боюнча доктор Уго Холдендин жардамына ыраазымын).
Сунушталууда:
Game Boy Reader Controller: 17 кадам (Сүрөттөр менен)
Game Boy Reader Controller: Бул Нускамада мен түзмөктү кантип жасаганымды түшүндүрүүгө аракет кылам. Бул Game Boy картридж окурманы катары иштейт, ал ROMду окуй алат жана Game Boy оюндун ОЗУсун окуй алат/жаза алат. автоматтык түрдө жүктөлөт, ошондо сиз аны ойной аласыз
Пентагондун электр менен камсыздоосу (24v)+USB заряддагычтары декупаж менен: 14 кадам (сүрөттөр менен)
Pentagon Power Supply (24v)+Usb Charger with Decoupage: Ello guys Бир нече күн мурун мен эжеме белек ойлоно баштадым. Эми мен анын келечектеги долбоорлору үчүн электр энергиясын бергим келди, бирок эмнеге бир нече USB заряддагычын кошпойсуң. Ошентип, 12в электр менен камсыздоо жетишсиз эле, ошондуктан аны алуу үчүн эки эсе көбөйттүм
Blynk тиркемеси менен USB аркылуу смартфонду колдонуу менен Arduino башкаруу: 7 кадам (сүрөттөр менен)
Blynk тиркемеси менен USB аркылуу смартфонду колдонуу аркылуу Arduino башкаруу жөнөкөй чечим алыстан башкаруучу сиздин Arduino же c
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 кадам (Сүрөттөр менен)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Мен Nintendo Controller MP3, Version 2.0 үчүн дизайнында ryan97128ди толугу менен жулуп салдым жана ал идеяны бардык акылдуу Morte_Moyaдан алганын угуп жатам, ошондуктан мен кредит ала албайм алардын бардык генийлери. Мен жөн гана ыңгайлуулукту кошуп, кайра толтурууну кааладым
USB NES Controller Arduino менен!: 6 кадам (сүрөттөр менен)
USB NES Controller Arduino менен !: UPDATE 22-12-2014 println менен println (derp). UPDATE 01-12-2011Бардык кодду ф