# Serial Port, Excel y Visual Basic 2005, aplicación en telemétria



## hamster (Mar 3, 2012)

Hola amigos .
Hace ya un tiempo diseñe mediante microcontroladores un sistema telemétrico ambiental utilizando microcontroladores y sensores.

El proyecto consistio en el diseño de un sistema que permita la adquisición de variables ambientales (Temperatura, Humedad relativa, velocidad y dirección del viento y si lo desean presión atmosférica) para posteriormente realizar la transmisión y almacenamiento por computadora en una planilla de Excel, mediante un programa diseñado en Visual Basic 2005.
con Excel y una aplicación en VB2005 almacenaremos automáticamente los datos  provenientes del puerto serie en una planilla Excel y los graficaremos ya sea mediante excel o mediante la aplicación en VB 2005.
El sensor LM35 adquiere temperatura, con el HIH-5030 adquirimos humedad y de una manera artesanal mediante opto sensores CNY70 hemos construido un Anemómetro y una veleta.
Mediante el ADC del PIC16F873 se adquieren los valores de los sensores, luego este M.C.U se encarga de codificar los datos en HAMMING(7,4) (codificación de canal) esto con el fin de detectar y corregir 1 error cada 7 bits, se selecciono el código haming por ser unos de los más fáciles métodos para realizar codificación de canal. Una vez codificado los datos el M.C.U los transmite de manera serial mediante el modulo USART hacia el transmisor de radiofrecuencia TXM-xxx-LR este es un transmisor de radiofrecuencia, disponible en 315, 418, 433 Mhz, yo he seleccionado el TXM-418-LR (Linx Technologies) el cual transmite en la frecuencia de 418 Mhz con una velocidad máxima de transmisión de 10,000 Bps (ver DataSheet) con modulación ASK.
Al otro extremo se encuentra el receptor RXM-418-LR el cual enviara el dato recibido hacia el otro PIC16F873 con el que se realizara la decodificación de canal HAMMIG(7,4), si no hay error el dato será transmitido al modulo SDM-USB-QS-S (ver DataSheet), este modulo recibe datos en RS232 y los transmite en USB e inverso, lo único que se necesita para que la computadora reconozca este modulo es un pequeño driver descargable en la página de Linx Technologies
Con este driver se reconoce la conexión USB como un puerto COM virtual, en otras palabras mediante software reconoceremos al hardware como una conexión RS232 aunque físicamente sea USB.
El hardware lo pueden cambiar a su gusto ya sea utilizando PIC o AVR.
Por el puerto serie emulado la Computadora tiene que recibir una trama de la forma:
t1023h1023v1023d7x
entre t y h se encuentra un valor de 10 bits este es la lectura de temperatura (ADC = 10 bits), entre h y v se encuentra otro valor de 10 bits es la lectura de la humedad relativa, entre v y d se encuentra la velocidad del viento, entre d y x se encuentra la dirección (bastante pobre solo angulos de 45) y finalmente x un char de parada.

Mediante Visual Basic 2005 se diseña una aplicación que básicamente permita :
* El control del puerto COMM virtual.
* Dividir el dato(t1024h1024v1024d7x) para trabajar cada variable de manera individual.
* Procesar el dato recibido para obtener el valor real de la variable.
* Almacenar los valores recibidos en una planilla de excel.
* Graficar los datos mediante la aplicación en VB 2005.

revisen el código y si les interesa ó tienen dudas, pregunten:
http://www.mediafire.com/?s48kuu70tbnhcq9


----------



## Janeth5 (Feb 25, 2013)

Hola soy nueva en programacion en Visual Basic, estoy trabajando en un proyecto el cual debe de detectar una se;al mandada por un pic mediante rs232 , debe guardarse los datos y graficarlos... hasta ahorita he desarrollado lo siguiente pero no tengo idea de como graficar espero puedan ayudarme gracias.


----------



## Meta (Feb 25, 2013)

_Impresioannte proyecto._


----------



## Janeth5 (Feb 26, 2013)

como puedo graficar en visual basic 2010


----------



## hamster (Abr 7, 2013)

Hola Janeth5 discúlpame por no responderte antes...  no he usado visual basic 2010,
me quede en el VB2005.... podría ayudarte para vb2005....

Y meta gracias...

es gracias a los aportes de los demás foreros que podemos hacer mejores proyectos.


----------



## Meta (Sep 19, 2013)

El Visual Basic 2005 es igual al 2010 y el 2012. No encontrarán problemas. Así que adelante.

E incluso llegó la Preview VB 2013 para emjor funcionamiento del Windows 8.1.


----------



## hamster (Sep 21, 2013)

Es bueno saber eso, quiere decir que no me quede atrazado. primero aprendí VB 6.0 y luego me dijerón "esta obsoleto" entonces tristemente empecé a estudiar VB 2005.
gracias meta, por la información.
....y Janeth5 ¿Aún estás ahí?


----------



## kamk (Mar 10, 2016)

hamster dijo:


> Hola amigos .
> Hace ya un tiempo diseñe mediante microcontroladores un sistema telemétrico ambiental utilizando microcontroladores y sensores.
> 
> El proyecto consistio en el diseño de un sistema que permita la adquisición de variables ambientales (Temperatura, Humedad relativa, velocidad y dirección del viento y si lo desean presión atmosférica) para posteriormente realizar la transmisión y almacenamiento por computadora en una planilla de Excel, mediante un programa diseñado en Visual Basic 2005.
> ...






```
Public Sub clear_Temp()
        Dim flag As New Bitmap(Me.PctTemp.Width, Me.PctTemp.Height)
        Me.PctTemp.Image = flag
        G(0) = CrearGraficosFijos(Me.PctTemp)
        G(0).ScaleTransform(3.6, 6.3)
        EscalarY()
        EscalarX()
    End Sub
```



Hamster, mira tengo una duda, como utilizas el Scaletransform en el programa, lo utilizas para  dar formato personalizado a las dimesiones del grafico, pero  como obtienes los valores de  (3.6, 6.3)



Saludos


----------

