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

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 :unsure::
* 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
 

Adjuntos

  • Screenshot-9.png
    Screenshot-9.png
    110.7 KB · Visitas: 101
  • Screenshot-11.png
    Screenshot-11.png
    68.9 KB · Visitas: 83
  • Screenshot-10.png
    Screenshot-10.png
    66 KB · Visitas: 81
  • Screenshot-12.png
    Screenshot-12.png
    55 KB · Visitas: 70
  • Screenshot-7.png
    Screenshot-7.png
    70.9 KB · Visitas: 68
  • Screenshot-6.png
    Screenshot-6.png
    72 KB · Visitas: 62
  • Screenshot-5.png
    Screenshot-5.png
    81.2 KB · Visitas: 61
  • Screenshot-4.png
    Screenshot-4.png
    73.7 KB · Visitas: 58
  • Screenshot-3.png
    Screenshot-3.png
    41.6 KB · Visitas: 55
  • sta_1.png
    sta_1.png
    14 KB · Visitas: 55
  • sta_2.png
    sta_2.png
    9.7 KB · Visitas: 48
  • Screenshot-13.png
    Screenshot-13.png
    141.3 KB · Visitas: 49
  • Screenshot-2i.PNG
    Screenshot-2i.PNG
    255.3 KB · Visitas: 67
  • STA.part1.rar
    2 MB · Visitas: 83
  • STA.part2.rar
    2 MB · Visitas: 77
  • STA.part3.rar
    1.5 MB · Visitas: 79
Última edición por un moderador:
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.
 

Adjuntos

  • Untitled.png
    Untitled.png
    17.8 KB · Visitas: 35
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.
 
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.
 
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í?
 
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 :unsure::
* 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



Código:
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
 
Atrás
Arriba