Sommario:
- Passaggio 1: cablaggio del controller
- Passaggio 2: scompattare ed eseguire il codice
- Passaggio 3: impostare il progetto 64
- Passaggio 4: codice Arduino in profondità
- Passaggio 5: riferimenti
Video: Usa un Arduino con un controller N64: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:06
Ci sono tutorial là fuori per usare un controller NES con un Arduino, ma usare il controller N64 più complicato e il suo joystick analogico ha un certo fascino. Se hai un Arduino in giro e non vuoi acquistare un Adaptoid, questo istruibile ti consentirà di giocare a giochi emulati in Project 64 con il tuo Ardunio e un controller N64. È difficile? / Danneggerà le mie cose? Questo non modificherà in alcun modo il tuo controller e il cablaggio è estremamente semplice, quindi se fai tutto con attenzione non ci dovrebbero essere rischi per il tuo controller e puoi sganciarlo in qualsiasi momento per usarlo con una console N64. bisogno: Arduino - $ 30 Processing 1.0 - Software Arduino gratuito - 3 pezzi di filo gratuiti - Cavo USB gratuito (spero)
Passaggio 1: cablaggio del controller
La prima cosa che devi fare è collegare il tuo Arduino al controller Il controller utilizza solo tre cavi: +3,3 V, segnale e massa. Guardando direttamente la spina, la terra è più a sinistra, il segnale è al centro e +3,3 V è a destra. Usando il cavo, collega la massa e +3,3 V ai rispettivi pin sull'Ardunio e collega il cavo del segnale al pin Digital 2 sull'Ardunio. NOTA: se hai altro codice sul tuo Arduino, dovresti scollegare il controller e caricare il nuovo codice dalla pagina successiva all'Arduino prima di accenderlo con il controller collegato. Collegare l'Arduino Collegare il cavo USB e l'Arduino sarà alimentato.
Passaggio 2: scompattare ed eseguire il codice
Questo codice è stato scritto da me, con parti del file N64_Arduino basato sul codice assembly scritto da Andrew Brown. Archivi ZIP: I due file Zip sottostanti contengono il codice necessario per eseguire Arduino e quindi interpretare i dati che invia al computer. Il file N64_Arduino deve essere compilato nell'IDE Arduino e N64_Controller viene eseguito in Processing 1.0. N64_Arduino Questo file PDE dovrebbe essere caricato sul tuo Arduino ed eseguito senza intoppi se tutto è collegato correttamente. Richiede semplicemente al controller N64 i dati sui pulsanti e sullo stick analogico e li invia al computer tramite la porta seriale. È abbastanza facile da modificare, ad esempio, è possibile utilizzare i metodi di questo file per interrogare un controller e utilizzare i dati per eseguire un robot Arduino invece di ritrasmetterli al computer. N64_Controller Questo è un progetto di Processing 1.0 che prende il dati trasmessi da Arduino e li converte in tastiere che è possibile mappare su un emulatore come Project 64. Potrebbe essere necessario modificare la riga String portName = Serial.list()[1]; per abbinare il tuo Arduino, dovrebbe essere Serial.list()[0]; Serial.list()[1]; o Serial.list()[2]; EDIT: aggiungi "import java.awt. Robot;" "import java.awt. AWTException;" "import java.awt.event. InputEvent;"nel codice se stai usando Processing 1.1N64_Controller_mouse Questo è lo stesso di N64_Controller, tranne per il fatto che lo stick analogico controlla il tuo mouse, non i tasti freccia. A e B sono rispettivamente clic destro e sinistro. Per attivare il mouse, premi il pulsante di avvio sul controller.
Passaggio 3: impostare il progetto 64
Prima di poter utilizzare il controller, Arduino deve essere connesso ed eseguire il codice scaricato nell'ultimo passaggio e Processing 1.0 deve essere aperto con il programma N64_Controller in esecuzione. Provalo nel Blocco note, premendo il pulsante A dovrebbe digitare una A, B dovrebbe digitare una B, ecc. Quindi ora hai un controller funzionante (si spera) e vuoi giocare ad alcuni giochi. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key MappingsAvvia PJ 64 e apri prima il menu delle impostazioni (Ctrl+T). Cambia il controller di input sull'input diretto di N-Rage. Apri il menu "Configura controller plug-in" e imposta le mappature utilizzando il controller. Inizia a giocare! Dovresti essere pronto per partire ora! Scarica alcune ROM e inizia a goderti il tuo adattatore N64 homebrew.
Passaggio 4: codice Arduino in profondità
Il protocollo N64 I bit inviati da e verso il controller N64 sull'interfaccia a un filo sono codificati in impulsi larghi 4 µs. Uno '0' è 3 µs basso e 1 µs alto. Un '1' è 1 µs basso e 3 µs alto. Il codice Arduino nei metodi N64_send o N64_receive utilizza un codice assembly temporizzato con molta attenzione scritto da Andrew Brown per eseguire il bit-bang della linea dati per comunicare con il controller. I blocchi nop vengono utilizzati per attendere la quantità appropriata di µs prima di interrogare la linea di invio dei dati. All'avvio, viene inviato 0x00 al controller, quindi l'unico comando utilizzato è 0x01 per richiedere lo stato del controller. Codifica dati Quando i dati vengono ricevuti dopo 0x01, arrivano come 16 bit di informazioni sui pulsanti e 16 bit informazioni sul joystick analogico. I dati dovrebbero essere 44000000000000400044440044000444. Il formato dei bit è: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bit di analogico posizione del bastone. Il metodo translate_raw_data() passa attraverso i 32 bit, inserendoli nella struttura N64_status. I primi 16 bit sono semplici 1 o 0, ma gli ultimi 16 sono tradotti in un numero intero approssimativamente nell'intervallo (-80, 80) di for (i=0; i<8; i++) { N64_status.stick_x |= N64_raw_dump[16+i] ? (0x80 >> i): 0; } Dopo che i dati sono in questa forma semplice, è facile farci quello che vuoi. In questo caso, viene semplicemente inviato sulla porta seriale nel metodo loop() come una stringa di dati binari con due interi per i valori x e y. I dati inviati tramite la porta seriale potrebbero essere: 0400000000000400 63 -67 il che significherebbe che sono stati premuti due pulsanti e lo stick di controllo era a 63, -67.
Passaggio 5: riferimenti
Il progetto di Andrew Brown per creare un adattatore da gamecube a N64 con Arduino è stato prezioso durante la codifica per questo progetto:
Schemi utili possono essere trovati qui: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Le informazioni sul protocollo proprietario dei controller N64 possono essere trovate qui:
Consigliato:
Usa Arduino per visualizzare gli RPM del motore: 10 passaggi (con immagini)
Usa Arduino per visualizzare gli RPM del motore: questa guida illustrerà come ho utilizzato un Arduino UNO R3, un display LCD 16x2 con I2C e una striscia LED da utilizzare come indicatore di velocità del motore e luce del cambio nella mia macchina da pista Acura Integra. È scritto in termini di qualcuno con una certa esperienza o esposizione
Usa un motore di azionamento CC per tapis roulant e un controller di velocità PWM per gli strumenti di alimentazione: 13 passaggi (con immagini)
Utilizzare un motore di azionamento CC per tapis roulant e un controller di velocità PWM per utensili elettrici: utensili elettrici come frese e torni per il taglio di metalli, trapani a colonna, seghe a nastro, levigatrici e altro possono richiedere. Motori da 5 HP a 2 HP con la capacità di regolare la velocità mantenendo la coppia .Per coincidenza la maggior parte dei tapis roulant utilizza un motore da 80-260 VDC con
Usa Cortana e un Arduino per controllare LED RGB o Ledstrips con la tua voce!: 4 passaggi (con immagini)
Usa Cortana e un Arduino per controllare LED RGB o Ledstrip con la tua voce!: In questo tutorial ti mostrerò come controllare il tuo led RGB o la striscia led con la tua voce. Questo viene fatto dall'app CoRGB che è disponibile gratuitamente nell'app store di Windows. Questa app fa parte del mio progetto CortanaRoom. Quando hai finito di scherzare
Usa il modulo Bluetooth HC-05 per realizzare la comunicazione Micro:bit con il telefono cellulare: 9 passaggi (con immagini)
Utilizzare il modulo Bluetooth HC-05 per realizzare la comunicazione Micro:bit con il telefono cellulare: Nel capitolo Utilizzare il modulo Bluetooth HC-06 per realizzare la comunicazione Micro:bit con il telefono cellulare, abbiamo parlato di come utilizzare l'HC-06 per realizzare la comunicazione tra micro: bit e cellulare. Fatta eccezione per HC-06, esiste un altro modulo Bluetooth comune
Usa il modulo Bluetooth HC-06 per realizzare la comunicazione Micro:bit con il telefono cellulare: 8 passaggi (con immagini)
Usa il modulo Bluetooth HC-06 per realizzare la comunicazione Micro:bit con il telefono cellulare: molti amici intorno a me che giocano a micro:bit mi dicono che la connessione Bluetooth di micro:bit non è stabile. È facile disconnettersi. Se usiamo micropython, il Bluetooth non può nemmeno essere utilizzato. Prima che questo problema venga risolto da micro:bit offic