Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

14/04/2015 #1

Avatar de SkyLine

Mando de consola retro (Turbo Pad - ECS) + Arduino
Buenas, estoy intentando sacar provecho de un mando para una consola bastante antigua (Entertainment Computer System),

*Ver archivo adjunto: {nes-clon-nasa.jpg}

y para ello he preparado su conector, de 7 pines (2 de ellos vacíos, por tanto 5 pines) para intentar manejarlo con Arduino. Para mi desgracia, esta consola es una copia barata de la famosa NES (Nintendo Entertainment System) que ya han hackeado para reutilizar su mando, pero para la consola de nuestro caso no existe en internet ninguna guía ni datasheet que me pueda ayudar, por tanto manos a la obra...

Mi objetivo inicial es completar la tabla de "Pinout" para poder dar un poco de luz sobre el asunto. Pero antes me gustaría saber ¿qué es esa bolita negra o qué función tiene en el mando? (Un amigo me ha dicho que es el CI que maneja los botones)

*Ver archivo adjunto: {controller-front.jpg}
*Ver archivo adjunto: {controller-back.jpg}


Imagino que los pines corresponderán al igual que la original Nintendo (aunque con distintos colores) a:
VCC, GND, Latch, CLK, Data.
Tengo la esperanza de que con sólo ver la imagen del circuito alguien sea capaz de distinguir cada uno de los pines. De no ser así, estoy dispuesto a seguir cualquier indicación para facilitar su identificación.

Una vez rellenada la tabla, procederé con el código de Arduino.

No soy un experto en microelectrónica ni tengo mucha experiencia, pero mi curiosidad y mi afán por aprender está por las nubes. Me encantaría que me ayudárais con este mini-proyecto, pues es algo a lo que le he puesto mucha ilusión.

Muchas gracias
Saludos
14/04/2015 #2
Moderador general

Avatar de DOSMETROS

SkyLine dijo: Ver Mensaje
¿qué es esa bolita negra o qué función tiene en el mando? (Un amigo me ha dicho que es el CI que maneja los botones)
Es un circuito integrado ! No lo rompas ! . . . salvo que solo te interesen los pulsadores.
14/04/2015 #3

Avatar de pandacba

En la red hay mucha información sobre lo que buscas
fijate aqui
https://www.google.com.ar/search?new...43.dBdd9ln8ZpI
14/04/2015 #4


creo que por ser clonica no confia en la informacion

pero las clonicas tambien eran compatibles con la original
de todos modos puedes comprobar el pinout con el tester

y no te confies en los colores
15/04/2015 #5

Avatar de SkyLine

Gracias a todos por vuestra rápida respuesta.

DOSMETROS dijo: Ver Mensaje
Es un circuito integrado ! No lo rompas ! . . . salvo que solo te interesen los pulsadores.
Uf, ¿entonces cómo puedo identificar de qué integrado se trata? Para la NES original se ve bastante claro un 4021 (registro de desplazamiento).

analogico dijo: Ver Mensaje
creo que por ser clonica no confia en la informacion

pero las clonicas tambien eran compatibles con la original
de todos modos puedes comprobar el pinout con el tester

y no te confies en los colores
En efecto, de hecho ya he seguido más de un tutorial que hace referencia a la NES original, sin éxito alguno para casi cualquier combinación de cables. Hasta ahora no he conseguido de ninguna manera obtener ni un simple dato ni una pequeña reacción al pulsar cualquier botón. No obstante, ¿De qué se trata el "tester" que comentas?
15/04/2015 #6
Moderador general

Avatar de DOSMETROS

Si ya probaste metíéndole positivo y negativo de todas las maneras posibles . . . amen al pobre integradito gota negra
15/04/2015 #7


SkyLine dijo: Ver Mensaje
¿De qué se trata el "tester" que comentas?
http://es.wikipedia.org/wiki/Mult%C3%ADmetro

ESPERA
pense que ya sabias lo minimo

por que si probaste cualquier conbinacion ya se quemo el mando
15/04/2015 #8

Avatar de pandacba


Este era el conector de los clones y el original
Imágenes Adjuntas
Tipo de Archivo: png nes-controller-pinout.png (8,6 KB (Kilobytes), 55 visitas)
15/04/2015 #9

Avatar de SkyLine

Jajaj ya vienen los madre mías. Bueno, voy a optar por tirar este mando y coger el otro (¡Sí, tenía 2! XD).

Parece que la indicación de mi amigo de que no se puede estropear si lo único que introduzco son 5 Voltios por cualquier pin no era cierta... siempre se aprende algo con estas cosas.

Pero ahora haremos las cosas bien. La cuestión es que con el multímetro conseguiré medir tensiones, intensidades, resistencias... pero no logro entender cómo me permitirá conocer la función de cada pin sin estropear el mando de nuevo.

Gracias de nuevo por la ayuda brindada.
15/04/2015 #10

Avatar de pandacba

yo tengo esa consola, y es compatible 100% mi primo tenia una orignal y una igual, y los mando son intercambiables si te guias por el pinout del conector que te mostre la podes utilzar tranquilamente
y si no a la quemaste agregale el integrado y la recuperas (quitando el boton negro obvio)
guiate por esto
http://www.taringa.net/posts/hazlo-t...ES-y-SNES.html
15/04/2015 #11

Avatar de SkyLine

100% compatibles!, en ese caso me puedo fiar de esas instrucciones. En definitiva, nuestra tabla de pinout queda del siguiente modo:

*Ver archivo adjunto: {pinout-1.jpg}

A continuación procederé a comprar un integrado 4021, por lo que veo es muy barato. Seguiré el post que me aconsejas, pandacba, muchas gracias.
Imágenes Adjuntas
Tipo de Archivo: jpg pinout-1.jpg (61,5 KB (Kilobytes), 16 visitas)
15/04/2015 #12


SkyLine dijo: Ver Mensaje
J
Pero ahora haremos las cosas bien. La cuestión es que con el multímetro conseguiré medir tensiones, intensidades, resistencias... pero no logro entender cómo me permitirá conocer la función de cada pin sin estropear el mando de nuevo.

Gracias de nuevo por la ayuda brindada.
pero usa la imaginacion por ejemplo se pueden medir los nc con el tester


y
el mando se puede arruinar cuando le colocas los 5V en el pin erroneo
16/04/2015 #13

Avatar de TRILO-BYTE

una vez estudie el nes pad del una NASA
y no se que chip sea me imagino que es un 4021 customizado pues el 4021 es un codificador paralelo serie de 8 bits

en cambio el chip X hace lo mismo pero manda un tren de impusos diferente es decir si miramos en un osciloscopio por cada boton apretado veremos un cambio en la trama de la data y cuando pisamos un botor en el turbopad veremos un tren de impuslos me imagino que hay que alargar el latch para que entren mas bits

no se me imagino alargar el latch a 10 bits o es su defecto a 16 bits cosa que no creo
si uno revisa el NES controler para agregar 4 pads al nes
se vera otro chip X de mas pines este chip tiene la ventaja de agregar turbo A y turbo B
y en el osciloscopio se ve el mismo comportamiento
el mismo tren de impulsos

es cuestion de ver que pasa con el latch , mi problema es que no se que pasa pues estos chips del pad de la NASA estan averiados pues envian datos a lo bruto no son las gomas ni el cableado el chip nternamente esta morido
17/04/2015 #14

Avatar de SkyLine

Con el integrado 4021 podría intentar reemplazar el circuito gota negra, de forma que conseguiría reutilizar el mando que quemé. ¿Sabeis si podría funcionar, es decir, que lo único perjudicado haya sido el integrado gota negra?

Por otro lado tengo buenas noticias. Utilicé el otro mando con la configuración de Pinout de la NES original, y probando el siguiente código con Arduino funcionó correctamente.

Código:
// Arduino NES Controller Test Software.
 
byte NESData = 4;
byte NESLatch = 3;
byte NESClock = 2;
byte NESButtonData;

void setup() {
    Serial.begin(9600); 
    pinMode(NESLatch, OUTPUT); 
    pinMode(NESClock, OUTPUT);
    pinMode(NESData, INPUT);
}
 
void loop() { 
    GetNESControllerData();
//    Serial.println("RLDUSXBA");
    print_binary(NESButtonData,8);
    Serial.println("");
//    Serial.println("");
    delay(100);
}
 
void GetNESControllerData(){
    digitalWrite(NESLatch, HIGH);
    digitalWrite(NESLatch, LOW);
    for(int x=0; x<=7; x++){
        bitWrite(NESButtonData,x,digitalRead(NESData));
        digitalWrite(NESClock, HIGH);
        digitalWrite(NESClock, LOW);
    }
}
 
void print_binary(int v, int num_places){
    int mask = 0, n;
 
    for (n=1; n<=num_places; n++){
        mask = (mask << 1) | 0x0001;
    }
    v = v & mask;  // truncate v to specified number of places
    while(num_places){
        if (v & (0x0001 << num_places-1)){
            Serial.print("1");
        }
        else{
            Serial.print("0");
        }
    num_places--;
    }
}
No puedo linkear la fuente.

El resultado obtenido es algo así.
*Ver archivo adjunto: {NESControlPadCapturedData.png}
Aunque esta configuración inutiliza los botones turbo, ya que la NES original no cuenta con ellos.
Imágenes Adjuntas
Tipo de Archivo: png NESControlPadCapturedData.png (51,9 KB (Kilobytes), 11 visitas)
17/04/2015 #15


los botones turbo son los mismos A y b con repeticion automatica
17/04/2015 #16

Avatar de pandacba

Si cambias la gota negra por el CI te fa a funcionar, guiate por la misma info para el coneccionado
Me alegra saber que funciono el otro
19/04/2015 #17

Avatar de TRILO-BYTE

yo tengo los mismos pads genericos y vienen en encapsulado tipo DIP

yo lo que haria seria buscar en las chacharas un pad de NES o uno de SUPER NES por que queremos mas botones

el super nes trabaja con 2 cd4021 solo que en cascada

ami me paso que por una extraña razon que desconosco
es que un pad original de NES no lo leia el microcontrolador y otro pad lo leia perfecto , cambie el cd4021 y la falla continuaba pero en la consola funcionaban bien y en el osciloscopio la trama estaba perfecta

solo fue algo que ami me paso la solucion fue usar otro nes pad

---------- Actualizado después de 5 minutos ----------

otra cosa que me pasaba decir

yo tambien queria utilizar los botones de la NASA pero como dije son trenes de impulsos y tambien pense que salian esos trenes en donde deberia ir A y B pero no es asi salen en tro lado de la trama de 8 bits

si no me crees checalo en el osciloscopio para hacer eso debes usar 2 canales uno en DATA y LATCH
en el latch vez cuando empieza y acaba la trama y en el data puedes ver como turbo A y tubo B se encuentran en otro lado yo digo que eso fue diseño de de un protocolo de la propia NES si uno destapa un NES el mando pasa atravez de la PPU y no a un circuito como un puerto

bueno esa es mi opinion
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Arduino y Raspberry Pi

Cerrar
Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.