Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

13/03/2009 #1


Controlar puerto serial automáticamente al ejecutar el programa
Bueno pues les explico el proyecto que traemos en manos, es un sistema de alarma en el cual queremos eliminar la necesidad de los detectores de movimiento que tienen un costo algo alto, y sustituirlos con webcams,l o cual permite la videovigilancia en vivo, y mediante un software detecta los cambios de movimiento, ahora el software que estamos utilizando (webcamxp) tiene la opcion de ejecutar un programa a la hora de detectar movimiento, la idea es la siguiente


crear un programa , como el de pc-control de neo, pero que al abrirse te active algun pin especiífico del puerto serial, esto a su vez ya puede ir a la parte electronica del sistema y activar una alarma...., el programa tendria que abrirse, activar el pin del serial, luego cerrarse dsepues de unos segundos, para que quee listo para volverse a abrir en caso de que se necesite

he buscado en estos foros y estan muy bien mas que solo hay control manual del puerto serial, no algo que se active automático, espero que sepan si hay algo o si no como hacerlo? muchisimas gracias, felicitaciones por todos los aporteS!
13/03/2009 #2


Claro que se puede, si lo haces en VB mandarías un dato por el puerto serie cuando se cargue el form

Private Sub Form_Load()
MSComm1.Output = "hola" 'Aquí envias el dato
End Sub

Y luego con un timer que tu programa se cierre al haber transcurrido n segundos.
17/03/2009 #3


y se puede alrevez? que al recibir un pulso de un circuito en el serial se ejecute automáticamente un programa que a su vez abra otro, y el programa inicial se cierre?


mas claro explicado, que le llegue un pulso al serial y este ejecute un programa A que a su vez el programa A llame a B y el programa A se cierre, espero su comentario gracias =)
17/03/2009 #4


Para saber que se está recibiendo un pulso en el serial necesitas abrir el puerto serie primero, por ello debes tener un programa abierto monitoreando el puerto serie de siempre y desde ahí abrir y/o cerrar otros programas después de cierto tiempo que tu asignes.

Manteniendo abierto siempre el programa que monitoree el puerto serie.
17/03/2009 #5

Avatar de Moyano Jonathan

Ahora si vos querés que cuando el puerto serie reciba un dato , windows abra el programa ahi es más dificil porque tenés que manejar interrupciones de windows
17/03/2009 #6


Moyano Jonathan dijo:
Ahora si vos querés que cuando el puerto serie reciba un dato , windows abra el programa ahi es más dificil porque tenés que manejar interrupciones de windows
Al utilizar las interurpciones de Windows, el puerto serie quedaría siempre abierto ? Sino como se enteraría que se recibió algo, aclarame esa duda.
17/03/2009 #7

Avatar de Moyano Jonathan

Tendría que investigar un poco más ese tema, pero creo que no porque lo que supuestamente detectaria windows sería un cambio de estado en la pata de recepción de datos, osea hace una interrupción por hardware. Igual dejame que investigue un poco mas y te digo.......asi no me equivoco.
17/03/2009 #8


Moyano Jonathan dijo:
Tendría que investigar un poco más ese tema, pero creo que no porque lo que supuestamente detectaria windows sería un cambio de estado en la pata de recepción de datos, osea hace una interrupción por hardware. Igual dejame que investigue un poco mas y te digo.......asi no me equivoco.
De ser cierto estaría bien para lo que propone eacs y a lo mejor aplicarlo a otras cosas tambien.
17/03/2009 #9

Avatar de Meta

Re: Controlar puerto serial automáticamente al ejecutar el programa
eacs dijo:
Bueno pues les explico el proyecto que traemos en manos, es un sistema de alarma en el cual queremos eliminar la necesidad de los detectores de movimiento que tienen un costo algo alto, y sustituirlos con webcams,l o cual permite la videovigilancia en vivo, y mediante un software detecta los cambios de movimiento, ahora el software que estamos utilizando (webcamxp) tiene la opcion de ejecutar un programa a la hora de detectar movimiento, la idea es la siguiente


crear un programa , como el de pc-control de neo, pero que al abrirse te active algun pin especiífico del puerto serial, esto a su vez ya puede ir a la parte electronica del sistema y activar una alarma...., el programa tendria que abrirse, activar el pin del serial, luego cerrarse dsepues de unos segundos, para que quee listo para volverse a abrir en caso de que se necesite

he buscado en estos foros y estan muy bien mas que solo hay control manual del puerto serial, no algo que se active automático, espero que sepan si hay algo o si no como hacerlo? muchisimas gracias, felicitaciones por todos los aporteS!
Dime en forma de lista numerada lo que quieres y quizás te pueda decir como lo haces en Visual C#.

Si quieres ayuda de algo.
http://www.abcdatos.com/tutoriales/tutorial/z9521.html
http://www.abcdatos.com/tutoriales/tutorial/v12.html

Lo de nada más ejecutar la aplicación ya se puede detecta el puerto serie, abrirlo para enviar datos a donde quiera y volver a cerrarlo. ¿Sólo es para la alarma?

Código:
// Visual C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Alarma_01
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            serialPort1.Open(); // Abrir puerto.
            //Instrucciones...
            serialPort1.Close(); // Cerrar puerto.
        }
    }
}
Código:
'Visual Basic .net

Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Windows.Forms

Namespace Alarma_01
    Public Partial Class Form1
        Inherits Form
        Public Sub New()
            InitializeComponent()
        End Sub
        
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
            serialPort1.Open() ' Abrir puerto.
            'Instrucciones...
            serialPort1.Close() ' Cerrar puerto.
        End Sub
    End Class
End Namespace
Saludo.

PD: Si es posible, pon el enlace de pc-control de NEO que no lo encuentro.
01/04/2009 #10


muchisimas gracias por su aporte, ya está funcionando el programa, lo que hace es lo siguiente, un programa para camaras web esta monitoreando si hay movimiento en la camara, si lo hay ejecuta la aplicacion que hicimos, entonces la aplicacion se abre, manda un pulso al puerto serial, y se activa acá nuestro sistema de alarmas =)! ya quedo funcionando, lo que queremos hacer ahora también es ver si podemos hacerlo inverso osea:

que nuestro sistema electronico mande un pulso al puerto serial, y se ejecute el programa de las webcam :p

como podriamos lograr eso? muchas gracias

pd: Meta eres la onda
01/04/2009 #11

Avatar de Meta

¿Si has acabado. Puedes poner fotos o vídeos del proyecto?
01/04/2009 #12


tenemos todo por separado, no lo hemos probado aun todo junto, pero claro que lo vamos a mostrar aqui en video =D! sabrás como hacer lo ultimo meta? lo de ejecutar la aplicacion cuando se reciba un pulso en el serial? si nos puedes ayudar cno el programa ahi nos dices cuanto e$ :p
01/04/2009 #13


por cierto, estamos tratando de hacer este http://perso.wanadoo.es/chyryes/circuitos/cerradura.htm alguno de ustedes ya lo hizo y lo probo? ahi se utiliza el pic 16F876, nosotros tenemos el 16fl876A. No son iguales? no funcionaria? haciendo eso ya podremos mostrar el proyecto hecho =)
01/04/2009 #14

Avatar de Meta

eacs dijo:
tenemos todo por separado, no lo hemos probado aun todo junto, pero claro que lo vamos a mostrar aqui en video =D! sabrás como hacer lo ultimo meta? lo de ejecutar la aplicacion cuando se reciba un pulso en el serial? si nos puedes ayudar cno el programa ahi nos dices cuanto e$ :p
¿Te refieres que desde el puerto serie mande una señal de algo al programa del PC para que ese programa haga algo?
01/04/2009 #15


me refiero a que nuestro sistema electronico mandara un pulso al serial en algun momento, y entonces el pc lo detecte y ejecute un programa (en este casoel de las webcam) es todo, un maestro nos dijo que se puede hacer con interrupciones o polling, la verdad no tengo ni idea


por cierto Meta, sabras lo del pic 16f876a para lo del otro circuito de la alarma con teclado?
01/04/2009 #16

Avatar de Meta

Lo que dices es crear una Interfaz para el PC. Esa Interfaz detecta el pulso del PIC desde el puerto serie y si puede activar cualquier programa que usted tenga instalado en Windows.
01/04/2009 #17


ok, y como? de verdad, si lo puedes hacer , di cuanto sale de dinero y tel o pagamos
02/04/2009 #18

Avatar de Meta

Nota: Dije que se puede ejecutar, no dar órdenes al propio programa de la WebCam.

Lo tengo pensado hacer, pero más adelante, ya que se me quemó el PIC, el MAX232 y el LCD HD44780D 16x2. Estoy entretenido en otras cosas con otro PIC nuevo, es fácil de hacer y tengo previsto hacer un manual sobre él como he hecho con los demás y no los suelo cobrar, es gratis para todos. Algunos ya me conocen.

Si quieres hacemos pruebas, me dice que orden suelta el PIC y haré una parte del programa. El programa debe soltar información si es de un carácter mejor ya que es más fácil. También debes decirme cuanto tiene de baudios, paridad, etc del puerto serie. Decirme exactamente la dirección donde tienes el ejecutable de la webcam y su nombre completo respetando mayúsculas.

Ya verás aunque parezca sencillo de hacer, requiere su tiempo.
02/04/2009 #19


con ejecutar el programa de la webcam es suficiente, el programa ya hace todo solo, con un simple pulso de 12 volts que se le de al puerto serial, que se ejecute el programa de la webcam, es todo, de hecho no tiene nada que ver con el pic que se use ni nada (pienso yo) solamente es un pulso en el serial y listo que se ejecute el programa, la verdad no tengo idea de los baudios, paridad, o etc jajaja :( lo siento soy demasiado novato para programar y todo eso

el ejecutable está en C:\Archivos de programa\wLite\wLite.exe mira Meta, as de cuenta que lo que queremos hacer, es que cuando nosotros le mandemos una mensaje de texto a un modem especial que estamos utilizando, este activa una salida, es nada mas asi voltaje, no se si de ahi se pueda conectar directamente al serial, o ocupemos pasarlo por un pic? para que la pc reconozca eso y ejecute el programa y listo, te agregue al gmail meta tambien, saludos
02/04/2009 #20

Avatar de Meta

Hola:

Un sólo pulso de 12v y ya está eso no va a reconocer nada, necesitas un protocolo de comunicación llamado RS232. Por eso de los baudios. Cuando sepas los baudios y demás historias podemos empezar otro paso, de momento es como tirarte al mar sin salvavidas.

Un cordial saludo.

EDITO:
Mejor usar el 16F84A-04. No hace falta el LCD.



EDITO 2:

Estoy haciendo el programa, espera.

C:\Archivos de programa\wLite\wLite.exe


Saludo.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.