Archivo por meses: mayo 2015

Placa controladora Puerto Paralelo

La Controladora Puerto Paralelo del ordenador es una tarjeta que dispone de 8 diodos LED conectados a la línea de datos del puerto paralelo.

Para hacer pruebas de control con el ordenador podemos fabricar una tarjeta controladora con muy pocos componentes. Con este pequeño circuito podremos encender y apagar diodos LED conectados a través del puerto paralelo del ordenador. Para tener acceso al puerto paralelo tenemos que usar Sistema Operativo Linux porque en los Windows superiores al XP es difícil.Componentes y esquema puerto paraleloNecesitaremos un cable de puerto paralelo, podemos utilizar un cable de las antiguas impresoras. Lo más rápido para hacer pruebas es cortar el cable paralelo y conectar en  los extremos de los cables unos diodos LED con una resistencia limitadora de 330 Ohmios como se ve en la figura:

El puerto paralelo del PC tiene tres registros de 8 bits, uno de salida en la dirección 0x378 (888 en decimal) conectado a los Pin 2 a 9, otro de entrada para recibir el estado de la impresora 0x379 (889 en decimal) conectado a los pines 10, 12, 13 y 15 y otro de control 0x37A (890 en decimal) para controlar la comunicación con la impresora conectado a los pines 1, 14, 16 y 17.Pines y registros del puerto paralelo

Para activar señales fuera del ordenador tendremos que enviar los datos a la dirección 0x378 en hexadecimal, (888 en decimal). Los pines (bits) de salida corresponden al bus de datos no se pueden escribir de forma independiente. Cada vez que queramos modificar un bit hay que escribir el registro (8bits) completo.

Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la dirección hexadecimal 0x379 (889 en decimal. La lectura será devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15.

En mi caso voy a utilizar una placa que dispone de 8 diodos LED y 4 pulsadores, para poder hacer pruebas.

Placa de pruebas puerto paralelo

 

Control puerto paralelo Gambas

Control puerto paralelo Gambas: Es un programa para encender y apagar los 8 LEDs conectados al registro de datos del puerto paralelo.

Para utilizar la placa de control del puerto paralelo que presenté en Controladora Puerto Paralelo voy a utilizar Gambas 3. Este programa permite encender y apagar diodos LED conectados a través de la controladora del puerto paralelo del ordenador.Programa Control Puerto ParaleloVoy a utilizar un control básico con dos botones, uno “ON” que activa el diodo LED y otro “OFF” que apaga el LED. Este control básico lo voy a repetir hasta poder controlar los 8 bits de la tarjeta controladora.

Tengo que situar una serie de controles, dos botones, una etiqueta  Label1 y una imagen PictureBox1. Voy a necesitar dos imágenes una de un LED apagado “LEDOFF1.png” y otra de un LED encendido “LEDON1.png“. Las recorto con un programa de dibujo y las guardo en la carpeta del proyecto. Controles básicos para un bitA los botones les voy a cambiar los nombre y el aspecto. Selecciono cada elemento y en el menú de propiedades cambio los siguientes elementos.

  • En el Button1 cambio,  name= BotonOnD0, Text= ON.
  • En el Button2 cambio,  name= BotonOffD0, Text= OFF.
  • A la etiqueta Label1 le cambio, name= LabelD0, Font= Abyssinica SIL,+5, Text= D0
  • A la imagen PictureBox1 (1) le cambio la propiedad “Picture” (2) escojo la imagen del diodo apagado. (3) “LEDOFF1.png

Elegir imagen para diodo LEDUna vez preparados los botones y la imagen inicial del diodo D0, pulso dos veces en cada botón e introduzco las siguientes instrucciones para que cambie la imagen al pulsar. Codigo_cambiar_ImagenPuedo probar ya el programa para el primer diodo. Una vez probado el funcionamiento, selecciono y copio los dos pulsadores, la etiqueta y la caja de imagen, las copio siete veces más hasta tener 8 diodos y 16 botones.

Ahora llega el momento de escribir los códigos para acceder al puerto paralelo. Para hacer esto debemos ejecutar Gambas 3 como superusuario.

Abrimos un terminal y escribimos: sudo Gambas3 e introducimos la contraseña de administrador.Terminal ejecutar Gambas como SUEn el código del botón introducimos las órdenes:

Public Sub Button1_Click()
puerto = Open “/dev/port” For Write   ‘Abre el puerto paralelo como escritura
Seek #puerto, &H378   ‘Asigna H378 que es la Direccion del registro de datos del puerto paralelo del ordenador a la variable PuertoParalelo
dato = &HFF  ‘Todo 1 en binario 11111111=255 en decimal
Write #puerto, dato    ‘Escribe el dato (255) en la direccion del puerto paralelo
Close puerto
End

 

Para acceder al puerto paralelo del PC vamos a escribir en el registro de salida dirección &H378 (888 en decimal) conectado a los Pin 2 a 9. Los pines (bits) de salida corresponden al bus de datos no se pueden escribir de forma independiente. Cada vez que queramos modificar un bit hay que escribir el registro (8bits) completo.

El pin 2 del puerto estará conectado al dato D0 de nuestro programa BotonOnD0 y el  pin 9 conectado al dato D7 BotonOnD7.

Para Pines y registros del puerto paralelo

En mi caso voy a utilizar una placa que dispone de 8 diodos LED y 4 pulsadores, para poder hacer pruebas.

Placa de pruebas puerto paralelo

Mi primer programa en Gambas.

Mi primer programa en Gambas 3: un “Hola mundo”. Es un programa gráfico sencillo para mostrar lo fácil que es hacer una aplicación en Gambas. Este programa utiliza botones y etiquetas para mostrar mensajes.Hola Mundo: Aspecto  final

El funcionamiento del programa será: Al ejecutar el programa muestra los botones con el mensaje “Púlsame”. Al pulsar este botón Nos mostrará un mensaje que será “Hola Mundo”. Al pulsar el Botón “Salir” muestra un mensaje de despedida y se cierra el programa.

Comenzamos abriendo Gambas (2) que suele estar en la pestaña Desarrollo (1) . Creamos un nuevo proyecto (3), elegimos Aplicación gráfica (4).Inicio. Gambas. Nuevo proyecto. Aplicación gráfica.Elegimos la carpeta de trabajo y asignamos un nombre al proyecto (el nombre del proyecto no admite espacios ni caracteres especiales) y un título a la aplicación que vamos a hacer (en este si podemos poner espacios y cualquier símbolo). En nuestro caso: “HolaMundo” y “Hola Mundo”Gambas: Pantalla de elegir directorio y nombre del proyectoAl pulsar el botón Aceptar, la aplicación muestra una serie de “consejos del día”. Cerramos y nos muestra la pantalla de proyecto: En ella se muestra la barra de menú, la barra de herramientas (de archivos como: nuevo proyecto, abrir, guardar, etc. y también de depuración como:  Hacer ejecutable, Compilar, Ejecutar, pausar, etc.) y el árbol de directorios del proyecto donde se muestra un Formulario FMain ya creado.Pantalla del proyecto

Pulsamos dos veces en el formulario y abrimos el aspecto visual del formulario.Formulario principalPara empezar vamos a incluir una etiqueta Label y dos botones Button1 y Button2. Seleccionamos en la caja de herramientas y dibujamos estos elementos en el formulario.Gambas Formulario para Hola mundoPara hacer una programación más clara y un mejor seguimiento del código voy a cambiar el nombre de las etiqueta y de los botones.

Selecciono la etiqueta Label1, en la ventana de propiedades en la opción “Name”  cambio por “LabelMensaje”. También cambiamos la alineación “Alignment -> Center” y la fuente de la letra, pongo una fuente de mayor tamaño. “Font -> +8 SansSerif”.

Gambas: Modificar propiedades de etiquetaModifico el nombre de los botones y el texto que muestran los botones. Selecciono el primer botón y en la ventana de propiedades cambio el nombre del botón “Name” por “ButtonPulsame” y en la propiedadText” por “Púlsame”.Gambas: cambiar nombre y texto a un botón

Realizo los mismos pasos para el segundo botón “Button2″. los valores serán “Name” por “ButtonSalir” y en la propiedadText” por “Salir”.

Ya tenemos preparado el formulario gráfico. Ahora voy a introducir las instrucciones para que realice la función que quiero. Pulsando dos veces sobre el botón “Púlsame” nos lleva a la ventana de código.

Escribo la instrucción: LabelMensaje.Text = “Hola Mundo”

Esta instrucción escribe en el campo Text del LabelMensaje el mensaje que está entre comillas, en mi caso “Hola mundo”.

Gambas: Ventana para introducir instruccionesYa está preparado el programa para probarlo. Pulsamos el icono de ejecutar programa y muestra una ventana como la siguiente. Al pulsar el botón “Púlsame” Cambiará el LabelMensaje por un nuevo mensaje.Ejecutar el programa por primera vezVoy a añadir una función al botón salir: El botón salir va a producir un mensaje de despedida, “Adiós este es mi primer programa“, esto lo consigo con la orden Message.Info((“_”)).

Message.Info((“Adios este es mi primer programa”))

Además tiene que parar la ejecución del programa. Para esto escribimos la orden “QuitOrdenes para botón salirPara mejorar la compresión del programa vamos a escribir comentarios para explicar que hace cada orden. Los comentarios se escriben después de un apóstrofe (‘) todo lo que se escribe detrás del apóstrofe el compilador no lo tiene en cuenta.Código para el programa Hola Mundo

Los comentarios son muy útiles para que otras personas entiendan nuestro código y para recordar lo que hemos hecho cuando revisamos nuestros programas.

Tarjetas controladoras para el ordenador

Las tarjetas controladoras las utilizamos para controlar procesos con un ordenador PC, necesitamos una tarjeta que conecte los programas del ordenador con el mundo exterior.

Sistema control con ordenador, tarjeta controladora.

Con estas tarjetas controladoras podemos activar dispositivos eléctricos fuera del ordenador de manera que podemos encender un diodo LED, o una lámpara, pero también un motor, una resistencia calefactora o un electroimán. También podemos recibir datos del exterior, por ejemplo detectaremos que se ha activado un pulsador o un interruptor, también podemos medir la temperatura o la luminosidad con sensores como LDR’s o PTC’s.

En el mercado hay muchos tipos de tarjetas controladoras. Algunas son muy sencillas, fáciles y baratas de construir por ejemplo la que voy a desarrollar en: Tarjeta controladora sencilla, que sólo puede encender 8 LED y que tiene 4 pulsadores para activar procesos en el ordenador. Hay otras con fines didácticos por ejemplo la tarjeta REESS o la tarjeta CNICE, que mejoran respecto a la que yo presento aquí en que tienen relés y circuitos integrados para controlarlos, que permiten activar cualquier elemento eléctrico.Tarjetas controladoras con el puerto paralelo: REESS y CNICETambién hay tarjetas comerciales, como las INVESTRONICA, tarjeta ENCONOR plus o la LPT-999E de DIDATEC.Tarjetas controladoras INVESTRÓNICA, ENCONOR y DIDATECOtras controladoras no se conectan al puerto paralelo, son más modernas y ya pueden conectarse al puerto USB. Algunos ejemplos serían: Controladora Fischertechnik ROBOTICS TXT y las controladoras LEGO mindstorms. También hay opciones OpenSource, como usar un ARDUINO o una raspberry pi.

Lego mindstorms y Fischer-TechnikTambién hay opciones Open Source y Open Hardware, como usar un ARDUINO o una Raspberry-Pi como elemento de control conectado al PC por el puerto USB, o por WIFI.Controladoras ARDUINO-UNO y Raspberry-Pi

 

 

 

Gambas programación sencilla.

Gambas es un lenguaje de programación visual basado en BASIC y muy parecido a VisualBasic, pero de distribución libre (con licencia GNU GPL).

Gambas. lenguaje de programación parecido a Basic

Permite crear de forma sencilla formularios con botones de comandos, cuadros de texto y muchos otros controles y enlazarlos a bases de datos, etc.

Se puede descargar para cualquier distribución del sistema operativo Linux desde la página oficial http://gambas.sourceforge.net/en/main.html o desde el propio centro de software de Linux.

Este lenguaje de programación nos va a permitir crear pequeñas aplicaciones para manejar nuestros proyectos de  control con el ordenador en 4º de la ESO y Bachillerato.

Programa de inicio.

Para empezar vamos a ver como se inicia un proyecto en Gambas3 y los elementos del entorno de programación gráfica IDE.

Al iniciar el programa Gambas 3, nos muestra una pantalla como la siguiente.

Cuando pulsamos en “Nuevo proyecto”

Tenemos que elegir el tipo de proyecto. Nosotros elegiremos: “Aplicación gráfica”, como muestra la figura. Pulsamos Siguiente.

Gambas: Pantalla de inicioNos abre la segunda ventana en la que elegimos el directorio donde guardamos el proyecto y en la tercera ventana introducimos el nombre del proyecto y el título.

Gambas: Pantalla de elegir directorio y nombre del proyectoCuando pulsamos “OK”, aparece una ventana indicando que el proyecto se ha creado con éxito. Al pulsar “Aceptar” nos lleva a la pantalla principal del proyecto. También nos muestra una serie de consejos que podremos leer o no.

Pantalla del proyectoSe puede ver la barra de herramientas de programación desde donde se puede guardar el proyecto, hacer un archivo ejecutable. Compilar el código, ejecutar y depurar, pausando o parando el programa.

En la parte izquierda está el árbol de carpetas del proyecto en él destaca el fichero FMain que es el formulario principal. Hacemos doble clic en ese icono y pasamos a la pantalla de formularios.Formulario principalEn el centro está el formulario, este es el aspecto que tendrá el programa que estamos haciendo. Se puede cambiar el tamaño, color, textos, etc. de todo el formulario en la zona de propiedades.

La caja de herramientas nos muestra los elementos gráficos que podemos arrastrar al formulario. Podemos insertar etiquetas “Label”, botones “Button”, ventanas para insertar o mostrar texto “TextBox”, imágenes “PictureBox”, etc.

Cuando insertamos un elemento como un botón o una etiqueta, podemos indicar cual va a ser su función haciendo doble clic sobre él.

Se abrirá una ventana como la siguiente:

Gambas zona programaciónEn esta ventana se ven los códigos que indican los objetos del programa y en ellos podemos escribir el código que define lo que hará el programa.

Un ejemplo lo mostraré en el siguiente artículo: Mi primer programa en Gambas 3.

http://www.misproyectosdetecnologia.com/mi-primer-programa-en-gambas/