Choose your language!

English French German Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

6/28/2015

Maquinito Evolution II: el PIC 18F2455 y otras historias

¡Ah, los microchips! Cuánto han contribuido al estado de bienestar! ;-)

Foto: http://img-asia.electrocomponents.com/largeimages/F6230623-01.jpg

Los microchips o circuitos integrados, como podéis ver en la foto de arriba, son unas pastillas muy pequeñas y con muchas patas (bueno, esto depende del chip, para los puristas), en cuyo interior se encuentrar un montón de dispositivos electrónicos como diodos, transistores, resistencias y condensadores. Estos chips son muy baratos y tienen una versatilidad enorme, permiten hacer casi cualquier cosa. En la página de microchip podéis encontrar más información, así como las hojas de especificaciones (datasheet) para cada uno de los modelos.

Nosotros vamos a basar nuestro diseño en el proyecto USB-Joystick with 5 Axis and 24 Buttons de Sprut. El proyecto de Sprut está muy bien explicado y nos va a dar la base sobre la que nosotros construiremos Maquinito 2.0. La diferencia fundamental es que nosotros construiremos una placa que soporte dos jugadores al mismo tiempo, con sus correspondientes dos joysticks y 16 botones asignados a cada jugador.

Por otro lado, al igual que Sprut, nosotros vamos a usar el PIC 18F2455, aunque nos valdría igualmente el PIC 18F2550 o los PICs 18F4455/4555. ¿Por qué este PIC y no otro? Porque es sencillo, barato, hay mucha documentación en internet y, sobretodo, porque permite la comunicación con el PC a través de USB.

A continuación podéis encontrar el esquema del PIC 18F244, extraído del datasheet (toda la información que necesitamos se encuentra básicamente en este documento):
Los pines que nos interesan son los siguientes:
- Puerto A (analógico), que usaremos para los joysticks de los dos jugadores. Aunque nuestros joysticks son digitales (no usamos un rango de valores), podemos utilizar igualmente estos puertos.
- Puerto B (RB0-RB7), éste es un puerto bidireccional que nosotros utilizaremos como salida, para escanear las pulsaciones de los botones.
- Puerto C (RC0-RC2 y RC3), que también es bidireccional. Nosotros lo utilizaremos como entrada. Estos 4 bits junto con los 8 del puerto B nos dan soporte para los 32 botones que necesitamos (8x4, 16 botones por player).
- D+/D- (pines 16 y 17), son los puertos de comunicación de datos con la interfaz USB.
- Vdd / Vss (pines 8, 19 y 20), alta y tierra respectivamente para alimentar y referenciar nuestro circuito.
- OSC1/OSC2 (pines 9 y 10), son los pines donde conectaremos nuestro oscilador de cuarzo, que dará la señal de reloj al nuestro chip.
- MCLR (pin 1), este pin se utiliza para ejecutar un Power on Reset del circuito. Lo utilizaremos tal y como explica el datasheet y como veremos más adelante.

¡Muy bien! Pues manos a la obra. En el siguiente capítulo empezaremos por lo fácil, nuestros pequeños circuitillos para conectar MCLR y el oscilador. A continuación, los joysticks, los botones y, por último, la conexión USB. Después habrá que crear la placa, agujerear, soldar, programar el PIC... y voilà, a jugar!!!

¡Ánimo, nos espera un largo e interesantísimo viaje!



No hay comentarios:

Publicar un comentario