Autor Tema: :: Mando de PlayStation y PIC ::  (Leído 4363 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
:: Mando de PlayStation y PIC ::
« en: 26 de Septiembre de 2012, 09:40:48 »
hola Compañeros

Desde hace un tiempo estos viendo los mandos de play station
controlados por PIc, por arduino, y por otros tipos de micros.

En algunas paginas varios autores han conseguido poner un mando de play
con pic de forma que puedes mover servos o realizar operaciones con el pic
mediante el mado de la play.

Ademas este mado dispone de unos cotizados joystic, por ese precio me compro un mando entero.

La idea es con un mando de play conectarlo a un pic y leer todos los movimientos de los botones
seria como un codificador o un descodificador.


Si alguno de ustedes pude aportar algun tipo de informacion
se de lo agradeceria, o si ustedes impnetaron antes implementar algo parecido
tambine seria bueno contar con sus experiencias.



Enlaces:
-->  http://www.infolaser.net/franpr/tecnica/psxrc/psxrc.html



videos
feature=fvwrel
feature=related
feature=related
feature=related



lecturas
http://www.todopic.com.ar/foros/index.php?topic=11931.5

http://tejonbiker.wordpress.com/taller-de-minirobotica/
http://hombremecatronico.es/?p=17
http://store.curiousinventor.com/guides/ps2#commands
http://www.forosdeelectronica.com/f24/joystick-play-controlado-pic-15723/



Un cordial Saludo



Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: :: Mando de PlayStation y PIC ::
« Respuesta #1 en: 26 de Septiembre de 2012, 11:40:49 »
  Veo este mensaje tuyo y también el de modulación de señal y me da la sensación que intentas experimentar con RC  :lol:

  Te comento que los potes de los controles de joystick USB, para mi gusto tienen una mala "resolución" si es que se puede aplicar dicho término.

  Explicado de una manera práctica.... con simuladores de vuelo RC tipo "Real Fligh" o "AeroFly", los comandos con joystick actuán de manera muy "nerviosa" en cambio, al utilizar un RC verdadero (aunque económico) es mucho más fácil gobernar los modelos.

  Tal vez pueda deberse a que en el caso de los joystick el brazo de palanca es muy corto, y por lo tanto al mover 2 mm, estamos haciendo un gran movimiento del cursor del pote. En cambio en los RC, al ser el brazo más largo, al mover 2mm la palanca, el movimiento del pote será menor.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: :: Mando de PlayStation y PIC ::
« Respuesta #2 en: 27 de Septiembre de 2012, 22:14:10 »
Hola AngelGris
Desde hace un buen tiempo he querido hacerme una emisora
para controlar todos los inventos que me temo que no van a ser pocos.

lo de los potes he estado pensando, en hacerlos semi controlados,
es decir poder darles mas o menos sensibilidad, creo que lo forzaria por software.

De momeentos estos juntando piezas y recolectando ideas de aqui y de alla.
Se lo que quiero pero aun no se como voy a empezar, la web esa que me recomedaste
creo que fueite tu u otro compañero .

http://www.e-radiocontrol.com.ar

Le puse el ojo a la emisora y me gustaria controlar varios servos,
Puede que empiece por 8. Tengo que probar un modulo con el i2c y el expansor PCF8574x
y despues ahcerlo desde el pic , y ver pros y contras.

Aun tengo muchas dudas..

el robot del amigo  gera cuantos canales necesitaria ..? 18canales


tengo muchas preguntas más y por eso estoy nutriendome de informacion
probando cosas.  ;-)


aca esta el pcb del expansor 40x40mm



Desconectado miquel

  • PIC12
  • **
  • Mensajes: 69
Re: :: Mando de PlayStation y PIC ::
« Respuesta #3 en: 12 de Octubre de 2012, 23:25:13 »
¡Hola Pájaro! Te mando unas fotos de un mando PS modificado, con un 16F887 y un nrf905. Tiene razón Angelgris, los joystick son muy poco precisos. Lo interesante es que dispones de 12 canales digitales y 4 analógicos por poco precio y que sirve para controlar cualquier cosa. El nrf905 funciona en campo abierto por encima de 100 metros.

Saludos,

Miquel

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: :: Mando de PlayStation y PIC ::
« Respuesta #4 en: 30 de Diciembre de 2012, 21:32:55 »
Hola amigos

Felicidades en estas navidades y prospero año nuevo a todos ustedes.
En mi ratos libres sigo con el proyecto del mando de playstation y el pic.
Si recordais la idea era leer con el pic los movimiestos del mando, y si
queremos despues ya modificaremos o adaptaremos o mejoraremos lo obtenido.

En las ultimas semanas encontre una nueva web:

http://www.gamesx.com/controldata/psxcont/psxcont.htm

http://sophiateam.undrgnd.free.fr/psx/index.html#soft

http://www.webx.dk/robot-crawler/ps-joy.htm

 la primera idea es hacer algo muy simple un drivers que cada vez que pulses una tecla
en el mando y te encienda un led.

El amigo Bruno creo que trabajo antes en asm, yo lo intentare con  c bajo el ide de ccs
toda la ayuda por su parte sera bien venida.

En este enlace se muestra un codigo en c de avr.

yo lo intentarare para con un pic18f2550 y mando de ps2 de hace unos años.

El programa encontrado es este:

Código: CSS
  1. para avr en c
  2.  
  3.  unsigned char i;
  4.   unsigned char PS2byte;
  5.   unsigned char PS2data4;
  6.   unsigned char PS2data5;
  7.  
  8. #define PS2clk 3 // bit 3
  9. #define PS2cmd 2 // bit 2
  10. #define PS2att 1 // bit 1
  11. #define PS2dat 0 // bit 0
  12. #define PS2PORT PORTB // change to fit your port hardware
  13. #define PS2IN PINB    // change to fit your port hardware
  14.  
  15. void ReadGamepad()
  16. {
  17.    SET(PS2PORT,PS2cmd);
  18.    SET(PS2PORT,PS2clk);
  19.    CLR(PS2PORT,PS2att); // low enable joystick
  20.  
  21.    Delay(1); // one uS delay CPU timed at the clock speed your AVR is running.
  22.    PS2byte=0x01; // first command
  23.    for(i=0;i<8;i++)
  24.    {
  25.       if(CHK(PS2byte,i)) SET(PS2PORT,PS2cmd);
  26.       else CLR(PS2PORT,PS2cmd);
  27.       CLR(PS2PORT,PS2clk); //Delay(1); if you run faster then 8Mhz you might need a small delay
  28.       SET(PS2PORT,PS2clk);
  29.    }
  30.    SET(PS2PORT,PS2cmd);
  31.  
  32.    Delay(1);
  33.    PS2byte=0x42; // sec command
  34.    for(i=0;i<8;i++)
  35.    {
  36.       if(CHK(PS2byte,i)) SET(PS2PORT,PS2cmd);
  37.       else CLR(PS2PORT,PS2cmd);
  38.       CLR(PS2PORT,PS2clk); //Delay(1); if you run faster then 8Mhz you might need a small delay
  39.       SET(PS2PORT,PS2clk);
  40.    }
  41.    SET(PS2PORT,PS2cmd);
  42.  
  43.    Delay(1);
  44.    for(i=0;i<8;i++)  // 3 byte
  45.    {
  46.       CLR(PS2PORT,PS2cmd);
  47.       CLR(PS2PORT,PS2clk); //Delay(1); if you run faster then 8Mhz you might need a small delay
  48.       SET(PS2PORT,PS2clk);
  49.    }
  50.    SET(PS2PORT,PS2cmd);
  51.  
  52.    Delay(1);
  53.    PS2data4=0;
  54.    for(i=0;i<8;i++)  // 4 byte
  55.    {
  56.       CLR(PS2PORT,PS2cmd);
  57.       CLR(PS2PORT,PS2clk); Delay(1); // this delay is needed even at 8MHz!!
  58.       if(CHK(PS2IN,PS2dat)) SET(PS2data4,i);
  59.       SET(PS2PORT,PS2clk);
  60.    }
  61.    SET(PS2PORT,PS2cmd);
  62.  
  63.    Delay(1);
  64.    PS2data5=0;
  65.    for(i=0;i<8;i++) // 5 byte
  66.    {
  67.       CLR(PS2PORT,PS2cmd);
  68.       CLR(PS2PORT,PS2clk); Delay(1);  // this delay is needed even at 8MHz!!
  69.       if(CHK(PS2IN,PS2dat)) SET(PS2data5,i);
  70.       SET(PS2PORT,PS2clk);
  71.    }
  72.    SET(PS2PORT,PS2cmd);
  73.    Delay(1);
  74.    SET(PS2PORT,PS2att); // HI disable joystick
  75. }
  76.  
  77.  

 este codigo se puede adaptarse para hacerlo funcionar con un pic y el ccs

Lo primero que hare sera definir las teclas y las posiciones de los joystick analogicos.

L1
L2
R1
R2
----------------
select
start
analog
------------------
DL_izq
DL_dec
DL_arr
DL_aba
------------------
AL_izq
AL_dec
AL_arr
AL_aba
------------------
DR_izq
DR_dec
DR_arr
DR_aba
------------------
AR_izq
AR_dec
AR_arr
AR_aba
-----------------

En este otro hilo recomiendan usar spi:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=644851


¿Es cierto que el protocolo de la ps2 es spi?







« Última modificación: 30 de Diciembre de 2012, 22:16:49 por pajaro »


 

anything