I.E.S. Francisco Romero Vargas
    Jerez de la Frontera (Cádiz)           Tlf.: 671 530 256 /7 /8  -  956 70 99 17                    
 
Desde 2007
   
Visitas:
Estadísticas
Zona restringida:
Código Profesor:
Clave SGD:

 

 

Control de un dispositivo conectado al Puerto paralelo del ordenador mediante los datos de la estación meteorológica

Control de un dispositivo conectado al Puerto paralelo del ordenador mediante los datos de la estación meteorológica

Información relacionada:
0.- Los datos de nuestra estación meteorológica.
1.- Estación meteorológica.

2.- Instalación del servidor web Apache
3.- Vinculación de datos de la estación meteorológica a una página web. Cumulus.
4.- Creación de un temporizador para subir los archivos automáticamente mediante FTP.
5.- Realización de un programa personalizado basado en el Cumulus. Visual Basic.
6.- Realización de un programa personalizado con el AutoIt.
7.- Cambiar la apariencia de Cumulus, EasyWeather,... con Reshacker. Traducción al español .
8.-
Control de un dispositivo conectado al Puerto paralelo del ordenador mediante los datos de la estación meteorológica
8B.- Controlar un dispositivo externo mediante la estación meteorológica y Arduino. (NUEVO)
9.- La estación en UBUNTU - LINUX.
10.-
Construcción de un reloj analemático
11.- Nos damos de alta en AWEKAS, red internacional de estaciones meteorológicas.
12.- Nos damos de alta en Weather Underground, red internacional de estaciones meteorológicas.
13.- Nos damos de alta en Personal Weather Stations, red internacional de estaciones meteorológicas.
14.- Utilización del archivo realtime.txt y PHP para crear una página web personalizada.
15.- Configuración de la Cámara web

16.- ¡¡¡Se me apaga el ordenadorrrr!!!
17.- Formulario y programación en AutoIt
18.- Capturas automáticas de mapas meteorológicos de una página web

_________________________________________________

Cómo encender una lámpara cuando la temperatura u otro dato, supera un determinado valor.

Útil con varios programas meteorológicos.


La estación meteorológica manda los datos a la estación base que está conectada al ordenador y que se pueden visualizar mediante un programa (Cumulus, EasyWeather,...), éste programa guarda los datos obtenidos en un archivo (realtime.txt, EasyWeather.dat, ...)
Un programa (basado en Visual Basic, Autoit,...) toma esos datos y según sus valores envía una señal al puerto pararelo del ordenador.
En el puerto paralelo del ordenador hemos conectado un circuito (realizado por nosotros) que cuando reciben los datos enciende una lámpara, emite una señal sonora, cierra un relé,...

_________________________________________________

Para realizar este montaje hace falta un soldador eléctrico, estaño, una placa de baquelita, ácidos fáciles de comprar en una farmacia y componentes electrónicos que se pueden comprar en una tienda local o por Internet.

_________________________________________________

Cuando la temperatura exterior sea de 30 grados se encenderá una lamparita (diodo LED)

Lo primero que vamos hacer es construir el circuito, cuando ya lo tengamos realizaremos un programa para controlarlo.

Vamos a necesitar:

- Un conector para el puerto paralelo (25 pines, macho), lo pueden encontrar en tiendas de electrónica y suele valer 1 o 2 euros.

- Cable de 9 hilos, en fin... si no lo encuentras te puede valer un cable de 8 hilos de esos que se utilizan para conectar el ordenador a red mediante el conector RJ45, lo puedes encontrar en cualquier tienda de productos baratos.
(También te puede valer el cable VGA de un monitor viejo de ordenador).
(En el caso de que utilices un cable RJ45, podrás controlar 7 dispositivos, ya que uno de los cables es necesario para la masa)
(Algunos cables RJ45 tienen, además de los 8 hilos, un alambre para darle solidez, se puede utilizar este alambre como un cable más)


- Una placa de baquelita o de fibra de vidrio para hacer circuitos.
- Agua fuerte de esa que se utiliza para limpiar los baños (CLH, Ácido Clorhídrico, Salfumant,...) vale menos de 1 euro lo puedes encontrar en cualquier tienda de productos baratos.
- Agua Oxigenada de alta concentración, 110 Volúmenes (lo puedes encontrar en farmacias). No vale el agua oxigenada de botiquín para limpiar heridas.

Debes tener cuidado de no tocar estos productos tóxicos con las manos.


Detalle del recipiente de agua oxigenada o peróxido de hidrógeno. 110 vols, 30 % p/v
Es un producto muy corrosivo, no se debe tocar.
Este producto se puede encontrar en ferreterías y farmacias.
¡¡¡No confundir con el agua oxigenada para limpiar heridas!!!

Botes de agua oxigenada y agua fuerte.

Componentes del circuito:

- 8 diodos LED
- 8 resistencias de 330 ohmios.

_________________________________________________

El Circuito.

1.- Tomamos el conector del puerto paralelo y unimos los pines 18, 19, 20, 21, 22, 23, 24 y 25 y le soldamos un cable.
Luego le soldamos los otros cables a los pines 2, 3, 4, 5, 6, 7, 8 y 9
(Nota: si estás utilizando un cable de red que solo tiene 8 cablecitos, entonces suéldalos al 2, 3, 4, 5, 6, 7, 8 y el de masa)

 


 

- Vamos con la placa de baquelita o de fibra de vídrio.

Tomamos un rotulador Edding permanente, si no lo tienes puedes utilizar cinda adhesiva, y realizamos el siguiente dibujo en la cara de cobre.


Lado del cobre. 9 cm x 4 cm

Una vez dibujado, lo vamos a echar al ácido. Para ello tomamos un pequeño recipiente de plástico y echamos 1/3 de agua oxigenada, 1/3 de agua fuerte y 1/3 de agua del grifo. Lo suficiente para que cubra la plaquita (unos 3 mm de altura de líquido).
Ponemos dentro la plaquita del circuito con el dibujo hacia arriba y movemos el recipiente un poco hasta que se derrita la parte no cubierta del cobre, puede tardar alrededor de un minuto.

Una vez sacada la plaquita, le quitamos el dibujo del rotulador o la cinta adhesiva y la limpiamos bien para que quede brillante.

Ahora soldamos los diodos LED y las resistencias como muestro en la foto. Debes recordar que los diodos LED se deben soldar respetando la polaridad, es decir si lo pones al revés no funcionará.

Ya solo nos queda soldar el extremo del cable del puerto paralelo al lugar correspondiente de la plaquita.

_________________________________________________

El Programa. (Ver final de la página para utilizarlo con otras aplicaciones meteorológicas)

2.- Vamos a realizar el programa que encenderá el diodo LED 1 cuando la temperatura exterior sea de 30 grados o mayor.

Lo podríamos hacer con Visual Basic o con AutoIt, en esta ocasión lo vamos hacer con AutoIt

- Bajamos el AutoIt3 y lo instalamos en C:\Archivos de programa\AutoIt3
- También bajamos el archivo inpout32.dll y lo copiamos en la carpeta donde está el AutoIt3 (C:\Archivos de programa\AutoIt3)
(Este archivo es necesario para comunicarse con el puerto paralelo)

Desde aquí puedes bajar el código fuente puertoparalelo.au3

En el programa podemos establecer (en los casilleros) un valor tope, cuando el correspondiente dato de la estación (a través del realtime.txt) sea mayor que el del casillero, se enviará un nivel alto a uno de los terminales del puerto paralelo. Este terminal estará conectado a un diodo LED que se encenderá.

El programa está preparado para temperatura, presión, tiempo y humedad. Pero hemos puesto 4 lugares más para poder ampliarlo.

Para probar el programita no es necesario hacer el circuito, ya que hemos puestos unos cuadraditos rojo/verde que cambiarán según el dato leído. (Para probarlo escribe, por ejemplo -10 en donde pone introduce los niveles de alarma)

Aquí lo tenemos compilado puertoparalelo.exe
Debes bajar también el archivo inpout32.dll y ponerlo en la misma carpeta que esté el puertoparalelo.exe.
(Para probarlo escribe, por ejemplo -10 en donde pone: introduce los niveles de alarma)

El programa está autocomentado y está realizado de forma didáctica, para que pueda ser entendido y modificado con facilidad.
Detecta los valores máximos, se podría ampliar fácilmente para que también detectara los valores mínmos.
(Cambiando esto: If Number($tabla[23]) > $temp Then por esto: If Number($tabla[23]) < $temp Then).

En este caso hemos realizado el programa para el realtime.txt del Cumulus, pero fácilmente podemos adaptarlo a otros archivos de datos meteorológicos que creen otros programas.

Para que funcione el programa, no olvides que el archivo inpout32.dll debe estar en el mismo directorio que el puertoparalelo.au3

Cuando utilices el Autoit verás lo latoso que resulta poner los controles (botones, casilleros, etiquetas...) porque lo tienes que colocar indicando sus coordenadas. Hay una aplicación llamada KODA para facilitar la inserción de controles, la puedes bajar de...

http://www.autoitscript.com/fileman/users/lookfar/formdesign.html

_________________________________________________

En vez de encender un diodo LED, que se ilumine una lámpara de potencia

En esta ocasión en vez de iluminar diodos LED, vamos a utilizar un circuito que pueda alimentar a relés. Los contactos asociados de los relés pueden controlar cargas de potencias. Por ejemplo, iluminar con una lámpara alimentada con 230 V.

Nosotros lo hemos probado con estos relés, es decir, en vez de poner los LED ponemos los relés, de tal manera que podemos controlar 220/250 5A en la salida de los relés para poder alimentar a un circuito de potencia como una lámpara.

Lo hemos comprado por Internet en esta tienda... relés de 5V por unos 2,5 € cada uno (consulta otras tiendas y otros precios).
(Si te empieza a gustar la electrónica te aconsejamos que además compres el Ardunio, es un microcontrolador de aprendizaje con el que puedes hacer muchos montajes personalizados, vale unos 25 €, en principio no tiene nada que ver con la meteorología, pero puedes hacer unos circuitos muy potentes con él)


Relé de 5 VDC

Hemos probado el circuito utilizando directamente los relés de 5 VDC (en vez de los LED) y hemos comprobado que la salida del puerto paralelo no es suficiente para activarlos.


El puerto paralelo del ordenador que estamos utilizando no tiene suficiente nivel para activar los relés directamente.

Hemos realizado un circuito utilizando solamente las cuatro primeras salidas, mediante reles de 5 VDC. La señal de salida llega a los dos terminales de la bobina del relé, y las tres salidas del relé van a fichas de empalme (cables verde, rojo y blanco)
Cada relé lleve un diodo de protección en parelelo con la bobina. Pero... no se activaban los relés.


Cara del cobre.

... así que debemos poner un circuito integrado BUFFER para darle mayor nivel de señal al relé.
Para ello compramos el circuito integrado ULN2803A y lo conectamos como en la figura de abajo.
En este caso necesitamos una alimentacion extra exterior de 5 VDC.

- Al utilizar relés de 5 VDC, podemos tomar la alimentación +Vcc de 5 V de un conector USB del ordenador, o incluso abriendo el ordenador de una toma de 5 V de su fuente de alimentación.

____________________________________

 


Relé de 12 VDC

Aquí ponemos otros circuitos basados en relés, tiristores, optoacopladores,... en algunos casos es necesario una alimentación externa de 12 V.

El circuito integrado ULN2803 puede alimentar hasta 8 relés. En este caso necesitamos una fuente de alimentación externa de 12 Vcc.
Con relés de 5V pode mos utilizar como fuente de alimentación un cable USB conectado a nuestro ordenador.

En vez de relés puedes utilizar optoacopladores y triacs... En este caso la tensión de 220 V se utiliza para alimentar al montaje y no es preciso la fuente de alimentación de 12 Vcc que comenté en el dibujo anterior.

http://www.epanorama.net/circuits/parallel_output.html


Circuito, basado en un optoacoplador, para la salida y entrada de datos al puerto paralelo.
El puerto paralelo tiene 8 + 4 salidas y 5 entradas.

 

Otros circuitos

_________________________________________________

El Programa para otras aplicaciones como el EasyWeather.

El estudio anterior ha sido realizado para el archivo realtime.txt del programa Cumulus. Este archivo solo contiene una línea con los datos meteorológicos actuales.

Nos podemos encontrar con otros programas como el EasyWeather, por ejemplo, que crea un archivo llamado EasyWeather.dat, en donde se encuentran muchas líneas con los distintos datos recogidos en distintos momentos. En este caso nos interesa coger solamente la última línea que es donde se encuentra los datos meteorológicos actuales.

Para ello debemos modificar el código visto anteriormente, cambiar estas líneas...

While 1

; Toma el contenido del archivo EasyWeather.dat y lo pone en la variable $archivo
; y luego en $linea.
$x = 1
$dato = ""
$archivo = FileOpen("C:\Archivos de programa\EasyWeather\EasyWeather.dat", 0)
$linea = FileReadLine($archivo)

; Coge la última línea del archivo
While 1
$ultima_linea=$linea
$linea = FileReadLine($archivo)
If @error = -1 Then ExitLoop
Wend
FileClose($archivo)

; Separa el conjunto de datos del archivo EasyWeather.dat en datos individuales
; y los guarda en la $tabla.
For $n = 1 to StringLen($ultima_linea)
$caracter = StringMid($ultima_linea, $n, 1)
$dato = $dato & $caracter
If $caracter = "," Then ; Ponemos el carácter separador de campos
$tabla[$x] = $dato
$x = $x + 1
$dato = ""
EndIf
Next

Otros programas meteorológicos tendrán un archivo similiar en donde se encuentre el histórico de datos.

También debemos tener en cuenta, qué número de dato queremos consultar, es decir, en cada celda de la $tabla se encuentra un dato: temperatura, humedad, presión,... debemos relacionar el dato que queremos consultar con el índice con el que está guardado en la tabla. Por ejemplo, la temperatura en el EasyWeather.dat es el 6º dato, luego en la tabla estará en $tabla[6].

Aquí ponemos el programa para el EasyWeather: puertoparaleloEW.au3

************************************************************************************************

También se puede controlar el Puerto Parelelo del ordenador mediante JAVA

- En lenguaje C

 

 

 


IES Fco. Romero Vargas
Avda. Moreno Mendoza, s/n - 11408 Jerez de la Frontera (Cádiz) -
Tlf.: 671 530 256 /7 /8  -  956 70 99 17
  email: 11007922.edu@juntadeandalucia.es
Las informaciones ofrecidas por este medio tienen exclusivamente carácter ilustrativo, y no originarán derechos ni expectativas de derechos.
(Decreto 204/95, artículo 4; BOJA 136 de 26 de Octubre)