Tetris Java,PCI 8255 Picaxe 18mi y RF

22
Practica2 Tetris, control RF, picaxe, tarjeta PCI 8255 Juego clásico Tetris hecho en leguaje java, usando un control creado con circuitos, de los cuales algunos son picaxeMI2, modulo Radio Frecuencia. Y para que se comunicara con la computadora se uso la tarjeta PCI 8255 que se tiene una interface en java. 2011 Grupo Universidad de San Carlos de Guatemala 14/04/2011 Integrantes Carnet: Juan Daniel Pineda Cabrera 2006-11402 Erick Fernando Sac Nimatuj 2007-30410 Luis Fernando Cajas Calijau 2007-14186 Eduardo Manuel Palacios Telaban 2007-14216 Julio Fernando Osorio Escobar 2007-14856

Transcript of Tetris Java,PCI 8255 Picaxe 18mi y RF

Page 1: Tetris Java,PCI 8255 Picaxe 18mi y RF

Practica2 Tetris, control RF, picaxe, tarjeta PCI 8255

Juego clásico Tetris hecho en leguaje java, usando un control creado con circuitos,

de los cuales algunos son picaxeMI2, modulo Radio Frecuencia. Y para que se

comunicara con la computadora se uso la tarjeta PCI 8255 que se tiene una

interface en java.

2011

Grupo

Universidad de San Carlos de Guatemala

14/04/2011

Integrantes Carnet:

Juan Daniel Pineda Cabrera 2006-11402

Erick Fernando Sac Nimatuj 2007-30410

Luis Fernando Cajas Calijau 2007-14186

Eduardo Manuel Palacios Telaban 2007-14216

Julio Fernando Osorio Escobar 2007-14856

Page 2: Tetris Java,PCI 8255 Picaxe 18mi y RF

INSTALACION Y FORMAS DE PRUEBA DE LA TARJETA PCI 8255

Este documento pretende ser una pequeña guía para instalar la tarjeta PCI 8255, que es una interfaz para la computadora. Esta tarjeta es utilizada más que todo para controlar maquinaria por medio de la computadora.

Esta tarjeta puede ser usada y programada para interactuar con otros componentes electrónicos como picaxes, transmisores, receptores etc.

REQUISITOS PAR LA INSTALACION

1) La computadora debe tener como mínimo 512Mb de RAM. 2) Indispensablemente un Slot PCI libre. 3) El procesador puede ser Pentium 4 de 1.8GHZ en adelante 4) El sistema operativo puede ser Windows XP o Windows Vista.

Pasos para la instalación de la tarjeta PCI 8255. Para este caso damos los pasos par su instalación en Windows XP.

PASO No. 1

Como su nombre lo dice esta tarjeta utiliza un slot PCI de nuestra computadora para interactuar con ella, entonces como primer paso con la computadora apagada y totalmente desconectada procedemos a colocar la tarjeta en un slot PCI libre que tengamos en nuestra PC.

Page 3: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 2

Ahora bien encendemos el computador y cuando este se inicie el detectara que se ha encontrado un nuevo hardware y mostrara la siguiente pantalla.

Seleccionamos la tercera opción y damos clic en siguiente.

Ahora bien encendemos el computador y cuando este se inicie el detectara que se ha encontrado un nuevo hardware y mostrara la siguiente pantalla.

Seleccionamos la tercera opción y damos clic en siguiente.

Ahora bien encendemos el computador y cuando este se inicie el sistema operativo detectara que se ha encontrado un nuevo hardware y mostrara la siguiente pantalla.

Page 4: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 3

Ahora bien nos aparece la siguiente pantalla seleccionamos la segunda opción, y damos clic en Siguiente.

PASO No. 4

En la siguiente ventana, seleccionamos la primera opción, luego le quitamos el chequecito a la opción de búsqueda en CD-ROM y disquete. Ahora bien en la siguiente opción le damos la ubicación de los drivers de la PCI 8255 que vienen junto con su documentación, para este caso la selección se muestra en la imagen.

Page 5: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 5

Después de haber seleccionado la ubicación le damos clic en Siguiente.

PASO No. 6

Después del paso anterior, se proceden a instalar los drivers, se nos muestra la siguiente pantalla.

Page 6: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 7

Si todo lo anterior procedió con éxito se nos mostrara la pantalla de finalización de la instalación. Ahora simplemente le damos clic en Finalizar.

PASO No. 8

Ahora vamos a cerciorarnos de que se haya instalado correctamente y que sus funciones estén integradas adecuadamente. Para ello nos vamos a Inicio damos clic derecho sobre Mi PC y elegimos propiedades.

Page 7: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 9

En la ventana que nos aparece seleccionamos la etiqueta Hardware y luego Administrador de dispositivos.

PASO No. 10

Luego en la ventana que se nos presenta buscamos nuestra tarjeta la seleccionamos y damos clic derecho y elegimos la opción propiedades.

Page 8: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 11

Se nos presenta la ventana de las propiedades de la tarjeta, para indicarnos que todo anda bien, entonces damos clic en Aceptar y cerramos todo.

PASO No. 12

Ahora para que funcione bien, tenemos que instalar unas librerías, entonces abrir la consola de Windows y nos posicionamos en la carpeta de la documentación e la PCI y buscamos la carpeta donde está el driver, y ejecutamos el archivo install-xp.bat

Page 9: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASO No. 13

Ahora empezara la instalación, es rápida ahora solo es de presionar cualquier tecla y listo la 8255 está instalada, ahora solo es de verificar que funcione correctamente.

PASO No. 14

Ahora nos vamos a la carpeta donde esta la documentación de nuestra pci, y ejecutamos un programa llamado ET_PCI8255V3_TEST, y lo ejecutamos para ver el estado de la tarjeta.

Page 10: Tetris Java,PCI 8255 Picaxe 18mi y RF

Ahora bien se nos muestran los tres slots de la tarjeta, para el caso de esta tarjeta los primeros dos están bien, ahora en el caso de la tarjeta que utilizamos para este manual, el tercero no funciona ya que nos aparecen entradas en rojo. Ahora solo es de probar enviando pulsos a través de la tarjeta por medio de un cincho HIDE de disquete u probar como salidas uno o varios pines. Pero antes de lo anterior si todo funciona bien hay que darle primero clic al botón que indica la flecha del mouse en la imagen y se hace un pequeño ruido es buena señal de que la hemos instalado correctamente.

Page 11: Tetris Java,PCI 8255 Picaxe 18mi y RF

PROGRAMACION DEL PICAXE El software de programación para picaxe utiliza el simple lenguaje BASIC. Por ejemplo el siguiente programa, activa y desactiva la salida 4 cada segundo, si se implementara con un LED, se encendería y se apagaría. main: high B.4 pause 500 low B.4 pause 500 goto main Como podemos ver usa los comandos high y low para controlar el pin de salida 4, y usa el comando pause para hacer un retardo (delay) de 500 ms. El comando goto main se utiliza para saltar a la línea etiquetada como main, de esta manera logramos hacer un ciclo de manera infinita. Para escribir comentarios utilizamos el estilo del lenguaje assembler, es decir, tipamos ; y luego el comentario de una línea. Como es necesario en algunas ocasiones hacer repeticiones contadas de instrucciones, utilizamos las sentancias for... next. La sintaxis va así: for <nombre de variable> = <valor inicial> to <valor final> <instrucciones> next <nombre de variable> De esta manera podemos realizar programas funcionales programables en un picaxe. Para los picaxe-18x, tenemos los siguientes comandos:

• Salida (Output): high, low, toggle, pulsout, let pins • Entrada (Input): if... then, readadc, pulsin, button, count • ADC: readadc, readadc10 • RAM: peek, poke • Sonido (Sound): sound • Serial: serin, serout • Control de flujo (Program Flow): goto, gosub, return, branch • Rizos (Loops): for... next • Matemática: let(+, -, *, **, /, //, max, min, &, ^, &/, |/, ^|) • Variables: if... then, random, lookdown, loopup • Data memory: eeprom, write, read • Retardos (Delays): pause, wait, nap, sleep, end • Miscelánea (Miscellaneous): symbol, debug • Interrupción (Interrupt): setint • Servo Control: servo • Infrarojo (infrared): infrain • Temperatura: readtemp, readtemp12 • Número de serial 1 cable: readowsn

Page 12: Tetris Java,PCI 8255 Picaxe 18mi y RF

• Reloj 1 cable: readowdk • Teclado: keyin, keyled • Frecuencia de reloj: setfreq • I2C: readi2c, writei2c, i2cslave • PWM: pwmount

Ejemplos de instrucciones: symbol LED = B.4 symbol buzzer = B.2 main: high LED low buzzer pause 1000 low LED high buzzer wait 1 goto main Ejemplo de un ciclo For... next: symbol counter = b1 symbol LED = B.4 main: for counter = 1 to 15 ; high LED ; pause 500 ; low LED ; pause 500 ; next counter ; Ejemplo de uso de entradas digitales: main: if pinC.3 = 1 then flash goto main flash: high B.4 pause 2000 low B.4 goto main

Page 13: Tetris Java,PCI 8255 Picaxe 18mi y RF

PASOS PARA CREAR LA QUEMADORA DE PIXACE

Para descargar el programa creado en basic, es necesario realizar un circuito que grabe el programa en el picaxe, para su futura utilización. Los componentes electrónicos necesarios para hacer la descargar del programa al picaxe son:

- Una resistencia de 10K - Una resistencia de 22K - Una resistencia de 4K7 - Swich - Estero - Picaxe 18X - Protoboard

Los componentes electrónicos extras para realizar un ejemplo son:

- Una resistencia 330 - Un led

Nota: en este caso especial utilizaremos el picaxe 18x y un protoboard, pero como se necesite se puede realizar en placa y el picaxe puede variar a las necesidades, solo es necesario tener el esquema para saber cual es cada pin. Diagrama Picaxe18X

- Coloque el picaxe en el protoboard - Conecte tierra en el pin5 - Conecte 5v en el pin 14 - Conecte serial out del puerto estero al pin2 - Conecte serial in del puerto estero al pin3 utilizando la resistencia de 22K

Page 14: Tetris Java,PCI 8255 Picaxe 18mi y RF

- Conecte el pin de tierra del puerto estero a tierra. - Conecte serial in del puerto estero con tierra utilizando la resistencia 10K.

Coloque esta resistencia antes que la de 22K - Para la coneccion del swich, conecte el swich a tierra y a la resistencia de 4K7 y

esta a 5v. Realice un puente al pin5 antes de conectar el swich a la resistencia. Diagrama del circuito:

Para realizar la prueba, basta con grabar el picaxe con el programa ejemplo, conectar la resistencia 330 en la salida del picaxe y en el otro extremo el led y este a tierra.

Page 15: Tetris Java,PCI 8255 Picaxe 18mi y RF

DIAGRAMA A BLOQUE PARA CONTROL

DIAGRAMA A BLOQUE SCANNER Y PCI 8255

MATRIZ DEFOTORESISTENCIAS

PCI 8255

RECEPTOR RF

X0 X 1 X2 X3 X4 X 5 X 6 X 7 X8

PIC

X10

Y

COLOR

EMISOR RF

CONTROL

PIC

B . E S CA NE A R

B . IZQUIE RDA

B. DERECHA

B . GIRA R

Y

Y

Page 16: Tetris Java,PCI 8255 Picaxe 18mi y RF

DIAGRAMA DE FLUJO

FIN

INICIO

Fase de Escaneo

BOTON SELECCIONADO

INSERTAR FIGURA

B. EscanearDETECTA FIGURA

Si

No

Fin Fase de Escaneo

B. Girar

MOSTRAR MENSAJE

DETECTAR BOTON

DETECTAR BOTON

Inicio Juego

DETECTAR BOTON

DETECTAR BOTON

Fin de Juego

BOTON SELECCIONADO

B.Girar+B.Escanear

B.Izquierdo B.Derecho

MOVER IZQUIERDA

MOVER DERECHA

GIRAR

B.Girar

Page 17: Tetris Java,PCI 8255 Picaxe 18mi y RF

TRANSMISION INALABRICA

MÓDULOS DE RADIOFRECUENCIA 434MHZ

Componente: Módulo de Radiofrecuencia de 434MHz Transmisor y Receptor. Aplicaciones: Robótica, Control, Activación/Desactivación de dispositivos de manera inalámbrica, etc. Descripción: Con estos módulos de radiofrecuencia es posible controlar activaciones o desactivaciones de cualquier dispositivo (con el circuito electrónico correcto) en conjunto con micro controladores su aplicación es infinita, ya no más uso de cables. El transmisor esta basado en el resonador SAW y acepta señales digitales en su entrada, el alcance aproximado es de 500 pies, según el fabricante. Características:

1) Voltaje de alimentación del Receptor: 5 VDC 2) Voltaje de alimentación del Emisor: 2-12 VDC 3) Rango de transferencia: 2400 ó 4800 bps 4) Tamaño compacto.

Page 18: Tetris Java,PCI 8255 Picaxe 18mi y RF

PROTOCOLO DE TRANSMISION

Para la transmisión y recepción de los datos los módulos descritos arriba, transmitían datos que el picaxe daba. Usamos transmisión secuencial, con un modo de trasmisión invertida N2400

INTRUCCIONES UTILIZADAS EN EL PICAXE PARA LA TRASMICION

Para este caso estamos usando picaxe 18M2 , aquí la información se manda de forma serial por medio de alguna salida del picaxe para este caso la B.0.

Es decir la información que transmite el emisor es la enviada por el comando serout que se describe a continuación.

La instrucción serout B.0, N2400,(85,85,85,85, “CODE”, scan), indica que se enviara una salida serial a través del pin de salida B.0, con un modo invertido N2400. Los primeros 4 números que se miran entre paréntesis solo son para enviar como una pre señal para evitar que la que es real no se pierda. La palabra CODE que esta entre comillas es un código que el receptor reconoce y le indica que la señal que tiene que recibir es esa, y la palabra que scan es una variable que contiene la información que quiero enviar para este caso el numero decimal 1.

Page 19: Tetris Java,PCI 8255 Picaxe 18mi y RF

INSTRUCCIONES UTILIZADAS PARA LE PICAXE DE RECEPCION

El código principal del transmisor es sencillo, como se puede ver simplemente defino dos variables para saber que acción tomar, la primera es ENTRADA que hará referencia a la entrada C.0 y OPERACIÓN que hace uso de una variable de propósito general en este caso b0, que son las que uso en la instrucción principal de recepción en la línea 50 del código, esta es la mas importante y se describe a continuación.

La instrucción serin indica que recibirá una trasmisión de forma serial en el pin ENTRADA, con un modo invertido N2400, entre paréntesis nuestra palabra clave CODE y el dato que recibirá que se almacenará en OPERACIÓN, y según el valor decimal que tenga OPERACIÓN entre 1 y 4 ejecutara una acción de lo contrario estará esperando las entradas correctas.

Page 20: Tetris Java,PCI 8255 Picaxe 18mi y RF

DETECCION COLOR PARA LAS PIEZAS

Para la detección del color se hizo uso de un LED RGB que se según su la intensidad recibida al alumbrar un materia de color esta lo recibe una foto resistencia y el valor recibido por esta es enviado al picaxe donde se hace el análisis para saber qué color se está alumbrando.

DIAGRAMA DEL PICAXE, EL LED RGB Y LA FOTO RESISTENCIA.

INSTRUCCIONES PARA RECONOCER EL COLOR

A continuación en la siguiente pagina se pueden apreciar las instrucciones escritas en lenguaje BASIC para picaxe para el reconocedor de color, cuando el LED enciende las tres veces después de haberse hecho el análisis del color este alumbra una cuarta vez indicando el color que ha reconocido, y una vez hecho se envía la información de forma paralela a la tarjeta PCI donde es procesada según un código de tres bits establecido.

El picaxe se encarga de encender el LED RGB en sus diferentes colores y mantenerlo cierto tiempo para que se pueda leer el dato que la fotoresistencia envía en forma análoga al picaxe, este la convierte a digital y luego se hacen comparaciones según los rangos enviados, es de notar que la intensidad de luz que recibe la fotoresistencia es mucho mayor cuando el color del RGB alumbra sobre un material del mismo color, así que en base a ello son las comparaciones, como ser vera en la imagen del código.

LEDROJO, LEDAZUL, LEDVERDE representa las salidas al LED RGB según del diagrama presentado arriba que se alimentan del picaxe.

Page 21: Tetris Java,PCI 8255 Picaxe 18mi y RF

CODIGO DEL RECONOCEDOR DE COLOR

Page 22: Tetris Java,PCI 8255 Picaxe 18mi y RF

PROBLEMAS Y SOLUCIONES DEL USO DE COMPONENTES ELECTRONICOS

PROBLEMA 1

Uso de picaxe fuera de la quemadora.

A lo largo de la red solo se encontraban ejemplos del uso del picaxe pero usando la quemadora, pero eso no nos servía ya que lo teníamos que usar fuera de ella.

Solución:

Para lo anterior solo basta con colocar la alimentación al picaxe y colocar una resistencia de 1k a la entrada serial (serial in) del mismo.

PROBLEMA 2

Sin recibir aun una entrada para funcionar el picaxe empezaba a funcionar.

Esto se debe a que de alguna manera el picaxe recoge basura, y eso hace que funcione sin siquiera haber recibido una entrada para ejecutar una acción.

Solución:

Para esto se utilizo un integrado NOT que iban a las entradas del picaxe, este integrado se encarga de la basura en vía ceros a las entradas del picaxe para que este no haga nada hasta que reciba un voltaje es decir un uno.

PROBLEMA 3

La tarjeta PCI 8255 no nos reconocía las entradas del scanner de piezas que identificábamos a través de las fotoresistencias.

Esto se debía que en la tarjeta queda basura que hace que esta haga cosas que no tiene que hacer y eso dificultaba la lectura además de causaba que la computadora se atascase no quedaba otra opción más que reiniciarla.

Solución:

Para el caso de esta tarjeta también pasaba lo mismo, la basura que queda en ella después de su uso nos dificultaba el trabajo entonces e implemento la misma solución que la del picaxe dos integrados NOT nos ayudaron a mitigar este problema, enviando todas las salidas de las NOT como entradas a la PCI ahí nos asegurabas que recibiera bien las entradas, no recogiera basura y estas llegasen con el voltaje adecuado.