Puerto serial en visual basic

#1
Estoy creando algo sencillo es que soy novato, pero tengo un problema quisiera utilizar el puerto serial de la PC para controlar un RELE. El proyecto se trata de hacer una alarma que simule el timbre de mi colegio osea suene cada cierto periodo pero el problema es que no se como sacar un solo dato del puerto serial alguien sabe como funcionaria y aprovechando el mensaje para que me orienten para crear una base de datos manipulable, así poder cambiar la hora de las alarmas.

GRACIAS
 

Adjuntos

#2
Para enviar datos desde visual basic primero tienes que utilizar una dll para que implemente esta funcion, puedes utilizar:
A) io.dll
B) inoutput.dll

con io.dll para enviar datos creo que seria asi:
Código:
PortOut dirpuerto,dato
dirpuerto es la direccion del puerto de salida que vas a usar, para saber cual es, puedes mirarlo en mi pc>hardware>administrador de disp. Pincha en el puerto que quieras usar y en la pestaña de recuros te vendra algo como (un numero en hexadecimal) 0378F-037F

en dato puedes poner lo siguiente (un numero decimal del 1~255):
Código:
S1=1 -> 00000001
S2=2 -> 00000010
S3=4 -> 00000100
S4=8 -> 00001000
S5=16->00010000
S6=32->00100000
S7=64->01000000
S8=128>10000000
Todas=255>11111111
Todo esto lo he sacado de mis apuntes tecnologia, no lo he probado nucna.
Saludos
 
#3
Para activar un rele te bastará con utilizar alguna linea como la DTR, que saca -13 volt cuando esta activa y + 13 volt cuando esta desactiva. Podrias usar en visual basic el mscomm y una vez que tengas abierto el puerto con mscomm1.open puedes usar el mscomm1.dtreneble. Y listo.
Saludos y suerte,
 
#4
ok hola a todos, manejar el puerto serie del computador con Visual Basic no es nada complicado, ya que este posee un control previamente diseñado para esta funcion (COMM). hace poco escribi un pequeño programa para comunicar un modulo gps sirf con el pc utilizando el conocido protocolo serial rs 232, si estan interesados puedo enviarles los form para que se orienten, claro esta que deben poseer conocimientos basicos sobre visual basic y rs232,
 
#5
GRACIAS pero el proyecto ya lo tube que entregar pero aun asi les pido hayuda para poder terminarlo asi que si alguien tiene el corazon tan grande como su PANZA aver si no me paza el codigo fuente de algun programa donde aya utilizado el puerto serial asi aver si me ayudan MIL GRACIAS

es que eso de que ya lo entregue no quiere decir que me quede con la DUDA de como era


MIL GRACIAS :p
 
#6
bien gracias ya le atine pero en el pueto PARALELO

me baje el IO.DLL

y si saca el DATO 1 o 0

out &H378, (dato)

pero hay que jalar un modulo

bien gracias a aquellos que me pasaron eso del COMM pero la verdad no le e entendido ni ROSCA :rolleyes: ops: pero pueden decirme o postear lo que va en un BOTON para VER ME GUSTARIA MUCHO :LOL: 8) y se los agradeciria

MIL GRACIAS
 
#7
Hola, me podrías ayudar con el tema, sólo necesito leer datos a través del puerto com1 y 2, de poderme enviar alguna rutina en visual basic 6 o .net te lo agradeceré, si gustas podemos intercambiar información, no sé si te interesa...

Mil gracias...

okcomputer dijo:
ok hola a todos, manejar el puerto serie del computador con Visual Basic no es nada complicado, ya que este posee un control previamente diseñado para esta funcion (COMM). hace poco escribi un pequeño programa para comunicar un modulo gps sirf con el pc utilizando el conocido protocolo serial rs 232, si estan interesados puedo enviarles los form para que se orienten, claro esta que deben poseer conocimientos basicos sobre visual basic y rs232,
 
#8
Hola todos,
utilizar el mscomm de visual basic 6.0 no es dificil
Primero se debe incluir el componente en el proyecto. Si el visual basic está en español, se va a "Proyecto -> Componentes" (o se puede presionar CTRL T) y en la ventana que se abre se selecciona "Microsoft comm control 6.0", con esto sale un icono con la forma de un telefono
en la barra de herramientas, se arrastra el control al formulario y ya está.

Configuración basica del puerto (si el control tiene por nombre MSCOMM1)

with MSCOMM1
.CommPort = 1 'Numero del puerto
.Settings = "9600,N,8,1" 'Rata de baudios, paridad, bits de datos, bits de parada
.Handshaking = comNone
.InputMode = comInputModeText
.RThreshold = 1 'Define cada cuantos bytes recibidos se genera un evento
.InputLen = 1 'Cuantos bytes se extraen al leer el puerto
end with

Para abrir el puerto

MSCOMM1.PortOpen = True


Para enviar un dato por el puerto (debe estar abierto)
MSCOMM1.Output = Chr(0x31) 'Envia el numero "1" por el puerto

Para leer un dato del puerto
Inport=MSCOMM1.Input

Espero que esto le sirva a alguien
 
#9
Estimado Ricardo (u otros) necesito ayuda para poder leer el estado de 8 bits que es simulado por un dipswitch con visual basic, por ejemplo si pongo en los dip switch 11111111 y leer algo con el programa y asi para cada cambio.
ayuda please!
 
#10
Hola. Si lo único que quieres es leer el estado de los 8 bits del dipswitch creo que te convendria mas utilizar el puerto paralelo, personalmente no me gusta y no lo utilizo, pero alguna vez utilicé la libreria io.dll y funciona. En este link hay un pequeño foro que tal vez te pueda servir.

https://www.forosdeelectronica.com/f26/entrada-datos-puerto-paralelo-7799/

Si quieres utilizar el puerto serial debes poner algo que lea el estado del dipswitch (como un pic u otro microcontrolador) y lo envie a través de un puerto de comunicación serial. En ese caso, para leerlo en VB 6.0 debes utilizar el control MSCOMM.
 
#11
:D Gracias por la respuesta.
Estoy experimentando en protoboard aun, mi circuito convierte ocho bits paralelo ocho bits serie con el MAX232 y el 74165, y un clok de 9600 Hz, a la salida tengo un tren de pulsos. Inicialmente pensaba en usar el puerto paralelo, veo que esta por desaparecer, especialmente en las lap top, y el proyecto que vengo realizando es para la adquisicion de datos para equipos portatiles y es por eso en que me es importante desarrollarlo para enviar por el puerto serie.
 
#12
Interesante proyecto... muy util y aparentemente simple...
El 74165 te sirve para capturar el estado de los 8 bits y generar un tren de pulsos... hasta allí lo entiendo y me lo imagino...
pero como generas el bit de parada y la paridad??? sería interesante saberlo si puedes compartirlo.
 
#17
Hola Mushito. Disculpa por no responder a tus mensajes anteriores pero he estado muy ocupado... solucionaste tu problema?

Nicolum, depurar con el MsComm no es fácil y menos si no puedes controlar el dispositivo que está enviando los datos para que los envie a la velocidad que quieras. En esos casos lo que yo he hecho es mostrar en la ventana de salida (comando Debug.print) lo que está llegando al puerto y con eso te puedes hacer una idea de la trama de datos. Encontrar las letras PRT en el mensaje no es dificil, Visual Basic cuenta con funciones que hacen eso (encontrar una cadena de caracteres dentro de otra), ahora no recuerdo cuales son, pero consulta el MSDN, no es dificil encontrarlas.

;) exitos.
 
#19
Prodias publucar el circuito que usastes?
Me interesa un poco el tema y mas que nada tengo curiosidad superficial, no pretendo aondar mucho en el tema, pero quiero ver como es esa que plateas, podes publicar el programilla tambien?
Gracias!