Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Mr.Blue

#211
Hola gente bueno les comento cual es mi idea.
Tengo el siguiente programa en VB con el cual ago la caputra de mi web cam en tiempo real.

FROM

Código (vb) [Seleccionar]
   Option Explicit
   Dim temp As Long
 
   ' botón que inicia la captura
   '''''''''''''''''''''''''''''''''''''''
   Private Sub Command1_Click()
   Dim temp As Long
 
    hwdc = capCreateCaptureWindow("CapWindow", ws_child Or ws_visible, _
                                       0, 0, 320, 240, Picture1.hwnd, 0)
     If (hwdc <> 0) Then
       temp = SendMessage(hwdc, wm_cap_driver_connect, 0, 0)
       temp = SendMessage(hwdc, wm_cap_set_preview, 1, 0)
       temp = SendMessage(hwdc, WM_CAP_SET_PREVIEWRATE, 30, 0)
       temp = SendMessage(hwdc, WM_CAP_SET_SCALE, True, 0)
       'esto hace que la imagen recibida por el dispositivo se ajuste
       'al tamaño de la ventana de captura (justo lo que yo buscaba)
       DoEvents
       startcap = True
       Else
       MsgBox "No hay Camara Web", 48, "Error"
     End If
 
   End Sub
 
   ' botón para detener la captura
   '''''''''''''''''''''''''''''''''''''''
   Private Sub Command2_Click()
 
       temp = DestroyWindow(hwdc)
       If startcap = True Then
           temp = SendMessage(hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
           DoEvents
          startcap = False
       End If
 
   End Sub
 
   ' Botón que abre el dialogo de formato
   ''''''''''''''''''''''''''''''''''''''''''''
   Private Sub Command3_Click()
           If startcap = True Then
 
               temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
               DoEvents
           End If
   End Sub
   ' Mostrar dialogo de Configuracion de la WebCam
   ''''''''''''''''''''''''''''''''''''''''''''''''''''
   Private Sub Command4_Click()
    Dim temp As Long
       If startcap = True Then
           temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOCONFIG, 0&, 0&)
           DoEvents
       End If
   End Sub
 
   Private Sub Form_Load()
       Command1.Caption = "Iniciar"
       Command2.Caption = "Detener"
       Command3.Caption = "Formato"
       Command4.Caption = "Configurar"
       Me.Caption = "Capturador de Web Cam"
   End Sub
 
   Private Sub Form_Resize()
       On Error Resume Next
       Move (Screen.Width - Width) \ 29, (Screen.Height - Height) \ 29
   End Sub
 
   Private Sub Form_Unload(Cancel As Integer)
 
       temp = DestroyWindow(hwdc)
       If startcap = True Then
           temp = SendMessage(hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
           DoEvents
           startcap = False
       End If
   End Sub


MODULE

Código (vb) [Seleccionar]
    Option Explicit
    ' declaraciones Api, constantes, variables
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Const ws_child = &H40000000
    Public Const ws_visible = &H10000000
    Public Const WM_USER = 1024
    Public Const wm_cap_driver_connect = WM_USER + 10
    Public Const wm_cap_set_preview = WM_USER + 50
    Public Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
   Public Const WM_CAP_DRIVER_DISCONNECT = WM_USER + 11
   Public Const WM_CAP_DLG_VIDEOFORMAT = WM_USER + 41
   Public Const WM_CAP_DLG_VIDEOCONFIG = WM_USER + 42
   Public Const WM_CAP_SET_SCALE = WM_USER + 53
 
   'Api para crear la ventana de captura
   Public Declare Function capCreateCaptureWindow Lib "avicap32.dll" _
       Alias "capCreateCaptureWindowA" ( _
       ByVal lpszWindowName As String, _
       ByVal dwStyle As Long, _
       ByVal x As Long, _
       ByVal y As Long, _
       ByVal nWidth As Long, _
       ByVal nHeight As Long, _
       ByVal hwndParent As Long, _
       ByVal nID As Long) As Long
 
   Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
       ByVal hwnd As Long, _
       ByVal wMsg As Long, _
       ByVal wParam As Long, _
       lParam As Any) As Long
 
   Public Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean
   'Solo 16 Bits (vb2, vb3 y vb4  de 16)
   'Declare Function SendMessage Lib "User" ( _
       ByVal hWnd As Integer, _
       ByVal wMsg As Integer, _
       ByVal wParam As Integer, _
       lParam As Any) As Long
   'Api para crear la ventana de captura
   'Declare Function capCreateCaptureWindow Lib "avicap.dll" ( _
       ByVal lpszWindowName As String, _
       ByVal dwStyle As Long, _
       ByVal x As Integer, _
       ByVal y As Integer, _
       ByVal nWidth As Integer, _
       ByVal nHeight As Integer, _
       ByVal hwndParent As Integer, _
       ByVal nID As Integer) As Long
   'Declare Function DestroyWindow Lib "User" (ByVal hndw As Integer) As Integer
   Public hwdc As Long
   Public startcap As Integer

 
 
Bueno con esto tengo algo o una idea, pero lo que quiero hacer es poner esto en mi web, osea poder entrar en cualquier maquina y ver que sucede en mi casa o donde apunte mi webcam. Similar a un sistema de vigilancia.

Ahora bueno como ago para mandar esto a un servidor? debere usar socket?
No se si me explico bien, puede ser tambien q este codigo no me sirva, ya que enrealidad lo de tiempo real no sirve, tendria que ser como fotos o capturas de imagenes guardarlas y enviarlas, y hacer un refresh en la web y que vaya actualizadon, creo que es lo mas correcto. pero no se estoy medio en las nueves son nuevo en la prog.

Mas que nada este post esta destinado a que me den sugerencias, e ideas, de por donde encarar el problema.
Desde ya gracias.

Aca dejo lo q seria el codigo en html para la visualizacion de la cam.
Código (html4strict) [Seleccionar]
<HTML>
<HEAD>
<TITLE>Webcam</TITLE>

<META HTTP-EQUIV="Refresh" CONTENT="30">
</HEAD>
<BODY>

<IMG SRC="ImagesWebCam.gif">
<FONT FACE=Verdana SIZE=6 COLOR=#0011AA><B>Actualizacion cada minuto</B></FONT><BR><BR>
<FONT FACE=Verdana SIZE=2 COLOR=#9911AA><B>viendo nuestra vida en directo.</B></FONT><BR><BR>
<CENTER><IMG SRC="(aqui ira la ruta de la imagen la cual se refrescara cada minuto)">&" BORDER=1></CENTER><BR>
<CENTER><HR WIDTH=75% HEIGHT=2px COLOR=#0011AA></CENTER><BR>

</BODY>
</HTML>


Saludos
#212
Foro Libre / Re: Pregunta matemáticas
13 Septiembre 2010, 04:56 AM
Tendrias que leer esto que explica que es una relacion en matematicas.
http://es.wikipedia.org/wiki/Relaci%C3%B3n_matem%C3%A1tica
http://es.wikipedia.org/wiki/%C3%81lgebra_relacional
Por ahi lo estas viendo desde el punto de vista de que son edades consecutivas.

Si las edades son 5, 6, y 7
y el menor ahora tiene 20, viendo q hay un año de dif el mayor tendria 22.
#213
Desarrollo Web / Ver mi webcam desde mi servidor host
13 Septiembre 2010, 04:34 AM
Hola gente bueno les comento, tengo una aplicacion en VB 6.0 en la cual capturo mi webcam, nada complicado solo visualizacion de la webcam.
Bueno ahora se me ocurrio querer ver mi webcam desde una web para poder ver desde mi celular.
En cuestion lo principal es logar subir a un host la webcam. Como un sistema de vigilancia.
Mi duda es que no se por donde empezar, tengo esta aplicacion en vb supongo que mediante sockets podria mandar esta informacion a un servidor, y en el servidor tendria que tener una aplicacion que me permita visualizar la cam, pero aca tendria que usar otro leguaje php?, java? (No lo se).
Se que hay varios programas por ahi que me simplificarian el trabajo y el dolor de cabeza, pero no es la idea.
Alguien ah echo algo parecido?
Alguna forma mas sencilla? Ideas?
Gracias de antemano, Saludos.
#214
Electrónica / Re: Etapa de potencia
2 Septiembre 2010, 07:02 AM
No esta del todo claro que es lo que queres hacer. Haber no tengo un equipo asi para ver, pero me surgen dudas, estas hablando de una potencia, potencia para que? para una bazzoca (buffer), o para que salga por los parlantes del auto nada mas?.
O puede ser ambos, que potencia es? q modelo, marca? supongo q es estereo.
#215
El que te pase yo es el que uso, y funciona bien, lo de la corvencion no se si estara bien o no, lo tendria q ver, cuando pueda te digo, el programa tiene para seleccionar por que puerto se manda la informacion, sea DB9 o LPT1 o 2.
#216
solo dire que merece una chincheta :D
#217
Conclusion: Nunca pidan una salchicha jajajajaj :laugh:
#218
@andres_5

Quemador PIC Circuito

http://www.megaupload.com/?d=NRBHEVYM

Ahi habia dejado uno, el circuito es completamente funcicional, no es muy caro armarlo si no me equivoco 10dolares saldra o menos.
Solo necesitas un par de transistores, diodos, diodo zener, algunas resistencias, dos leds, y socalos para pic de 8; 18; 28, y 40 a y un conector hembra DB-9

El circuito es sencillo y facil de armar.

hasta ahi el hardware, abria que ver ahora el software, no conozco ninguno para linux, pero estoy seguro de debe haber, habria que buscar en google haber q hay, cualquier cosa te aviso si encuentro algo.
Si no podes en una maquina virtual instalar un SO para hacer el quemado.

Saludos

Pegate una vuelta por esa pag no lei muy bien pero creo q es un quemador (software) para linux
http://pikdev.free.fr/

Sino aca podes ver que onda tmb
http://pic-linux.foroactivo.net/programadores-f12/enlaces-a-paginas-de-programadores-t4.htm
#219
Hola a todos, bueno, creo q adelante y tire codigo muy rapido jaja, pero son algunos ejemplos muy sencillos como veran, los pic se programan en lenguaje assambler para pic, diferente al assembler de maquina, si quieren puedo subir una pequeña introduccion, a lo largo del dia ya que en estos momentos no puedo.


Pd: Ahi en mi anterior post subi a megaupload un quemado barato de armar alrededor de unos 30 a 40$ (Argentina) dependiendo de donde vivan. En dolares seran 10dolares masomenos.

Edit.
Un ejemplo de un pic seria el siguiente 16f84

RA0 a RA4 RA es un puerto bidireccional. Eso quiere decir que puede ser configurado como entrada o como salida. El número que hay después de RA indica el numero de bit (0 a 4). Por tanto, tenemos un puerto bidireccional de 5 bits donde cada bit puede ser configurado como entrada o como salida.

RB0 a RB7 RB es un segundo puerto bidireccional. Se comporta exactamente de la misma manera que RA, excepto que este tiene 8 bits.

VSS y VDD Estos son los pins de alimentación. VDD es la alimentación positiva, y VSS es el negativo de la alimentación, o 0 Voltios. La tensión máxima de alimentación que puedes utilizar son 6 Voltios, y el mínimo son 2 Voltios.


OSC1/CLK IN y OSC2/CLKOUT
Estos pines son donde conectaremos el reloj externo, para que el microcontrolador disponga de algún tipo de temporización.

MCLR  Este pin se utiliza para borrar las posiciones de memoria dentro del PIC (p.ej. cuando quiero reprogramarlo). Durante el funcionamiento normal está conectado a la alimentación positiva.


INT Este es un pin de entrada que puede ser monitorizado. Si el pin se pone a nivel alto, podemos hacer que el programa se reinicie, se pare o cualquier otra función de deseemos. No lo utilizaremos mucho.


TOCK1 Esta es otra entrada de reloj, que opera con un temporizador interno. Opera aisladamente del reloj principal. De nuevo, este tampoco lo utilizaremos mucho.


Como programar


Comentario: Esta imagen creo que lo dice todo


Bueno en primer lugar se programa en assembler el programa que queremos realizar, existen editores o simplemente un bloc de notas con una extensión .asm.
El paso siguiente es tomar ese fichero .asm y pasarlo a .Hex para poder grabarlo en el pic y que este entienda las intrucciones que debe realizar, para esto podemos usar el MASN para dar el mismo ejemplo, pero existen otros.
Cuando tenemos el  fichero .ASM lo que resta es quemarlo en el pic, para esto utilizamos el IC-Prog, en este programa debemos indicar que pic vamos a usar de una lista que tenemos en el mismo. Y listo ya tenemos el pic programado.

Circuito Con un pic


Aca tenemos un circuito sencillo con un pic

Fuente: http://wiki.webdearde.com/index.php/Tutorial:_Programaci%C3%B3n_de_PICs_en_Ensamblador

PD: De esta misma fuente, se explica como programar en en assembler para pic.

Ahi pueden encontrar como programar un pic explicado detalladamente, cualquier duda pregunten, no doy una explicacion propia porq hay mucha info en internet que seguramente lo expliquien mejor que yo. Esta web que paso es una. :xD

#220
mmm.. tengo algunos problemas al utilizar GetlastError, revisado la MSDN, vi un ejemplo de como usarla pero al momento de compilar me salen algunos errores, creo que es por el IDE del compilador que tengo Dev-C++

Esto es lo q me tira el compilador
StringCchPrintf
#include <strsafe.h>  ---> esta libreria falta.

Hay algun reemplazo para esta libreria, para el ide q tengo?
O mejor cambio a VC++