'Option Explicit. Private Sub acerca_click() yacerca.show End Sub. Private Sub activar_click() Option1.Value = True End Sub

Documentos relacionados
Anexo H: Código de la Aplicación

Manual de Visual Basic Principiante Autor: Jorge Alvarez

Manual de Visual Basic Intermedio Autor: Jorge Alvarez

VISUAL BASIC Archivos en Visual Basic Proyectos Archivos

INGENIERIA EN MICROCONTROLADORES

ANEXOS. NODOS

INGENIERIA EN MICROCONTROLADORES. Protocolo RS-232. Introducción

Como hacer un troyano en Visual Basic 6.0

Fundamentos de Programación

Proyecto Fin de Carrera Desarrollo de un conjunto de módulos OCX en Visual Basic para un sistema de adquisición de datos vía USB

En esta sección se describen las variables, constantes, tipos de datos, operadores y estructuras de control

CREACION DE UN TROYANO EN VB 6.0 por BlackShadow. Como esta Constituido un Troyano?

Práctica 6. Validación de Datos II. Mas Controles.

Ejercicios Tema /03/2009

Sentencias DO-WHILE EN C++

Practica 10. Ordenamiento y Búsqueda.

Captura y gestión de errores. Instrucción on error. Objeto Err, Err.Number y Err.Description. Método clear en Visual Basic.

Tema: Manejo del Pue r t o Serie

PRACTICA Nº 8. String String String String String

Repaso Visual Basic Interfaz Gráfica

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

Manejo de Software para Microcomputadoras. Visual Basic para Aplicaciones en Excel

aprenderaprogramar.com Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

Utilizar los elementos básicos de la programación de interfaces gráficas de usuario para el diseño y desarrollo de programas de aplicación.

Algoritmos y Programación Clase 7

Ejemplos ejercicios resueltos Visual Basic. Arrays estáticos, uso de constantes vbyes, vbno y MsgBox. (CU00334A-1)

CAPITULO V CONSTRUCCION DEL SOFTWARE

Zeon PDF Driver Trial

4.1 DIAGRAMA DEL CIRCUITO DEL MODULO DE CONTROL:

Cómo acceder a bases de datos?

MANUAL DE MACROS EXCEL 2010

Soluciones propuestas

Open, Close, Freefile. Write# y Input#. Abrir y cerrar ficheros con Visual Basic. Leer y guardar datos. Ejemplos prácticos.

Curso Programación de PDAs con Visual Basic

VISUAL STUDIO.NET Y PUERTO SERIE

Laboratorio 5.2: Escribir Producto como nombre físico y lógico de la clase:

Desarrollo de un programa de software para el estudio de viabilidad de proyectos de ingeniería Pág. 1

Practica 12. Manejo de Archivos de tipo (registros).

TEST. 2 En el PC de prácticas. Puede haber varios procesos en el mismo instante de tiempo?

Práctica 8. Usando varios formularios.

Práctica 7. Procesando una encuesta.

Ejemplos Visual Basic: función Val, arrays de controles, generar números aleatorios, ficheros de texto. (CU00333A)

RESUMEN GAMBAS. TIPOS DE DATOS Y DECLARAR VARIABLE: DIM nombre_variable AS

Informe de Proyecto de Taller de Operaciones Informáticas. Venta de Ropa Deportiva

Abstracción, código y verificación del programa ejercicio algoritmo de ordenación resuelto con Visual Basic. (CU00358A)

Práctica 4. Más controles. Validación de datos I.

Computación II. Práctica Usar los controles básicos de un formulario con sus respectivas propiedades para crear la interfaz de usuario.

Fundamentos de Informática Examen 18 de Septiembre de 2006 Mecánica y Electricidad

Algoritmos y Programación Clase 8

Parte 4: Estructuras de Control

Curso Inicial de Programación

M. C. Bertha López Azamar

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

FUNDAMENTOS DE INFORMÁTICA

Ejemplos de uso de forms, labels, inputbox y msgbox en Visual Basic. (CU00332A)

ANEXO II. Variables utilizadas en el programa

Integrador de Operaciones Informáticas

COMANDOS VISUAL BASIC. Comandos Básicos De Visual Basic. Programación Básica

Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2013

Práctica 2. Controles Básicos.

INFORMATICA VISUAL BASIC 2008

Fundamentos de Informática Laboratorio: Funciones

Conectar excell con Access

1.-Tipos y subtipos de datos en VBS

Introducción a C# y la plataforma.net

BASE DE DATOS ACCESS EN UN SERVIDOR

LABORATORIO 4: Ejercicio 1: Reconociendo VB.NET y Trabajando con el Lenguaje. Duración: 20 minutos

Visual Basic y.net Do Loop, Exit Do, Exit For y GoTo. Ejemplos y ejercicios resueltos. (CU00337A)

Ubound y Lbound en Visual Basic. Conocer índice superior e inferior de arrays (arreglos) Ejemplos y ejercicios. (CU00343A)

Zeon PDF Driver Trial

CONTENIDO. Capítulo 1. Capítulo 3. Capítulo 2. Contenido

Programación con Visual Basic 6

Soluciones propuestas

Ejercicios resueltos ejemplo de leer datos desde ficheros con Visual Basic, variables, bucles For Next y condicionales If.

GE Security. FHSD Monitor / Servidor Web manual de usuario

Guía de funcionamiento del proyector

DEFINICIONES IMPORTANTES

ELEMENTOS BÁSICOS PARA LA PROGRAMACIÓN DE FUNCIONES TIPOS DE DATOS. Constantes

Contador manual de partículas Software de medición para Windows Manual del usuario Manual del usuario

Tema: Interconexión a la PC mediante Arduino

PROGRAMACION EN VISUAL BASIC

Ejercicios resueltos Visual Basic y.net con arrays (arreglos), Do While, For, mod, ficheros, Ubound. Cálculo serie numérica (CU00344A)

Manual del usuario. Software PolyTemp de control remoto para controladores de temperatura PolyScience /ES 08/11

(71.56) Programación. Diagrama

UNIVERSIDAD NACIONAL DE INGENIERIA

Pruebas (test) de programas. Verificación de algoritmos en Visual Basic. Cómo recargar formularios VB y.net (CU00348A)

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

Resolver triángulos en Visual Basic. Parte 3/3

WorkManager E.D. Manual guía de usuario Diseñador de formularios

SOFTWARE II - 4 C - Prof. Sandra Corti

Profesora: Sandra Corti

CONFIGURACIÓN DE FORMATO DE IMPRESIÓN DE CAJA PARA SU USO EN EL SISGALENPLUS DOCUMENTACIÓN DEL SISTEMA DE GESTIÓN HOSPITALARIA

Manual de software VTH. Visualizador de Temperatura y Humedad. Fecha: 28/10/2013 Manual Software VTH v3.0

MÓDULOS B-MOTICS ESCLAVOS DE MODBUS. Bielsa electrónica S.L. Ref: mblogix1.0es.pdf

Cómo administrar una base de datos?

INSTITUTO FRANCISCO POSSENTI A.C. Per crucem ad lucem. Preparatoria (1085)

Programación en Visual Basic Ricardo Rodríguez García

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Caso práctico: Proyecto Usuario y contraseña

Transcripción:

Dim TEMP As Single Dim TEMP_R As Single Dim PRE As Single Dim PRE_R As Single Dim HUM_R As Single Dim VIE_R As Single Dim VIE As Single Dim viento As Single Dim HUM As Single Dim ERR_P As Single Dim ERROR As Single Dim CONT As Single Dim temperatura As Single Dim humedad As Single Dim presion As Single Dim temp1 As Single Dim temp2 As Single Dim TEMP_P As Single Dim tiempo As Date Dim interval As Date Dim n As Single Dim X As Single Dim dia Const STX = &H30 Const ETX = &H10 Dim iresult As String Dim D As Single Const velocidad = 2 'Option Explicit Private Sub acerca_click() yacerca.show Private Sub activar_click() Option1.Value = True Private Sub basededatos_click() Command10.Value = True Private Sub bloc_click() Command5.Value = True Private Sub Command1_Click() n = 1 MSComm1.Output = Chr(STX) Timer1.interval = 2000 'CONFIGURA 2 SEGUNDOS EL TIMER 1 SI NO HAY RESPUESTA SALTA Timer1.Enabled = True guardar.enabled = True alarma.enabled = True

Frame2.Visible = False Command5.Visible = True Frame3.Visible = True Frame4.Visible = True Frame5.Visible = True Frame2.Visible = True Frame6.Visible = False Text2.Visible = True H.Enabled = True Image9.Visible = True 'SELECCIONA LA ESTACION EL LA QUE ESTAMOS Select Case Text1 Case 3, 4, 5, 6 Label23.Visible = True 'primavera If Text1 = 6 And Text3 >= 21 Then Label20.Visible = True Label23.Visible = False If Text1 = 3 And Text3 <= 20 Then Label22.Visible = True Label23.Visible = False Case 6, 7, 8, 9 'verano Label20.Visible = True If Text1 = 9 And Text3 >= 23 Then Label20.Visible = False Label21.Visible = True Case 9, 10, 11, 12 Label21.Visible = True 'otoño If Text1 = 12 And Text3 >= 21 Then Label21.Visible = False Label22.Visible = True Case 12, 1, 2, 3 'invierno Label22.Visible = True If Text1 = 3 And Text3 >= 20 Then Label22.Visible = False Label23.Visible = True End Select Private Sub Command10_Click() 'Titulo del CommonDialog CommonDialog1.DialogTitle = "Escriba el nombre de la gráfica" 'Extension del CommonDialog. Archivo de tipo txt CommonDialog1.Filter = "Archivos de texto Accdb *.accdb"

'Abrimos el CommonDialog CommonDialog1.ShowSave If CommonDialog1.FileName = "" Then Exit Sub FileCopy "C:\Documents and Settings\Administrador\Escritorio\proyecto estacion1.0\visual1\bd2.accdb", CommonDialog1.FileName Command9.Visible = False Option3.Value = False MsgBox "Documento guardado correctamente", vbinformation, "" Exit Sub ' ACTUALIZA LOS DATOS EN LA GRÁFICAS Private Sub Command2_Click() 'Visualizar temperatura mediante una grafica graficas.mschart_temp.rowcount = CONT graficas.mschart_temp.row = CONT graficas.mschart_temp.data = TEMP 'Visualizar presion mediante una grafica graficas.mschart_pre.rowcount = CONT graficas.mschart_pre.row = CONT graficas.mschart_pre.data = PRE 'Visualizar humedad mediante una grafica graficas.mschart_hum.rowcount = CONT graficas.mschart_hum.row = CONT graficas.mschart_hum.data = HUM CONT = CONT + 1 'INICIA LA SIGUIENTE COLUMNA PARA LA VISUALIZACIÓN Private Sub Command3_Click() dia = Date Const spath_access As String = "C:\Documents and Settings\Administrador\Escritorio\proyecto estacion1.0\visual1\bd2.accdb" Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset With cnn.connectionstring = "provider=microsoft.ace.oledb.12.0;data Source=" & _ spath_access & ";Persist Security Info=False;".Open End With rst.open "datos1", cnn, adopendynamic, adlockoptimistic rst.addnew rst!temperatura = TEMP

rst!presión = PRE rst!humedad = HUM rst!hora = Time rst!dia = Date rst!direcciónviento = Text4.Text rst.update 'MUESTRA EL FORMULARIO DE LAS GRÁFICAS Private Sub Command4_Click() graficas.show 'MUESTRA EL FORMULARIO DEL BLOC DE NOTAS Private Sub Command5_Click() notas.show ' BOTON MUESTRA EL FORMULARIO DE LA BASE DE DATOS Private Sub Command6_Click() ybasedatos.show ' BOTON PARA REANUDAR EL SONIDO DE LA ALARMA Private Sub Command7_Click() MediaPlayer1.Play Command7.Visible = False Command8.Visible = True Timer6.Enabled = True ' FUNCION DE LA ALARMA SONORA ESTABLECE EL INTERVALO 'DEL TIMER ADEMAS DE MOSTRAR EL LETRERO DE ALARMA Sub sirena() Timer6.interval = 1000 Timer6.Enabled = True Label24.Visible = True MediaPlayer1.Play Command8.Visible = True ' BOTON PARA PARAR EL SONIDO DE ALARMA Private Sub Command8_Click() Timer6.Enabled = False MediaPlayer1.Stop Command7.Visible = True Command8.Visible = False Private Sub Command9_Click() Dim Linea As String 'TITULO DEL CommonDialog CommonDialog1.DialogTitle = "Escriba el nombre del archivo de texto" 'EXTENSION DEL CommonDialog. Archivo de tipo txt CommonDialog1.Filter = "Archivos de texto Txt *.txt" 'ABRIMOS EL CommonDialog CommonDialog1.ShowSave If CommonDialog1.FileName = "" Then

'SALIMOS YA QUE NO SE HA SELECCIONADO NUNGÚN ARCHIVO Exit Sub Else If notas.text1.text = "" Then MsgBox "Debe escribir algo en el bloc de notas para poder crear el archivo" Exit Sub 'CREAMOS O AÑADIMOS PASANDO LA RUTA Y NOMBRE ARCHIVO Open CommonDialog1.FileName For Append As #1 'ESCRIBIMOS EN EL ARCHIVO EL CONTENIDO DEL TEXT1 + FECHA HORA Print #1, notas.text1 + vbcrlf Print #1, Date; " "; "Hora"; " "; Time 'vbcrlf = orden del archivo quedara acomodado tal como Print #1, "---------------------------------------------------------------------------" 'está en el textbox 'CERRAMOS ARCHIVO Close Option4.Value = False Command9.Visible = False MsgBox "Documento guardado correctamente", vbinformation, "" 'ENLAZA MENU RECIBIR Private Sub datos_click() recibir.value = True 'ENLAZA MENU DESACTIVAR ALARMA Private Sub desactivar_click() Option2.Value = True ' ENLAZAR EL MENU CON EL BOTON GUARDAR TEXTO Private Sub documentodetexto_click() Command9.Value = True 'SELECCIONAR EL MODO DE CONEXION ETHERNET Private Sub ethernet_click() D = 1 On Error Resume Next 'para ignorar error 126 en win9x Winsock1.RemoteHost = "158.42.221.59" 'establecemos la direccion ip Winsock1.RemotePort = 6666 'establecemos el puerto de comunicacion del ez Winsock1.Connect 'Winsock1.SendData "at*pin1_output01?" 'envia los datos Timer1.interval = 5000 'TIMER1 A 5S PARA EL CASO DE K NO SE CONECTE MENSAJE DE AVISO Timer1.Enabled = True If Winsock1.State <> sckclosed Then Text2.Text = "conexión ethernet establecida" Command1.Visible = False Timer1.Enabled = False conectar.enabled = True

Private Sub Form_Load() 'CONFIGURACIÓN DEL PUERTO SERIE MSComm1.CommPort = 2 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True MSComm1.RThreshold = 1 MSComm1.InputLen = 0 MSComm1.InputMode = cominputmodebinary CONT = 1 'NÚMERO DE COLUMNA/DATO MOSTRADO EN LA GRÁFICA: INICIALIZACIÓN Frame1.Visible = False Frame2.Visible = False Frame3.Visible = False Frame4.Visible = False Frame5.Visible = False Text2.Visible = False Image10.Visible = False H.Enabled = False Text1.Visible = False Text3.Visible = False Command5.Visible = False Command2.Visible = False conec.enabled = False alarma.enabled = False guardar.enabled = False 'VARIABLES PARA CONFIGURAR LA ESTACIÓN DEL AÑO Text1.Text = Format(Date, "m") Text3.Text = Format(Date, "d") Private Sub Image11_Click() If D = 1 Then Image9.Visible = True Image11.Visible = False Image13.Visible = True Frame1.Visible = False 'Private Sub Image11_Click() 'Titulo del CommonDialog 'CommonDialog1.DialogTitle = "Escriba el nombre de la base de datos" 'Extension del CommonDialog. Archivo de tipo txt 'CommonDialog1.Filter = "Archivos de texto Accdb *.accdb" 'Abrimos el CommonDialog

'CommonDialog1.ShowSave 'FileCopy "C:\Documents and Settings\Administrador\Escritorio\proyecto estacion1.0\visual1\bd2.accdb", CommonDialog1.FileName 'Command9.Visible = False 'Option3.Value = False 'MsgBox "Documento guardado correctamente", vbinformation, "" ' Exit Sub ' Private Sub Image13_Click() If D = 1 Then Frame1.Visible = True Image9.Visible = False Image11.Visible = True Image13.Visible = False 'MENU MOSTRAR BASES DE DATOS Private Sub mbd_click() Command6.Value = True Private Sub morado_click() Form1.BackColor = &HFFC0C0 Frame6.BackColor = &HFFC0C0 Frame3.BackColor = &HFFC0C0 Frame4.BackColor = &HFFC0C0 Frame5.BackColor = &HFFC0C0 Frame1.ForeColor = &H40C0& Frame2.ForeColor = &H40C0& Frame4.ForeColor = &H40C0& Frame5.ForeColor = &H40C0& Command1.BackColor = &HFFC0C0 ethernet.backcolor = &HFFC0C0 Frame2.BackColor = &HFFC0C0 Label7.BackColor = &HFFC0C0 Label8.BackColor = &HFFC0C0 Label9.BackColor = &HFFC0C0 Label10.BackColor = &HFFC0C0 Label11.BackColor = &HFFC0C0 Label12.BackColor = &HFFC0C0 Label13.BackColor = &HFFC0C0 Label14.BackColor = &HFFC0C0 Label15.BackColor = &HFFC0C0 Label16.BackColor = &HFFC0C0 Label17.BackColor = &HFFC0C0 Label18.BackColor = &HFFC0C0 Label19.BackColor = &HFFC0C0 Option1.BackColor = &HFFC0C0 Option2.BackColor = &HFFC0C0 Private Sub mostar_click() 'MENU MOSTRAR GRÁFICAS Command2.Value = True

Private Sub normal_click() Form1.BackColor = &H8000000F Frame6.BackColor = &H8000000F Frame3.BackColor = &H8000000F Frame4.BackColor = &H8000000F Frame5.BackColor = &H8000000F Command1.BackColor = &H8000000F ethernet.backcolor = &H8000000F Frame2.BackColor = &H8000000F Label7.BackColor = &H8000000F Label8.BackColor = &H8000000F Label9.BackColor = &H8000000F Label10.BackColor = &H8000000F Label11.BackColor = &H8000000F Label12.BackColor = &H8000000F Label13.BackColor = &H8000000F Label14.BackColor = &H8000000F Label15.BackColor = &H8000000F Label16.BackColor = &H8000000F Label17.BackColor = &H8000000F Label18.BackColor = &H8000000F Label19.BackColor = &H8000000F Option1.BackColor = &H8000000F Option2.BackColor = &H8000000F 'CONFIGURA LA ALARMA ACTIVADA Private Sub Option1_Click() Option1.Caption = "Activada" Option2.Caption = "Desactivar" Text2.Text = "Estado de la alarma: Activada" If Texttemperatura.Text = "" Then 'SI LA TEMPERATURA ES MAYOR DE 50º SALTA ElseIf Texttemperatura.Text > 50 Then Label24.Visible = True 'CONFIGURA LA ALARMA DESACTIVADA Private Sub Option2_Click() Timer5.Enabled = False Label24.Visible = False Option2.Caption = "Desactivada" Option1.Caption = "Activar" Text2.Text = " Estado de la alarma: Desactivado" Command7.Visible = False Command8.Visible = False 'VISUALIZACIÓN DE BOTONES DE GUARDADO BASE DE DATOS Private Sub Option3_Click() Command10.Visible = True Command9.Visible = False 'VISUALIZACIÓN DE BOTONES DE GUARDADO DOCUMENTO DE TEXTO Private Sub Option4_Click() Command10.Visible = False

Command9.Visible = True Private Sub recibir_click() If Winsock1.State <> sckclosed Then 'mira si está conectado el winsock creo? comprobar Winsock1.SendData "at*nvreg00?" 'envia los datos (trama) [n] Else recibir.visible = False MSComm1.Output = Chr(STX) 'envia la palabra que desencadena la transmisión en caso de que no esté conectado el winsock y si el rs232 Timer2.interval = 10000 Timer2.Enabled = True Timer3.interval = 9000 Timer3.Enabled = True Timer4.interval = 11000 Timer4.Enabled = True Label25.Visible = True Label26.Visible = True Label27.Visible = True If Option1.Value = True Then Timer5.interval = 1000 Timer5.Enabled = True If MSComm1.CommEvent = NullDiscard Then MsgBox "Imposible realizar la conexión", vbcritical, "Fallo en la conexión" 'If MSComm1.CommEvent = comevreceive Then ' MsgBox "Imposible realizar la conexión", vbcritical, "Fallo en la conexión" 'Muestra los datos por pantalla cuando llega una recepción serie Private Sub mscomm1_oncomm() Dim datain As Variant Dim dato_array() As Byte Dim check As Byte Dim variable() As Byte If MSComm1.CommEvent = comevreceive Then 'Si se produce el evento de recepción: Timer1.Enabled = False Frame6.Visible = False datain = MSComm1.Input 'Capturar los datos If (n = 1) Then variable() = datain 'Text2.Text = (variable(0)) If (variable(0) = 17) Then 'VERIFICAMOS LA CORRECTA CONEXIÓN AL RECIBIR EL DATO DEL PIC Text2.Text = "conexión rs232 establecida"

Command1.Enabled = False ethernet.enabled = False n = 0 Else dato_array() = datain 'Guardar los datos en un vector 'CALCULO DE TEMPERATURA TEMP_R = dato_array(1) TEMP_R = TEMP_R * 256 TEMP_R = TEMP_R + dato_array(0) TEMP_P = TEMP_R * 3.8996354 TEMP = TEMP_P * 0.0004882812 Texttemperatura.Text = Format(TEMP, "##,##0.00") 'con dos decimales 'CALCULO DE LA PRESIÓN PRE_R = dato_array(3) PRE_R = PRE_R * 256 PRE_R = PRE_R + dato_array(2) PRE_R = PRE_R * 0.00004882812 'CÁLCULO DE LA PRESIÓN CON E ERROR PERTINENTE PRE = ((0.475 + PRE_R) / 0.045) 'Presión en Bares. If (TEMP >= 0 & TEMP <= 85) Then ERR_P = 1 'Cálculo del error de presión conforme a la temperatura Else: ERR_P = 3 ERROR = ERR_P * 1.5 PRE = PRE - ERROR Textpresion.Text = Format(PRE, "##,##0.00") 'con dos decimales 'CALCULO HUMEDAD HUM_R = dato_array(5) HUM_R = HUM_R * 256 HUM_R = HUM_R + dato_array(4) HUM_R = HUM_R * 0.00004882812 'CONVERSIÓN DE LA HUMEDAD EN % HUM = 1.6 * HUM_R HUM = HUM / 0.8 HUM = HUM + 1.2 HUM = HUM * 10 Texthumedad.Text = Format(HUM, "##,##0.00") 'con dos decimales 'CALCULO DIRRECCION VIENTO VIE_R = dato_array(7) VIE_R = VIE_R * 256 VIE_R = VIE_R + dato_array(6) VIE = VIE_R * 0.00490196 VIE = Format(VIE, "#,#0.0") If VIE = 0.5 Then Image1.Visible = True Image3.Visible = False Image4.Visible = False

Image5.Visible = False Image6.Visible = False Image7.Visible = False Image8.Visible = False Image2.Visible = False Text4.Text = "NORTE" ElseIf VIE = 1 Then Image2.Visible = True Image1.Visible = False Image3.Visible = False Image4.Visible = False Image5.Visible = False Image6.Visible = False Image7.Visible = False Image8.Visible = False Text4.Text = "OESTE" ElseIf VIE = 2 Then Image3.Visible = True Image4.Visible = False Image5.Visible = False Image6.Visible = False Image7.Visible = False Image8.Visible = False Image2.Visible = False Image1.Visible = False Text4.Text = "SUR" ElseIf VIE = 3 Then Image3.Visible = False Image4.Visible = True Image5.Visible = False Image6.Visible = False Image7.Visible = False Image8.Visible = False Image2.Visible = False Image1.Visible = False Text4.Text = "ESTE" ElseIf VIE = 3.5 Then Image3.Visible = False Image4.Visible = False Image5.Visible = True Image6.Visible = False Image7.Visible = False Image8.Visible = False Image2.Visible = False Image1.Visible = False Text4.Text = "NORESTE" ElseIf VIE = 4 Then Image3.Visible = False Image4.Visible = False Image5.Visible = False

Image6.Visible = True Image7.Visible = False Image8.Visible = False Image2.Visible = False Image1.Visible = False Text4.Text = "SUROESTE" ElseIf VIE = 4.5 Then Image3.Visible = False Image4.Visible = False Image5.Visible = False Image6.Visible = False Image7.Visible = True Image8.Visible = False Image2.Visible = False Image1.Visible = False Text4.Text = "SURESTE" ElseIf VIE = 5 Then Image3.Visible = False Image4.Visible = False Image5.Visible = False Image6.Visible = False Image7.Visible = False Image8.Visible = True Image2.Visible = False Image1.Visible = False Text4.Text = "NOROESTE" Private Sub conectar_click() On Error Resume Next 'para ignorar error 126 en win9x Winsock1.RemoteHost = "158.42.221.59" 'establecemos la direccion ip Winsock1.RemotePort = 6666 'establecemos el puerto de comunicacion del ez Winsock1.SendData "at*nvreg00?" 'envia los datos Winsock1.Connect If Winsock1.State = sckopen Then Label4.Caption = "6666" Label5.Caption = "158.42.221.59" Label6.Caption = "conectado" If Winsock1 = False Then MsgBox "fallo en la conexion", 48, "mensaje" ' cuando la conexion se cierra por cualquier motivo salta esta función

Private Sub resalte_click() Form1.BackColor = &H80000018 Frame6.BackColor = &H80000018 Frame3.BackColor = &H80000018 Frame4.BackColor = &H80000018 Frame5.BackColor = &H80000018 Command1.BackColor = &H80000018 ethernet.backcolor = &H80000018 Frame2.BackColor = &H80000018 Label7.BackColor = &H80000018 Label8.BackColor = &H80000018 Label9.BackColor = &H80000018 Label10.BackColor = &H80000018 Label11.BackColor = &H80000018 Label12.BackColor = &H80000018 Label13.BackColor = &H80000018 Label14.BackColor = &H80000018 Label15.BackColor = &H80000018 Label16.BackColor = &H80000018 Label17.BackColor = &H80000018 Label18.BackColor = &H80000018 Label19.BackColor = &H80000018 Option1.BackColor = &H80000018 Option2.BackColor = &H80000018 Private Sub salir_click() End 'TIMER SALTA A LOS 2 SEGUNDOS SI NO HAY RESPUESTA DEL PIC CUANDO SELECCIONAS EL MODO DE CONEXIÓN Private Sub Timer1_Timer() If (interval = 0) Then MsgBox "Imposible realizar la conexión", vbexclamation, "Estación Metereológica" Frame2.Visible = False Frame3.Visible = False Frame4.Visible = False Frame5.Visible = False Frame6.Visible = True Image9.Visible = False Label20.Visible = False Label21.Visible = False Label22.Visible = False Label23.Visible = False Text2.Visible = False Command5.Visible = False Timer2.Enabled = False Timer3.Enabled = False Timer1.Enabled = False

Private Sub vergraficas_click() 'Visualizar temperatura mediante una grafica MSChart_TEMP.RowCount = CONT MSChart_TEMP.Row = CONT MSChart_TEMP.Data = TEMP 'Visualizar presion mediante una grafica MSChart_PRE.RowCount = CONT MSChart_PRE.Row = CONT MSChart_PRE.Data = PRE 'Visualizar humedad mediante una grafica MSChart_HUM.RowCount = CONT MSChart_HUM.Row = CONT MSChart_HUM.Data = HUM CONT = CONT + 1 'INICIA LA SIGUIENTE COLUMNA PARA LA VISUALIZACIÓN 'ACTUALIZA AUTOMATICAMENTE LAS GRAFICAS SEGUN EL INTERVALO DE TIEMPO Private Sub Timer2_Timer() If (interval = 0) Then Command2.Value = True 'ACTUALIZA DATOS DE LA ESTACION SEGUN INTERVALO DE TIEMPO Private Sub Timer3_Timer() If (interval = 0) Then recibir.value = True 'guarda los datos automaticamente en un intervalo de 11s en base de datos Private Sub Timer4_Timer() If (interval = 0) Then Command3.Value = True 'TIMER5 ALARMA Private Sub Timer5_Timer() If (interval = 0) Then Option1.Value = True 'TEMPERATURA > 50 LLAMA A FUNCIÓN If Texttemperatura.Text >= 50 And Command8.Visible = False And Command7.Visible = False Then Call sirena 'LLAMADA A FUNCIÓN SIRENA Text2.Text = "Posible error de lectura o fallo en el sistema, temperatura demasiado elevada" ' TEMPERATURA < 50 APAGA LA ALARMA ElseIf Texttemperatura.Text < 50 Then Command7.Visible = False Command8.Visible = False Label24.Visible = False Timer6.Enabled = False Text2.Text = ""

' REPETICION EN INTERVALO DE 1 SEGUNDO DEL SONIDO ALARMA Private Sub Timer6_Timer() If (interval = 0) Then MediaPlayer1.Play 'mirar k falla una cosiyaaa x ahii normal '' Private Sub verde_click() Form1.BackColor = &HC0FFC0 Frame6.BackColor = &HC0FFC0 Frame3.BackColor = &HC0FFC0 Frame4.BackColor = &HC0FFC0 Frame5.BackColor = &HC0FFC0 Command1.BackColor = &HC0FFC0 ethernet.backcolor = &HC0FFC0 Frame2.BackColor = &HC0FFC0 Label7.BackColor = &HC0FFC0 Label8.BackColor = &HC0FFC0 Label9.BackColor = &HC0FFC0 Label10.BackColor = &HC0FFC0 Label11.BackColor = &HC0FFC0 Label12.BackColor = &HC0FFC0 Label13.BackColor = &HC0FFC0 Label14.BackColor = &HC0FFC0 Label15.BackColor = &HC0FFC0 Label16.BackColor = &HC0FFC0 Label17.BackColor = &HC0FFC0 Label18.BackColor = &HC0FFC0 Label19.BackColor = &HC0FFC0 Option1.BackColor = &HC0FFC0 Option2.BackColor = &HC0FFC0 Private Sub Winsock1_Close() If Winsock1 = True Then MsgBox "Imposible realizar la conexión", vbcritical, "Fallo en la conexión" Winsock1.Close Label4.Caption = "-----" Label5.Caption = "---.---.---.---" Label6.Caption = "desconectado" conectar.caption = "Conectar" 'cuando se inicia la conexion y es establecida salta a esta funcion 'Private Sub Winsock1_Connect() 'Label4.Caption = "6666" 'Label5.Caption = "192.168.2.2" 'Label6.Caption = "conectado" 'conectar.caption = " Desconectar" Private Sub Winsock1_DataArrival(ByVal bytestotal As Long) Dim trama As String ' variable para guardar los datos

Winsock1.GetData trama 'recibe los datos y los almacena en la variable datos direccion_memoria = Val(Mid(datos, 9, Len(datos))) 'almacena la direccion de los registros de la NVRAM espera recibir 9 bits trama = Val(Mid(datos, 12, Len(datos))) 'almacena el valor recibido de los sensores, espera recibir 12 bits de la conversion ad 'SELECCIONAMOS LA DIRECCION If direccion_memoria = 0 Then temp1 = trama temp1 = temp1 * 0.4882812 / 256 On Error Resume Next Winsock1.RemoteHost = "158.42.221.59" Winsock1.RemotePort = 6666 Winsock1.SendData "at*nvreg01?" If direccion_memoria = 1 Then temp2 = trama * 0.4882812 / 256 temperatura = (temp2 - temp1) * 1000 Texttemperatura.Text = Format(temperatura, "##,##0.00C") On Error Resume Next Winsock1.RemoteHost = "158.42.221.59" Winsock1.RemotePort = 6666 Winsock1.SendData "at*nvreg02?" If direccion_memoria = 2 Then humedad = trama * ((humedad * 0.02) + 1 / 256) Texthumedad.Text = Format(humedad, "##,##0.00RH") On Error Resume Next Winsock1.RemoteHost = "158.42.221.59" Winsock1.RemotePort = 6666 Winsock1.SendData "at*nvreg03?" If direccion_memoria = 3 Then presion = trama * 0.01953125 presion = (presion + 0.475) presion = presion / 0.045 presion = presion * 0.0098692 Textpresion.Text = Format(presion, "##,##0.00atm") Winsock1.RemoteHost = "158.42.221.59" Winsock1.RemotePort = 6666 'Winsock1.SendData "at*nvreg04?" 'If direccion_memoria = 4 Then 'viento = trama 'Winsock1.RemoteHost = "158.42.221.59"

'Winsock1.RemotePort = 6666 Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Winsock1.Close MsgBox "Error numero " & Number & ": " & Description, vbcritical Label6.Caption = "Sin conexión" conectar.caption = "Conectar"