Manejo de señales en los sistemas automatizados

Fernando Galindo Soria

Tenayuca, Ciudad de México a 8 de Abril del 2015

http://www.fgalindosoria.org/

 

Se muestra como los sistemas automatizados pueden manejar señales de múltiples manera, por ejemplo un sonido se puede ver como un color o como un carácter, lo mismo un carácter se puede tratar como color o sonido, literalmente las maquinas solo manejan números, pero nosotros le asociamos dispositivos (sensores y actuadores) que permiten detectar o manejar o interpretar esos números como queramos.

 

Por ejemplo es relativamente fácil construir un teclado, donde, cuando se oprime la tecla A el teclado envía una señal por 8 cables (o por 12 o por 3 o por 17, todo esto son convenciones) donde va el número en binario que representa la letra A, esa cadena de bits entra a los sistemas automatizados por un circuito conocido como puerto de la maquina (por ejemplo, la entrada USB es un puerto, la entrada de Internet es otro puerto, pero aunque poca gente lo sabe y en general no es fácil tener acceso a ellos, los sistemas automatizados tienen muchos puertos, que, el que sabe como, puede usar para muchas cosas, por ejemplo, el teclado que usamos esta conectado con los sistemas automatizados mediante un puerto).

 

Asi como se conecta el teclado, se le pueden conectar pantallas, micrófonos, sensores de olores o muchos otros dispositivos, que tengan la circuiteria adecuada para transformar por ejemplo un olor en una cadena de números o un número en un color (o sea quien realiza la conversión es el Hardware de los dispositivos), entonces cuando en los programas le decimos a la maquina que imprima (print) como carácter (%c) le estamos diciendo al dispositivo  de la pantalla que lo visualice como una letra, pero si le decimos que lo imprima como un número (%n) estamos llamando a un programa o circuito (se llaman drive) que toma el número binario, lo transforma a decimal y le ordena a la pantalla que imprima el número decimal que se genero), si tomamos el número y le ordenamos que lo emita como sonido (sound) el sistema hace que el dispositivo de sonido de los sistemas automatizados tome ese número y mediante su hardware emita el sonido (frecuencia) al que corresponde ese número. Como puede verse realmente todos son acuerdos a los que hemos llegado sobre la equivalencia entre los números y como los interpretamos para poder comunicar la sistemas automatizados con nuestro entorno.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Anexo varios programas (la mayoría son de principios de los 70 y las versiones que anexo están en BorlandC de los 90), con ejemplos donde un número lo podemos asociar con la pantalla como un carácter o como un número o como un color o como un sonido.

Los ejemplos están escritos en Borland C que es un compilador de C que ya no se usa, pero los anexo porque, en programación lo mas importante es el algoritmo (la secuencia de pasos que permite resolver un problema) y no tanto el lenguaje de programación, ya que si se tiene el algoritmo es relativamente fácil escribirlo en un lenguaje especifico (por eso en muchos libros solo ponen los algoritmos y no se preocupan del lenguaje).

 

Los programas que anexo son introductorios, pero tienen algo de código de apoyo, por lo que recomiendo que lo ignoren y te centren en el algoritmo que es lo que importa. De todos modos si no entiendeb algunos de los programas o no pueden escribirlos en algun lenguaje, no es muy relevante, lo importante es que entiendan la idea general y en su caso que realicen sus propios programas.

 

 

Anexos

 

Programas

 

Inicio Caracteres

Manejo de Archivos

Manejo de Sonidos

Manejo de Imágenes

 

Notas

1)      En general las rutinas incluidas terminan su ejecución oprimiendo la tecla de <Esc>

 

2)      Para entender los programas se recomienda el documento que está en Estructura_de_un_Programa

 

3)      Los programas corren en PC 486 en adelante, se desarrollaron en los años 80 / 90 y requieren TurboC, BorlandC o Java, aunque muchos de estos programas ya no corren en las maquinas actuales directamente, se proporcionan con el fin de que la gente vea su código y en su caso tome la idea para desarrollar sus propios programas en los lenguajes de programación actuales, ya que como se comenta en el artículo Estructura General de un Programa una ventaja de estos programas es que su código es directo y no requiere de mucho código auxiliar, por lo que es fácil visualizar los algoritmos y escribirlos en otro tipo de lenguajes como Java, C Builder, C#, etc.

 

4)      *******Cuidado  cuidado cuidado cuidado cuidado *********

Si además quieren ejecutar, compilar y correr o modificar y hacer sus propios programas basados directamente en los que se incluyen, es importante tomar en cuenta que algunos de los programas incluidos manejan directamente puertos (dispositivos de entrada salida, como por ejemplo la instrucción outport) y tarjetas de la computadora, por lo que es muy importante tener mucho cuidado al usar y modificar estos programas. La programación directa de tarjetas como las tarjetas gráficas o de sonido y en general el manejo de puertos es peligroso y puede dañar los equipos, por lo que se recomienda usarlos con mucha precaución y de preferencia ver varias fuentes sobre el tema para estar seguros de lo que se hace.

Aunque los programas están probadas en varios equipos los autores no se hacen responsables por el uso de estos programas.

 

5)      Para correr los programas en las máquinas y sistemas operativos actuales es necesario usar un emulador de máquinas y sistemas anteriores, existen varios pero yo uso DOSBox, como el que se menciona en Como correr programas hechos para MS-DOS en Windows Vista, 7,.... usando DOSBox