Página anterior Volver al principio del trabajoPágina siguiente 

Uso de la programación basic para detección y control a través del puerto de juegos en computadoras antiguas (página 2)

Enviado por Jorge Moreno

Partes: 1, 2


Valor de n

Devuelve el valor de la coordenada

0

Coordenada X palanca A

1

Coordenada Y palanca A

2

Coordenada X palanca B

3

Coordenada Y palanca B

Ejemplo tomemos este siguiente programa para ver como funciona en qbasic bajo Windows con partición FAT o ms-dos. (Es probable que para Windows xp o vista,deberá usarse un emulador de ms-dos.)

CLEAR

CLS

INICIO:

t$ = UCASE$(INKEY$)

IF t$ = CHR$(27) THEN GOTO fin

CLS

x = STICK(0)

y= STICK(1)

LOCATE 1,1

PRINT x,y

GOTO INICIO

fin :

End

Con el joystick conectado,podemos observar que la pantalla marcará valores enteros comprendidos entre 0 y 255 los cuales podemos tomar como referencia de un valor alto o bajo.Para salir del ciclo infinito,pulsamos la tecla ESCAPE.

Ahora queremos observar gráficamente que está pasando con la señal que está entrando a la computadora;necesitamos agregar un CONTADOR al código anterior este puede ser muy pequeño o muy grande, dependiendo de lo que se quiera hacer aquí.observemos que donde conectemos el cable y su correspondiente patilla dependerá que instrucción (stick (0) ,stick (1) ,stick(2),stick(3) ) dependerá la presentación en la pantalla.

CLEAR

CLS

SCREEN 12

Contador =0

INICIO:

t$ = UCASE$(INKEY$)

IF t$ = CHR$(27) THEN GOTO Fin

CLS

Rem puede ser STICK(1) o STICK(2) o STICK (3)

Rem observar el numero de los pines

x = STICK(0)

rem inicializa gráfica cuando se alance la cordenada x=640

if contador =640 then

contador=0

cls

end if

contador =contador+1

LOCATE 1,1

PRINT contador,x

LINE -(contador,x),12

GOTO INICIO

Fin:

End

Ahora vamos a mostrar un código más elaborado en qbasic donde solamente se representen en coordenadas rectangulares en una resolución de 640x480.también es posible hacer el cambio a coordenadas polares ,representación circular, gráfico espectral .todas estas representaciones se encuentran detalladas en los libros de estadística y matemáticas de nivel superior para su respectiva consulta.

Con respecto a la parte de programación gráfica es que la información que llegue del dispositivo se puede grabar a un archivo secuencial en forma de par de coordenadas X e Y y luego procesarse en EXCEL .Todo dependerá de la habilidad, lógica e imaginación del programador.

Se conectaron de los cables de la siguiente manera:

1º) patilla nº 3 (Posición X del Joystick A) cuya entrada es de voltaje positivo (+)

2º) cable negativo a la patilla nº 4 (GND) Tierra.

Siempre se debe tener en cuenta el voltaje de salida del circuito a la computadora para no causar daños a esta.

LISTADO DEL PROGRAMA:

REM programa experimental de deteccion

REM de usando el puerto del

REM Joystick.

CLS

LOCATE 1, 10: PRINT ******************************************"

LOCATE 2, 10: PRINT "* PROGRAMA DETECTOR -1.01 *"

LOCATE 3, 10: PRINT *******************************************

LOCATE 4, 10: PRINT "* Este programa es para conectar cualquier salida de un **

LOCATE 5, 10: PRINT "* circuito electronico o electrico a traves del puerto de *"

LOCATE 6, 10: PRINT "* joystick. *"

LOCATE 7, 10: PRINT "* Su uso es para fines didacticos.corre desde un 386 en *"

LOCATE 8, 10: PRINT "* adelante,aunque es preferible un pentium,ya que es mas *"

LOCATE 9, 10: PRINT "* sensible. *"

LOCATE 10, 10: PRINT "***********************************************************"

LOCATE 11, 10: PRINT "* Realizado por el profesor Jorge Moreno.Caracas,agosto 2009 *"

LOCATE 12, 10: PRINT "* 2009.E-MAIL: JORGE2006JULIO[arroba]CANTV.NET *"

LOCATE 13, 10: PRINT ******************************************"

FOR i = 1 TO 40000: NEXT i

e3:

CLS

CLEAR

SCREEN 12

REM Rutina principal que usa puerto de juegos para que sirva

REM para distintos experimentos.

c1 = 0

c4 = 0

e2:

LOCATE 1, 1: PRINT "****SELECCION DEL TAMAÑO DE LA VENTANA***********

LOCATE 3, 1: PRINT " 1- Grafica Lineal en ventana Normal (640 x 480)"

LOCATE 4, 1: PRINT " 2- Grafica lineal en otra ventana ( X x Y ) "

LOCATE 5, 1: PRINT " 3- Grafica circular "

LOCATE 6, 1: PRINT " 4- Grafica Espectral "

LOCATE 7, 1: PRINT " 5- Grafica Espectral - II "

LOCATE 8, 1: PRINT " 6- Grafica Espectral - III "

LOCATE 9, 1: PRINT " 7- Grafico en cordenadas polares. "

LOCATE 10, 1: PRINT " - Finalizar el programa"

LOCATE 11, 1: PRINT "************************************************

LOCATE 12, 1: PRINT "Seleccione opcion :"

t$ = INKEY$

IF t$ = "1" THEN

u = 640: v = 480

CLS

Rem se manda directo a graficar sin subrutina

Goto e4

 

END IF

IF t$ = "2" THEN

Gosub graficaventanaxy

END IF

IF t$ = "3" THEN

Gosub graficacircular

END IF

IF t$ = "4" THEN

Gosub graficaespectral

END IF

IF t$ = "5" THEN

Gosub graficaespectral2

END IF

IF t$ = "6" THEN

Gosub graficaespectral3

END IF

IF t$ = "7" THEN

Gosub graficapolar

END IF

IF t$ = CHR$(27) THEN

GOTO fin

END IF

GOTO e2

e4:

Rem contador c=0

c = 0

WINDOW (0, 0)-(u, v)

e1:

LOCATE 1, 1: PRINT "**DETECCION EN PROGRESO ***********************";

LOCATE 2, 1: PRINT "R: Reinicializa pantalla grafica"

LOCATE 3, 1: PRINT "M: Si se quiere volver al menu inicial"

LOCATE 4, 1: PRINT ": Abortar en cualquier momento."

t$ = UCASE$(INKEY$)

IF t$ = CHR$(27) THEN GOTO fin

IF t$ = "R" THEN

CLS

c = 0

END IF

x = STICK(0)

rem contador incrementado en 0,01 en este caso.puede variarse

rem según lo que se quiera hacer con el circuito y su funcion

c = c + .01

rem inicializa la pantalla nuevamente al llegar a 640

IF c >= u THEN

CLS

c = 0

END IF

Rem trazado del grafico generado

Rem c,x

LINE -(c, x), 12

LOCATE 10, 1: PRINT "Posici¢n :"; x

LOCATE 11, 1: PRINT "Tiempo:";

LOCATE 11, 10: PRINT USING "###.##"; c

IF t$ = "M" THEN

GOTO e3

END IF

GOTO e1

Rem subrutinas para los otros graficos

Rem no incluidad en este listado

Graficoventanaxy:

Return

Graficocircular:

Return

Graficoespectral2:

Return

Graficoespectral3:

Return

Graficapolar:

Return

fin:

CLS

LOCATE 10, 22: PRINT "FFFFFFFFFF IIIIII NNNNN NNN"

LOCATE 11, 22: PRINT "FFFF NNNNN NNN"

LOCATE 12, 22: PRINT "FFFF IIIIII NNNNNN NNN"

LOCATE 13, 22: PRINT "FFFFFFF IIIIII NNNNNNNNNNNN"

LOCATE 14, 22: PRINT "FFFF IIIIII NNNNN NNNNN"

LOCATE 15, 22: PRINT "FFFF IIIIII NNNNN NNN"

LOCATE 16, 22: PRINT "FFFF IIIIII NNNNN NNN"

LOCATE 23, 1:PRINT "Realizado por Profesor Jorge Moreno.Caracas,agosto 2009"

LOCATE 24, 1: PRINT "E-mail: jorge2006julio[arroba]hotmail.com"

FOR i = 1 TO 30000: NEXT i

END

Circuito electrónico de prueba

Vamos ahora a mostrar un circuito electrónico sencillo; en este caso un detector de luz sacado de una revista de electrónica cualquiera.

Monografias.com

Monografias.com

Materiales para conector del circuito al pc:

1-Conector db-15 macho + carcasa del conector.

2-Cable bicolor delgado (rojo-negro)

3-pulg. mono o pinzas caimán.

Monografias.com

Monografias.com

Circuito conectado.

Vamos a conectar al pc ahora que ya está realizado el programa en qbasic.En este caso se trata de un 386 de 4 mb de memoria ram y un disco duro de 100 mb y el sistema operativo ms-dos 6.22 aunque debe funcionar para versiones más antiguas de este sistema operativo y en Windows debe realizar pruebas correspondientes.En linux hay que encontrar el nombre del puerto de juegos y las instrucciones que lo activan en la carpeta /dev y entrar como administrador del sistema para realizar esta gestión.

Pantallas del programa

Monografias.com

Menú principal.

Monografias.com

Grafica línea a línea agrandada.

Monografias.com

Coordenadas polares.

Monografias.com

Gráfica circular.

Monografias.com

Gráfica espectral

Conclusiones

Es evidente que el reciclado de computadoras antiguas con el eficiente uso del lenguaje basic u otro lenguaje permite un nivel de experimentación y aplicación útiles en el área de electrónica u otras con pocos recursos y gastos mínimos.

Bibliografía

SOFTWARE:

1-Microsoft QBASIC.Manual en línea.

3-Microsoft Windows xp.Panel de control.

2-CableGui! Versión 1.04. NESTORY SYYNIMAA. (2000).

(Este es un excelente software en lo que a ubicación de nemónicos y conexiones se refiere.viene desde la época de windows 3.11 y evolucionó mucho,pero su autor no lo ha seguido actualizando.Si saben escribir y hablar finlandés ,correo electrónico es

Nestori[arroba]kauhava.fi)

 

 

 

 

Autor:

Jorge Moreno

Agosto 2009


Partes: 1, 2


 Página anterior Volver al principio del trabajoPágina siguiente 

Comentarios


Trabajos relacionados

Ver mas trabajos de Programacion

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.