# Como capturar datos por puerto RS232



## Electronicko

Hola amigos, necesito capturar datos de un sensor, por puerto RS232, para poder visualizarlos en una planilla Excel.

El sensor esta conectado a un conversor analogo digital, y este a su vez envia la información por un MAX232, por lo tanto la información es binaria.

Me gustaría saber si alguien sabe como capturar dicha información, para poder verla en una planilla Excel

Gracias.


----------



## Twan

Hola Electronicko, tiene que ser excel? yo tube que hacer casi el mismo proyecto pero sin la programacion, solo el hardware, pero necesitaba mostrar los datos en algo y lo mas fácil fue hacer una pequeña aplicacion en vb6 en eso te podría ayudar, pero en excel no creo...por si acaso esta paginita te podría ayudar:
http://prog-asm.blogspot.com/2007/01/control-del-puerto-serie-usando-excel.html
Suerte.


----------



## Electronicko

Muchas gracias por tu respuesta Twan, la verdad me interesa sobremanera, debido a que parte de mi trabajo de titulación lo debo realizar con esto.

Desde luego que puede ser en Visual Basic, es solo que a la fecha con lo que más me manejo es con las macros que programo en Visual Basic para excel, y pensé que era lo mas fácil. 

El punto es que debo muestrear varios voltajes de un equipo durante el día, y registrar los datos en una planilla excel, o VB o lo que sea, para poder hacer un estudio estadístico de la eficiencia energetica de dicho equipo. 

Lo que había pensado en primera instancia es; Tomar la muestra de voltaje por alguna entrada análoga de un microcontrolador, para luego enviarla vía RS232 al PC.

No se si será lo mas optimo, en caso de que exista otra forma mejor, te agradecería tu ayuda.

Saludos


----------



## Twan

Ya, para empezar tienes que saber que valores te llegan al puerto serial, para eso tienes que conectarlo y llamar al HyperTerminal el cual de seguro te dará los valores, si no te llegan los valores o no te llegan bien legibles, cambia la configuración del puerto, ejemplo 2400,8,n,1 (2400 baudios, 8 bit,sin paridad y 1 bit de parada). Como no te puedo ayudar mucho con la programación por que no tengo instalado el VB, te adjunto un pequeño software que NO fue hecho por mi pero te ayudará ya que con este me inicié para capturar datos. Saludos y muy buena suerte, cualquier duda postea nuevamente..


----------



## Tratante

Hola Electronicko

Tomar la muestra de voltaje, luego enviar el valor por medio de un microcontrolador a una PC via RS232 es una buena solucion. Es posible usar el Excel para recibir los datos usando macros escritas en VBA.

En que paso estas? 

Saludos !


----------



## Electronicko

Hola Tratante, gracias por responder, la verdad estoy en el paso cero, ya que no se como hacer esto, y me urge tenerlo listo ya que es parte esencial de mi tesis.

alguna idea de como empezar?

Saludos.


----------



## Tratante

Hola Electronicko

Pregunta,,,,tienes posibilidad para programar un microcontrolador PIC? Si es asi, tienes alguna limitante sobre el lenguaje a usar para escribir el codigo? es decir, debes presentar el listado en ensamblador o es libre? Te puedo ayudar con el programita, si te urge, puedo usar un compilador basic que con unas cuantas instrucciones nos genera el codigo para ser grabado en un pic, si no tienes compilador con gusto te envio el codigo Hex asumiendo que tienes un grabador de Pic's o puedes conseguir que alguien te lo grabe, algunas tiendas especializadas en electronica ofrecen este servicio.

Cuentame mas sobre el rango de las señales y tipo (Volts / Amps  | AC / DC) que debes registrar, cuantas señales "simultaneamente" deberias poder sensar.

Por el tipo de aplicacion que estas necesitando podrias usar un PIC12F675 que tiene 4 entradas analogicas, es muy barato; lo puedes conseguir en tu localidad?

Disculpa hacerte tantas preguntas pero entiendo que tienes prisa.

Saludos !


----------



## dark_soul

Hola que tal, tambien estoy interaso en el tema, tengo una tarjeta de television para computadora, que incluye un control que se conecta al puerto RS32, me gustaria poder leer los datos que se recibe del control para poder adaptarlo.

Ya eh probado las soluciones que comentan, pero ni en l Hyper Terminal, ni desde VB, me aparece nada de datos, que puedo hacer.


----------



## Tratante

Hola Dark....

Conoces los parametros de comunicaciones que usa el adaptador de control remoto que estas conectando a la PC? valocidad, bits de datos, paridad y bits de parada? El hiperterminal y desde VB debes adecuar estos valores a los que tiene el adaptador,,,,si estos valores no son los adecuados seguro que no leeras los valores entregados por el adaptador, tal vez un poco de "basura" en forma de caracteres raros. Asegurate que estes usando el puerto correcto, algunas computadoras usan por default el COM2 como puerto unico y no el COM1.

Saludos !


----------



## dark_soul

Gracias por la ayuda, buscando en la red encontre codigo escrito en C, me parece, no se si de ahi pueda obtener datos para adaptalo a VB.


En caso de que no sirva, hay alguna forma de poder investigarlos?


----------



## Tratante

Hola dark_soul

Revise el codigo enviado, ahi aparece 1200, N, 8, 1 como parametros, cargalos en tu version de VB o en el hiperterminal y has la prueba.

saludos !


----------



## Electronicko

Tratante dijo:
			
		

> Hola Electronicko
> 
> Pregunta,,,,tienes posibilidad para programar un microcontrolador PIC? Si es asi, tienes alguna limitante sobre el lenguaje a usar para escribir el codigo? es decir, debes presentar el listado en ensamblador o es libre? Te puedo ayudar con el programita, si te urge, puedo usar un compilador basic que con unas cuantas instrucciones nos genera el codigo para ser grabado en un pic, si no tienes compilador con gusto te envio el codigo Hex asumiendo que tienes un grabador de Pic's o puedes conseguir que alguien te lo grabe, algunas tiendas especializadas en electronica ofrecen este servicio.
> 
> Cuentame mas sobre el rango de las señales y tipo (Volts / Amps  | AC / DC) que debes registrar, cuantas señales "simultaneamente" deberias poder sensar.
> 
> Por el tipo de aplicacion que estas necesitando podrias usar un PIC12F675 que tiene 4 entradas analogicas, es muy barato; lo puedes conseguir en tu localidad?
> 
> Disculpa hacerte tantas preguntas pero entiendo que tienes prisa.
> 
> Saludos !



Hola, debo programar en C y el micro que estoy usando es un atmega 168 de Atmel que posee 6 entradas ADC, el compilador que estoy utilizando es el winavr.

debo medir el voltaje producido por un foto diodo al detectar luz solar, desconozco el voltaje en este momento, pero trataré de averiguarlo.
Aunque me parece mucho que el foto diodo conduce mas o menos según la cantidad de luz solar que incide en él, entonces deberé utilizar un driver, para que me entregue una corriente o voltaje proporcional a la luz detectada.

Saludos.


----------



## sangreaztk

Utiliza el photodiodo como parte de un divisor de tensión, tu micro cuenta con ADC (Analogic to Digital Converter) ? si es así utilizalo y manda el dato por comunicación serie y podrías utilizar una tabla para relacionar el dato recibido con la cantidad de luz o puedes calcularlo, verifica las hojas de datos del photodiodo para conocer como es su respuesta. En el caso de que tu microcontrolador no cuente con ADC utiliza uno externo como el ADC0804.
Para el protocolo RS232 y el uso de AVRs te puede servir un poco el siguiente link: http://www.upiita.ipn.mx/download.php?view.173
Éxito!
Buena Vibra!


----------



## egofrn

Hola,

Porfavor me puden ayudar.....
Soy novato en el tema de micros, pero estoy realizando un termometro digital, utilizando el Atmega 48 y un sensor LM35dz...
Ya tengo armado el circuito, realizada la programcion en basic y visualizo el rango de temperatura mediante displays (7 segmentos).... 
Ahora, mi problema es que quiero visualizar los datos de temperatura en el computador; y no tengo idea de como conectar el Atmega al PC....
Me pueden ayudar..... Que puerto debo usar y como es la configuracion en el micro???
Necesito algun programa especial para ver los datos en el PC??????
Les agradezco su ayuda.
Saludos....


----------



## Meta

Electronicko dijo:


> Hola amigos, necesito capturar datos de un sensor, por puerto RS232, para poder visualizarlos en una planilla Excel.
> 
> El sensor esta conectado a un conversor analogo digital, y este a su vez envia la información por un MAX232, por lo tanto la información es binaria.
> 
> Me gustaría saber si alguien sabe como capturar dicha información, para poder verla en una planilla Excel
> 
> Gracias.



Hola:

Precisamente eso es lo que voy hacer en el futuro. Porque ahora estoy con MySQL guardando datos del puerto serie RS232. Eso si, paré el proyecto ya que se me quemó mi ordenador y no puedo seguir hasta que en Marzo compre uno nuevo.

He conseguido registrar con un PIC16F84A con el MAX232 al puerto serie registrar datos y almacenarlos en una base de datos de MySQL. Lo interactúo con Visual C# (más adelante Visual Basic .net). 

Excel o Calc (del opoenOffice y gratuito) se puede leer los datos desde MySQL y pasarlo a Excel. Lo bueno del Excel que puedes poner un gráfico como desees y que se actualice si se actualiza el RS232, claro.

Para que te hagas una idea en este manual en la página *437* te muestra como conectar Visual C# a MySQL. En Internet puedes encontrar como leer los datos de MySQL desde Excel.

Esto proyecto lo haré en el fin de curso, es de programación, no se si me dejarán hacer algo con la electrónica, ejjejeje. Mi proyecto en realidad es registrar los datos en el PC y controlar un PIC por Internet bajo puerto serie. Con ello controlo motor, ventilador, luz, alarmas, etc...

Ver vídeo.

Ver proyecto en desarrollo.

Un cordial saludo.


----------



## Vitinio

Hola a todos es interesante este tema de captar señal de corriente en la PC, en particular necesito visualizar de alguna manera una corriente de 4 a 20 mA en la pc, hay alguna forma de hacerlo, si me pueden ayudar.


----------



## Mejido

Twan, puedes pasarme la informacion del blog? esque no puedo acceder a el, te dejo mi correo electronico:


----------



## vitucco18

Electronicko dijo:


> Hola amigos, necesito capturar datos de un sensor, por puerto RS232, para poder visualizarlos en una planilla Excel.
> 
> El sensor esta conectado a un conversor analogo digital, y este a su vez envia la información por un MAX232, por lo tanto la información es binaria.
> 
> Me gustaría saber si alguien sabe como capturar dicha información, para poder verla en una planilla Excel
> 
> Gracias.



Hola amigo pudiste solucionar tu problema ??!.. ya que es un post antiguo, pero estoy pasando por el mismo caso. Y si tienes algun tipo de información que te pudo ayudar a resolver tu problema, espero que la puedas compartir. Desde ya muchas gracias.

Saludos
Victor


----------



## ByAxel

vitucco18 dijo:


> Hola amigo pudiste solucionar tu problema ??!.. ya que es un post antiguo, pero estoy pasando por el mismo caso. Y si tienes algun tipo de información que te pudo ayudar a resolver tu problema, espero que la puedas compartir. Desde ya muchas gracias.
> 
> Saludos
> Victor



Como usar puerto Serie en VBA (Excel)


----------



## jzmely

saludos....
mi problema es que tengo un circuito con un micro (18f2550-lenguaje c) el cual me mide 3 parametros corriente,voltaje y temperatura...esta lectura la envio al pc por medio de una xbee por el hyperterminal.... me interesaria saber como esa lectura la paso a un archivo excel para obtener alli un grafica estadistica ..... gracias


----------



## Ana Clara

Buenas

Estuve leyendo el post y estoy teniendo más o menos el mismo inconveniente. Les cuento en detalle, con un atmega16 estoy tomando una señal analógica y muestreandola con el conversor analógico digital del micro. Ahora necesito pasar esa información a la computadora para poder graficar la señal y analizarla, la parte del micro ya la tengo toda programada me faltaría poder leer el puerto rs232 de la computadora.

El único lenguaje de programación que manejo (además del assembler) es c++, se les ocurre como puedo hacer esto? La idea sería guardar toda la información que recibo en un documento de texto que después pueda usar en excel o matlab para graficar y analizar.

Gracias.


----------

