Sisukord:
- Samm: riistvara
- 2. samm: skeemid
- 3. samm: visand/kood
- Samm 4: Kuidas on lood sisendviivitusega?
- Samm 5: Aga Jamma Racing Cabins?
- 6. samm: mõni pilt või seda ei juhtunud
Video: Jammarduino DUE - isetehtud arvuti ja Jamma liides arkaadkappide jaoks: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
See juhend annab teile teada, kuidas luua Arduino DUE jaoks lihtne kilp, et ühendada oma arvutiga ehtne arkaadmasin, millel on madala eraldusvõimega kineskoop- ja jamma -pistik.
Kilbi peamised valamised on:
- videokaardilt tuleva videosignaali võimendamiseks (liiga madal pinge ehtsa Arcade CRT monitori jaoks)
- kaitsta oma madala eraldusvõimega kineskoopmonitori liiga kõrge sagedusega horisontaalsete sünkroonimissignaalide eest
- nuppude "tõlkimiseks" arkaadjuhtimispaneelil millekski, millega arvuti hakkama saab
Näitan teile, kuidas laiendada liidese kasutamist Arcade Racing rataste ja ketruste juhtimiseks.
Märkus: kilp EI SUNDI video sünkroonimissignaali madalatele sagedustele: teil on selleks vaja spetsiaalset tarkvara. Soovitan teil kasutada CRT -emudrivereid või Soft15KHz.
Samm: riistvara
Eeldan, et teil on jootmisjaam ja mõni tina käsitsi ning teate, kuidas neid kasutada. Kuna videovõimendi on 0,65 mm sammuga SMD, soovitan teil osta jootmisvoogu, mis aitab seda mikroobi jootma hakata. Kasutasin odavat "puhastamata" Rosing Mildly Activated (RMA) pliiatsit suurepäraste tulemustega.
Liides koosneb:
- 1x Arduino DUE mikrokontrolleri plaat
- 1x THS7374 videovõimendi
- 1x TSSOP14 kuni DIP14 adapter
- 1x helivõimendi
- 1x jamma sõrmelaud
- 1x 5x7 cm prototüüp, kahepoolne
- 1x 1N4148 diood
- 7x 1Kohm takistid
- 1x 820 oomi takisti
- 3x 220 oomi takisti
- 1x ribarida, vahe 2,54 mm
- 1x VGA -kaabel
- 1x helikaabel
2. samm: skeemid
Siin on kogu projekti värviline skeem. Mitte nii õigeusklik, kuid minu lootuses lihtsam järgida.
Juhtmed on nii lihtsad kui nad välja näevad:
- värvijooned tulevad arvuti VGA -pistikust videovõimendisse; 1Kohm takisti maandamiseks vähendab voolu videovõimendi sisendisse. Väljundi poolel alandab jadatakistus voolu arkaadreaktorile.
- sünkroonimisliin on kuidagi "keerulisem": eraldi sünkroonimine VGA -st muudetakse kõigepealt komposiitmaterjaliks, seejärel alandatakse seda pingejaguriga, et järgida Arduino DUE spetsifikatsioone (3,3 V loogika). Pingejagur arvutatakse 5 V sünkroniseerimissignaali alusel.
- videovõimendi (THS7374) toiteallikaks võib olla 3,3 V või 5 V; Kuna 5 V toiteallikas võimaldab laiemat sisendpingete/signaalide valikut ja THS7374 saab juhtida 3,3 V abil, isegi kui see on 5 V juures, siis läksin 5 V teed.
- video maandus, arduino DUE maandus, THS7374 maandus ja jamma pistiku maandus on lühises.
- Arduino DUE 5V ja Jamma 5V liinid EI TOHI olla lühikesed.
- ÄRGE mahlake helivõimendit USB -kaablist: voolupiirangute tõttu vajate selleks välist allikat (nt PC ATX PSU). Seda tehes kahjustate oma USB -porti või isegi arvutit.
VGA -pistik: ettevaatlik sõna
Mul on hiljuti olnud võimalus värskendada oma jammarduino DUE -ga kasutatavat arvutit. Isegi kui olin seda varem testinud kahe erineva arvutiga, kasutasid mõlemad sama perekonna ATI -kaarte (ATI 9250 ja 9550). Uus arvuti oli varustatud HD5750 -ga, millel oli üks DVI analoogväljund (ilma VGA -ta). See sundis mind kasutama (passiivset) DVI -VGA -adapterit. Noh, pärast mõningast rabelemist märkasin, et adapteriga ühendatud VGA -kaablil PEAB toimima ainult maandus, mis on ühendatud VGA -pistiku viienda kontaktiga, mitte nööpnõelad 6–10, nagu on kirjeldatud enamikus veebiskeemides. Pidage seda meeles, kui te ei näe videokaardilt sünkroonisignaali.
3. samm: visand/kood
Esmalt peate installima Arduino IDE; peate installima ka SAM Cortex M3 Core (vaikimisi pole). Lõpuks installige Arduino DUE draiverid. Enamiku ajakohast teavet leiate ametlikust juhendist "Alustamine Arduino Duega".
Visand, mille peate oma Arduino DUE -sse üles laadima, on siin lisatud. Pakkige lahti ja laadige "jammarduinoDUE.ino" teile Arduino IDE, seejärel laadige programmipordi kaudu üles arduino DUE -sse. Pärast visandi edukat üleslaadimist ühendage USB -kaabel programmeerimispordist lahti ja ühendage Arduino DUE „Native USB” pordi kaudu, vastasel juhul ei tööta koodi sisendosa.
Põhimõtteliselt mõõdab Arduino DUE sünkroonimissagedust ja keelab videovõimendi, kui sünkroonimine on madala eraldusvõimega kineskoopi jaoks liiga kõrge. Arduino DUE tegeleb ka juhtpaneelilt saabuvate sisenditega, saates vaikimisi MAME -klahvid teatud nupuvajutusel. Komplekti kuulub ka käiguvahetusfunktsioon (aktiveeritud, hoides all nuppu P1 START), nagu kaubanduslikud liidesed.
Tabelis vaikimisi klahvikaart. Saate muuta vaikevõtmekaarti või lisada nuppe oma äranägemise järgi lihtsalt visandile.
Näiteks kui soovite oma emulaatorile helitugevuse reguleerimise klahve määrata, peaksite need klahvid kõigepealt määratlema (ütleme näiteks klahvistiku "+" helitugevuse suurendamiseks ja klahvistiku "-" helitugevuse vähendamiseks); seejärel lisage nihutatud klahv nuppudele, millele soovite helitugevuse suurendamise või vähendamise määrata. Oletame, et tahan helitugevust suurendada, vajutades tõstuklahvi ja mängija 1 nuppu 3. Ma muudan rida
{26, KÕRGE, 0, 180, 180}, // tühik - P1 B3
et
{26, KÕRGE, 0, 180, 223}, // tühik - P1 B3 (+)
See "223" on klaviatuuri "+" ASCII märgikood.
Ma lasen teil välja mõelda, kuidas määrata harjutusena funktsioon "" "(või mis iganes soovite) helitugevuse vähendamise funktsioonile (vihje: ASCII kood 222):)
Pidage meeles, et MAME -s saate määrata ainult teenindusrežiimi helitugevuse, mitte üldise emuleerimise helitugevuse; see tähendab, et kui emuleeritud plaat ei võimalda tarkvara helitugevuse reguleerimist, ei mõjuta see helitugevust.
Samm 4: Kuidas on lood sisendviivitusega?
Tegin mõned testid, et näha, kui palju viivitust kood võib kehtestada; Noh, saates korraga 3 nuppu, kulub täielik tsükkel umbes 4 ms, seni vähem kui 33 ms kaadrit 30 FPS.
Samm 5: Aga Jamma Racing Cabins?
Potentsiomeetri ratas
Kui teie kapp on võidusõidukapp, on väga tõenäoline, et ratas on potentsiomeetril (näete 5Kohm potentsiomeetrit juhtpaneeli tagaküljel).
Kõigepealt laadige alla ja installige juhtkangi kogu (tänapäeval väidetakse, et ainult teegi 1. versioon ühildub arduino DUE -ga, kuid see on siiski väga hea raamatukogu).
Seejärel lisage ratta hõlpsaks käsitsemiseks mõned jooned, mis järgnevad 4. etapi visandile (kuhu read paigutada, jäetakse teile harjutuseks …)
#kaasake
int deadZone = 0;
tühine seadistus () {
Joystick.begin ();}
void loop () {
int readPot = analogRead (A3);
int wheelPos = kaart (readPot, 0, 1023, -127, 127);
if (wheelPos> deadZone || wheelPos <-deadZone) {Joystick.setXAxis (wheelPos);}
else {Joystick.setXAxis (0);}
}
Nagu näete, saate vajadusel määrata surnud tsooni (heas töökorras arkaadratta puhul on kõige parem see nulli seada).
Potentsiomeetri ühendamine Arduino DUE -ga on lihtne: potentsiomeetri külgmised tihvtid lähevad +3,3 V ja GND, klaasipuhasti tihvt arduino DUE analoogpordi külge (vt viiteid pildilt). Määrasin siin ratta potentsiomeetri klaasipuhasti sisendiks analoogpoldi 3 (A3), kuid saate määrata oma vajadustele kõige paremini vastava analoogtihvti.
PS: kas teate, et võidusõidukappide pedaale juhitakse sageli potentsiomeetriga, kui tehniliselt on rattad ja pedaalid sama erineva kujuga seade? See tähendab, et siin olevat koodi saab kasutada ka ehtsate arkaadipedaalide juhtimiseks;)
Optiline ratas
Kui teie ratas on optiline, saab seda ka hõlpsasti käsitseda, muutes esialgset visandit.
Väga levinud optiliste kaarkooderite (Taito spinnerid, Atari rataste kodeerijad jne) pistikupesa on järgmine:
1. OptoA OUT
2. +5V
3. GND
4. OptoB OUT
Ühendage 2. ja 3. Arduino DUE 5V ja GND -ga ning 1. ja 4. mis tahes teile meeldiva digitaalse tihvtiga, pöörates tähelepanu sellele, et optilise kodeerija 5V väljundi langetamiseks 3,3 V arduino DUE -le saab hakkama pingejaguriga. Ärge saatke OptoA ja/või OptoB 5V väljundeid otse oma arduino DUE sisendpistikutele, vastasel juhul praadite need sisendid või isegi kogu plaadi. Sind on hoiatatud.
Siinse visandi näites kasutan optilise väljundina A ja optilise väljundina B. digitaalset tihvti 2 ja digitaalset tihvti 3.
#kaasake
boolean optA_state = HIGH;
int xAxisMov = 2;
tühine seadistus () {
pinMode (2, INPUT_PULLUP); // OptA
pinMode (3, INPUT_PULLUP); // OptB
Hiir.algus ();
}
void loop () {
if (optA_state == HIGH && digitalRead (2) == LOW) {
optA_state =! optA_state;
if (digitalRead (3) == HIGH) {Mouse.move (xAxisMov, 0, 0);} else {Mouse.move (-xAxisMov, 0, 0);}}} // silmuse lõpp
See on madala eraldusvõimega 1X Counting optiline kodeering. See on Arcade'i rakenduste jaoks enam kui piisav, kuid saate eraldusvõimet hõlpsalt tõsta, lisades mõne koodirida.
PS: kas teate, et optilised arcade rattad ja arcade spinnerid on tehniliselt üks ja sama kujuga seade? Kas teate, et juhtkuulid on tehniliselt kaheteljeline spinner? See tähendab, et siin olevat koodi saab kasutada ehtsate arkaadkeerutajate ja väheste lihtsate muudatustega juhtpallide juhtimiseks;)
6. samm: mõni pilt või seda ei juhtunud
Siin on mõned pildid minu tehtud kilbist. See ei ole kõrgetasemeline töö (panustan, ma ei ole proff), kuid see on 100% rokkimine minu jamma Arcade Cabinetis!
Soovitan:
Valige SD -liides ESP32 jaoks: 12 sammu (piltidega)
Valige SD -liides ESP32 jaoks: need juhised näitavad midagi ESP32 projekti SD -liidese valimise kohta
Inimese ja arvuti liides: Funktsioon Gripper (valmistatud Kirigami poolt) randmeliigutuse abil EMG abil: 7 sammu
Inimese ja arvuti liides: Funktsioon Gripper (valmistatud Kirigami poolt) randmeliigutuse abil EMG abil. Nii et see oli minu esimene katse inimese ja arvuti liideses. Ma püüdsin randme liikumise lihaste aktiveerimissignaale EMG anduri abil, töödeldi seda läbi pythoni ja arduino ning käivitas origamipõhise haaratsi
Yaesu FT-100 arvutilingi liides digitaalsete režiimide jaoks: 3 sammu
Yaesu FT-100 arvutilingi liides digitaalsete režiimide jaoks: Siin esitan juhised Yaesu FT-100 arvutilinkliidese loomiseks. See liides võimaldab teil helikaardilt helisignaale edastada ja vastu võtta, et kasutada HAM -i digitaalseid režiime (FT8, PSK31 jne). Lisateave on saadaval
8 -kanaliline analoogvõimendi arvuti või kodu jaoks Teater: 12 sammu (piltidega)
8 -kanaliline analoogvõimendi arvutile või koduteatrile: see on minu esimene juhendatav. Ma õpetan teile, kuidas teha 8-kanalilist võimendit arvutile või helisüsteemile, millel on eraldi analoogväljundid, olen seda kasutanud oma lauaarvuti jaoks, filmide vaatamiseks, HD-muusika kuulamiseks ja mängude mängimiseks
PSP kasutamine arvuti juhtkangina ja seejärel arvuti juhtimine PSP abil: 5 sammu (piltidega)
PSP kasutamine arvuti juhtkangina ja seejärel arvuti juhtimine PSP -ga: PSP homebrew abil saate teha palju lahedaid asju ja selles juhendis õpetan teile, kuidas oma PSP -d mängude mängimise juhtkangina kasutada, kuid on ka programm, mis võimaldab kasutada juhtkangi hiirena. Siin on ema