Está en la página 1de 26

FACULTAD DE INGENIERA ESCUELA DE MECNICA

TEMA: CONTROL DE UNA WEBCAM MEDIANTE UN SOFTWARE CREADO EN VISUAL BASIC.

NIVEL: SEXTO

INTEGRANTES: LUIS AYMACAA MARCO JARAMILLO IVAN PASUA

D.M. QUITO, AGOSTO DEL 2011

1. TEMA Control de una webcam mediante un software creado en visual basic. 2. DEFINICIN DEL PROBLEMA Ayudar a las instituciones educativas, a la ciudadana, a los bancos, para que no haya ms asaltos y reducir la delincuencia en el pas 3. JUSTIFICACIN El proyecto est dirigido para la seguridad de la ciudadana porque ya en la actualidad hay muchos robos en las calles, bancos, Instituciones educativas. Con el proyecto realizado y funcionando reducir la delincuencia para el beneficio de la sociedad y del pas. 4. OBJETIVOS 5.1. Objetivo general Realizar el movimiento de una cmara web a travs de 1 servomotor y mediante una programacin en Visual Basic. 5.2. Objetivos especficos
Aplicar los conocimientos adquiridos en programacin y electrnica.

Construir una maqueta sobre el proyecto a realizarse.


Realizar un software amigable en visual basic para los usuarios que lo

manejen. 6. ESQUEMA Y FUNCIONAMIENTO 6.1. Esquema

Figura 1. (Esquema del circuito en proteus) 6.2. Funcionamiento El proyecto funciona mediante un servomotor que hace girar la webcam de izquierda a derecha, esto se realiza mediante un software en visual basic, este enva ordenes al microcontrolador para el funcionamiento del giro de la webcam, el microcontrolador est programado para que envi pulsos al servomotor y realice su funcin. 7. MARCO TERICO 7.1. Servomotor Un servomotor es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posicin dentro de su rango de operacin, y mantenerse estable en dicha posicin. Los servos se utilizan frecuentemente en sistemas de radio control y en robtica, pero su uso no est limitado a estos. Es posible modificar un servomotor para obtener un motor de corriente continua que, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y baja inercia que caracteriza a estos dispositivos. 7.1.1. Caractersticas de los servomotores Los servomotores estn conformados por un motor, una caja reductora y un circuito de control. Un servo normal o estndar tiene 3kg por cm. de torque, lo cual es bastante fuerte para su tamao. Tambin potencia proporcional para

cargas mecnicas. Un servo, por consiguiente, tiene un consumo de energa reducido. La corriente que requiere depende del tamao del servo. Normalmente el fabricante indica cual es la corriente que consume. La corriente depende principalmente del par, y puede exceder un amperio si el servo est enclavado, pero no es muy alto si el servo est libre movindose todo el tiempo. 7.1.2. Control del Servomotor Los servomotores hacen uso de la modulacin por ancho de pulsos (PWM) para controlar la direccin o posicin de los motores de corriente continua. La mayora trabaja en la frecuencia de los cincuenta hercios, as las seales PWM tendrn un periodo de veinte milisegundos. La electrnica dentro del servomotor responder al ancho de la seal modulada. Si los circuitos dentro del servomotor reciben una seal de entre 0,5 a 1,4 milisegundos, este se mover en sentido horario; entre 1,6 a 2 milisegundos mover el servomotor en sentido antihorario; 1,5 milisegundos representa un estado neutro para los servomotores estndares. A continuacin se exponen ejemplos de cada caso: _ || || __ | | | | | | ____ | | | | ____ _ ||| ||| |________| |_| |__________

_________| |____| |___|

Figura 1. (Seal de ancho de pulso modulado)

_ || ||

_ || || || ||

|| || || || || ||

_________| |____| |___| |________| |__| |__| |___________


Figura 2. (Motor en sentido horario (ejemplo 0,7 ms))

___

___

___

___

___

___

| | | |

| | | | | | | | | | | | | | | | | | | |

_________| |____| |___| |___| |__| |__| |_____


Figura 3. (Motor neutral (1,5ms))

______ | | | | | |

______ | | | | |____| | | | |

______ | | | | | |

______

______

_________|

|___|

|___|

|__|

|____

Figura 4. (Motor en sentido antihorario (ejemplo 1,8ms)):

7.1.3. Partes de un Servomotor

Figura 5. (Partes de un servomotor)

Los servomotores tienen 3 terminales:


Terminal positivo: Recibe la alimentacin del motor (4 a 8 voltios) Terminal negativo: Referencia tierra del motor (0 voltios) Entrada de seal: Recibe la seal de control del motor

Los colores del cable de cada terminal varan con cada fabricante: el cable del terminal positivo siempre es rojo; el del terminal negativo puede ser marrn o

negro; y el del terminal de entrada de seal suele ser de color blanco, naranja o amarillo.

Figura 6. (Terminales de un servomotor y su ancho de pulso)

7.2. Circuito Un circuito es una red elctrica (interconexin de dos o ms componentes, tales como resistencias, inductores, condensadores, fuentes, interruptores y semiconductores) que contiene al menos una trayectoria cerrada. 7.2.1. Partes de un circuito

Figura 7. (Partes de un circuito)

Componente: Un dispositivo con dos o ms terminales que puede fluir carga dentro de l. En la figura 7 se ven 8 componentes entre resistores y fuentes.

Nodo: Punto de un circuito donde concurren varios conductores distintos. A, B, D, E son nodos. Ntese que C no es considerado como

un nodo puesto que es el mismo nodo A al no existir entre ellos diferencia de potencial o tener tensin 0 (VA - VC = 0).

Rama: Conjunto de todos los elementos de un circuito comprendidos entre dos nodos consecutivos. En la figura 1 se hallan siete ramales: AB por la fuente, AB por R1, AD, AE, BD, BE y DE. Obviamente, por un ramal slo puede circular una corriente.

Malla: Un grupo de ramas que estn unidas en una red y que a su vez forman un lazo.

Fuente: Componente que se encarga de transformar algn tipo de energa en energa elctrica. En el circuito de la figura 1 hay tres fuentes, una de intensidad, I, y dos de tensin, E1 y E2.

Conductor: Comnmente llamado cable; es un hilo de resistencia despreciable (idealmente cero) que une los elementos para formar el circuito.

7.3. Puerto fsico. Un puerto fsico, es aquella interfaz, o conexin entre dispositivos, que permite conectar fsicamente distintos tipos de dispositivos como monitores, impresoras, escneres, discos duros externos, cmaras digitales, memorias pendrive, etc. Estas conexiones tienen denominaciones particulares como, por ejemplo, los puertos "serie" y "paralelo" de un ordenador. 7.3.1. Tipos de puertos 7.3.1.1. Puerto serie (o serial) Un puerto serie[] es una interfaz de comunicaciones entre ordenadores y perifricos en donde la informacin es transmitida bit a bit de manera secuencial, es decir, enviando un solo bit a la vez (en contraste con el puerto paralelo[] que enva varios bits a la vez).

Figura 8. (Puerto serie) Uno de los defectos de los puertos serie inciales era su lentitud en comparacin con los puertos paralelos, sin embargo, con el paso del tiempo, han ido apareciendo multitud de puertos serie con una alta velocidad que los hace muy interesantes ya que tienen la ventaja de un menor cableado y solucionan el problema de la velocidad con un mayor apantallamiento. Son ms baratos ya que usan la tcnica del par trenzado; por ello, el puerto RS-232 e incluso multitud de puertos paralelos estn siendo reemplazados por nuevos puertos serie como el USB, el Firewire o el Serial ATA. 7.3.1.2. Puertos inalmbricos Las conexiones en este tipo de puertos se hacen, sin necesidad de cables, a travs de la conexin entre un emisor y un receptor utilizando ondas electromagnticas. Si la frecuencia de la onda, usada en la conexin, se encuentra en el espectro de infrarrojos se denomina puerto infrarrojo. Si la frecuencia usada en la conexin es la usual en las radio frecuencias entonces sera un puerto Bluetooth. La ventaja de esta ltima conexin es que el emisor y el receptor no tienen porque estar orientados el uno con respecto al otro para que se establezca la conexin. Esto no ocurre con el puerto de infrarrojos. En este caso los dispositivos tienen que "verse" mutuamente, y no se debe interponer ningn objeto entre ambos ya que se interrumpira la conexin.

7.3.1.3. Puerto USB Un puerto USB[][] [] permite conectar hasta 127 dispositivos y ya es un estndar en los ordenadores de ltima generacin, que incluyen al menos cuatro puertos USB 2.0 en los ms modernos, y algn USB 1.1 en los ms anticuados

Figura 9. (Puerto USB)

El dispositivo es reconocido, e instalado, de manera inmediata. Slo es necesario que el Sistema Operativo lleve incluido el correspondiente controlador o driver. Presenta una alta velocidad de transferencia en comparacin con otro tipo de puertos. USB 1.1 alcanza los 12 Mb/s y hasta los 480 Mb/s (60 MB/s) para USB 2.0, mientras un puerto serie o paralelo tiene una velocidad de transferencia inferior a 1 Mb/s. El puerto USB 2.0 es compatible con los dispositivos USB 1.1 A travs del cable USB no slo se transfieren datos; adems es posible alimentar dispositivos externos. El consumo mximo de este controlador es de 2.5 Watts. Una de las limitaciones de este tipo de conexiones es que longitud del cable no debe superar los 5 ms y que ste debe cumplir las especificaciones del Standard USB iguales para la 1.1 y la 2.0 7.3.1.4. Puertos paralelos

Existen dos mtodos, de transmitir un dato hacia un perifrico bsicamente (Serie / Paralelo). El envi de datos en forma paralela, es el que se usa en una impresora, bsicamente, y actualmente tiene 5 modos Ordenador - Perifrico: Compatibility Mode: "Centronics" en modo estndar. Perifrico - Ordenador: Byte Mode: 8 bits al mismo tiempo usando lneas de datos, algunas veces puede funcionar como un puerto bi-direccional. Bi-direccional EPP: Puerto Paralelo Ampliado, usado principalmente por perifricos como: CD-ROM, cintas, discos duros, adaptadores de redes, etc. excluyendo las impresoras. ECP: Puerto con Capacidad Extendida, usado principalmente por scanner e impresoras de nueva generacin. 7.3.1.4.1. Hardware Primero vamos a ver su Hardware Respectivo:

Figura 10. (Puerto Paralelo) Donde se diferencian claramente, 3 tipos de Letras, C, S, D. Cada una de estas se refieren al pin respectivo del registro que usan: C: Hace Referencia al Registro de Control S: Registro de Estado D: Registro de Datos

7.3.1.4.2. Tabla general del puerto paralelo DB25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18-25 Seal Control 0 Dato 0 Dato 1 Dato 2 Dato 3 Dato 4 Dato 5 Dato 6 Dato 7 Estado 6 Estado 7 Estado 5 Estado 4 Control 1 Estado 3 Control 2 Control 3 Tierra Registro Tipo Activo C0 Inout Bajo D0 Out Alto D1 Out Alto D2 Out Alto D3 Out Alto D4 Out Alto D5 Out Alto D6 Out Alto D7 Out Alto S6 In Alto S7In Bajo S5 In Alto S4 In Alto C1Inout Bajo S3 In Alto C2 Inout Alto C3Inout Bajo Sentido Invertido Directo Directo Directo Directo Directo Directo Directo Directo Directo Invertido Directo Directo Invertido Directo Directo Invertido

7.3.1.4.3. LOS REGISTROS Para usar este puerto, se debe tener en cuenta la direccin Base del puerto, que se encuentran en la Bios en las direcciones 0000:0408 0000:040A 0000:040C 0000:040E siguiente orden: Registro Datos Registro Estado Registro Control 7.3.1.4.4. REGISTRO DE DATOS Usado para enviar y recibir datos de 8 Bits, segn este configurado, el 5to bit del Registro de control, o la Bios (Esto se configura en el Setup) Para el puerto paralelo, casi siempre es 378H (LPT1) 7.3.1.4.5. REGISTRO de ESTADO Base Base + 1 Base + 2 Direccin base para LPT1, generalmente 378H Direccin base para LPT2 Direccin base para LPT3 Direccin base para LPT4

Ahora teniendo esta direccin podemos ir a los dems registros siguiendo el

~S7 S6 S5 S4 S3 Tiene el Ultimo Bit negado, y solo recibe 5 Bits en el LPT2 su direccin es 379H. Solo basta saber que por aqu siempre se pueden recibir datos sus bits tambin sirven para que cuando haya comunicacin con una impresora, sirvan para indicar si el puerto est ocupado o no. Para este caso se usa: S3 S4 S5 S6 ~S7 Error (FAULT) SEL Papel Vacio Acuse de Recibo (ACKNOWLEDGE) BUSSY (Ocupado)

7.3.1.4.6. REGISTRO DE CONTROL ~C3 C2 ~C1 ~C0 Al igual que el Registro de Estado, sirve para establecer comunicacin con la impresora, pero adems de eso, tambin nos sirve, para indicar si queremos que la impresora sea Bi-direccional. Para el LPT2 su direccin es 37AH Pin ~C0 ~C1 C2 ~C3 Nombre Bit Strobe Bit 0 Nueva lnea automtica Bit 1 Inicializa impresora Bit 2 Selecciona impresora Bit 3 Permite IRQ a travs de la Bit 4 lnea acknowledge Permite puerto Bidireccional Bit 5

7.4. Visual Basic Es un lenguaje de programacin dirigido por eventos, desarrollado por el alemn Alan Cooper para Microsoft. Este lenguaje de programacin es un dialecto de BASIC, con importantes agregados. Si bien Visual Basic es de propsito general, tambin permite el desarrollo de aplicaciones de bases de datos usando Data Access Objects, Remote Data Objects, o ActiveX Data Objects. Visual Basic (Visual Studio) contiene un entorno de desarrollo integrado o IDE que incluye un editor de textos para edicin del cdigo, un depurador, un compilador (y enlazador) y un constructor de interfaz grfica o GUI. 7.4.1. Caractersticas Generales de Visual-Basic

Visual-Basic es una herramienta de diseo de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseo de una interface grfica. En una aplicacin Visual - Basic, el programa est formado por una parte de cdigo puro, y otras partes asociadas a los objetos que forman la interface grfica. Es por tanto un trmino medio entre la programacin tradicional, formada por una sucesin lineal de cdigo estructurado, y la programacin orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dos tipos de programacin, debemos inventar una palabra que la defina: PROGRAMACIN VISUAL. La creacin de un programa bajo Visual Basic lleva los siguientes pasos: Creacin de un interface de usuario. Este interface ser la principal va de comunicacin hombre mquina, tanto para salida de datos como para entrada. Ser necesario partir de una ventana - Formulario - a la que le iremos aadiendo los controles necesarios. Definicin de las propiedades de los controles - Objetos - que hayamos colocado en ese formulario. Estas propiedades determinarn la forma esttica de los controles, es decir, como son los controles y para qu sirven.
Generacin del cdigo asociado a los eventos que ocurran a estos

objetos. A la respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) le llamamos Procedimiento, y deber generarse de acuerdo a las necesidades del programa.
Generacin del cdigo del programa. Un programa puede hacerse

solamente con la programacin de los distintos procedimientos que acompaan a cada objeto. Sin embargo, VB ofrece la posibilidad de establecer un cdigo de programa separado de estos eventos. Este cdigo puede introducirse en unos bloques llamados Mdulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un evento acaecido a un objeto, sino que responden a un evento producido durante la ejecucin del programa.

No es necesario entender de momento lo anterior. Visual Basic introduce un concepto nuevo de programacin, y es necesario cambiar hasta el argot del programador. Posiblemente se le habrn acumulado demasiados trminos de una sola vez. Es normal. A poco que siga leyendo ver las cosas ms claras cuando se explique una por una. 7.5. Microcontroladores Es un circuito integrado que incluye en su interior las tres unidades funcionales de una computadora: unidad central de procesamiento, memoria y perifricos de entrada y salida.

Figura 11. (Microcontroladores) 7.5.1. Caractersticas de un microcontrolador Son diseados para reducir el costo econmico y el consumo de energa de un sistema en particular. Por eso el tamao de la unidad central de procesamiento, la cantidad de memoria y los perifricos incluidos dependern de la aplicacin. Los microcontroladores representan la inmensa mayora de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs ms especializados. Mientras se pueden tener uno o dos microprocesadores de propsito general en casa. Pueden encontrarse en casi cualquier dispositivo electrnico como automviles, lavadoras, hornos microondas, telfonos, etc. Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es ms fcil convertirla en una computadora en funcionamiento,

con un mnimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energa y de informacin que necesite, y eso es todo. Un microprocesador tradicional no le permitir hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los mdulos de entrada y salida (puertos) y la memoria para almacenamiento de informacin. Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitera. 7.5.2. Estructura bsica de un microcontrolador En esta figura, vemos al microcontrolador metido dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, perifricos y puertos de entrada/salida. Fuera del encapsulado se ubican otros circuitos para completar perifricos internos y dispositivos que pueden conectarse a los pines de entrada/salida. Tambin se conectarn a los pines del encapsulado la alimentacin, masa, circuito de completamiento del oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar.

Figura 11. (Esquema de un microcontrolador) 8. APLICACIONES DE LOS SERVOMOTORES En la prctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeos ascensores y timones. Ellos tambin se usan en radio control, tteres, y por supuesto, en robots.

9. CONCLUSIONES
La tierra del servo debe concordar con la tierra de la fuente y del sistema

que enva las rdenes al servo.

De la investigacin hecha se deduce que de los envejecen con el uso.

servomotores

El servomotor es un actuador mecnico en cualquier sistema de servomecanismo que tiene por objeto llevar al sistema a una lectura cero reduciendo a cero la seal de error, y existen dos tipos de servomotores, de corriente directa y de corriente alterna. 10. RECOMENDACIONES
Si usas cables demasiado largos para controlar tus servos, es probable

que tengas ruido en los servos, esto ocurre porque mientras ms largo es el cable resulta ms vulnerable a ruido electromagntico e incluso es

perturbado por seales de otros servos. Esto se soluciona utilizando cable blindado, solo recuerda aterrizar el blindaje.
Un servo en operacin normal no se debe de calentar.

Siempre que sea posible utiliza fuentes de voltaje separadas para tus servomotores y para tu electrnica digital. los servomotores generan bastante ruido hacia su lnea de alimentacin. Se recomienda no enviar voltajes demasiados altos al microcontrolador porque puede daarse o quemarse. 11. BIBLIOGRAFA
RASHID M. H, Electrnica de Potencia, Prentice Hall. Electrnica y Automtica Industriales, Marcombo. http://es.wikipedia.org/wiki/Servomotor http://es.wikipedia.org/wiki/Programa_inform%C3%A1tico

http://es.wikipedia.org/wiki/Visual_Basic

ANEXOS
Simulacin en Proteus

Cdigo de programacin en Visual Basic


Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte Option Explicit Dim temp As Long Private Sub Command1_Click() AniGIF1.Playing = True AniGIF2.Playing = False PortOut &H378, 4 End Sub

Private Sub Command2_Click()

AniGIF2.Playing = True AniGIF1.Playing = False PortOut &H378, 8 End Sub Private Sub Command3_Click() AniGIF1.Playing = False AniGIF2.Playing = False PortOut &H378, 0 End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then temp = SendMessage(hwdc, WM_CAP_STOP, 1, 0) 'WM_CAP_STOP = WM_CAP_START + 68 'WM_CAP_ABORT = WM_CAP_START + 69 End If End Sub Private Sub Form_Load() 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, 15, 0)

temp = SendMessage(hwdc, WM_CAP_SET_SCALE, True, 0) 'esto hace que la imagen recibida por el dispositivo se ajuste 'al tamao 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 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 Private Sub MnuCompresion_Click() temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOCOMPRESSION, 1, 0) 'Mostrar dialogo de compresion

'de video End Sub Private Sub MnuCopiar_Click() temp = SendMessage(hwdc, WM_CAP_EDIT_COPY, 1, 0) 'copiar un clip al portapapeles End Sub Private Sub MnuDetener_Click() temp = DestroyWindow(hwdc) If startcap = True Then temp = SendMessage(hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&) DoEvents startcap = False End If End Sub Private Sub MnuEspacio_Click() temp = SendMessage(hwdc, WM_CAP_FILE_ALLOCATE, 0, 0) 'localizar espacio End Sub Private Sub MnuFormato_Click() Dim temp As Long If startcap = True Then temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&) ' Mostrar dialogo de formato DoEvents

End If End Sub Private Sub MnuIniciar_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, 15, 0) temp = SendMessage(hwdc, WM_CAP_SET_SCALE, True, 0) 'esto hace que la imagen recibida por el dispositivo se ajuste 'al tamao 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

Private Sub MnuIniciarcaptura_Click() If startcap = True Then

If MsgBox("Seleccione Si para iniciar la captura" + Chr$(10) + "de la secuencia de video" + Chr$(10) + "en C:\CAPTURE.AVI", 4 + 48 + 256, "") = 6 Then temp = SendMessage(hwdc, WM_CAP_SEQUENCE, 0&, 0&) ' Iniciar captura de secuencia de video 'temp = SendMessage(hwdc, WM_CAP_SEQUENCE, 0, 0) DoEvents End If End If End Sub Private Sub MnuRecurso_Click() Dim temp As Long If startcap = True Then temp = SendMessage(hwdc, WM_CAP_DLG_VIDEOSOURCE, 0&, 0&) ' Mostrar dialogo de Configuracion DoEvents End If End Sub Private Sub MnuSalir_Click() temp = DestroyWindow(hwdc) If startcap = True Then temp = SendMessage(hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&) DoEvents startcap = False End If ' de Web Cam

End End Sub

Cdigo de programacin en Micro C para el Pic 16F88


void derecha(); void izquierda(); void main(){ OSCCON=0x60; //Oscilador interno a 4MHz (TCI=1 us). //Esperar mientras el oscilador est inestable.

//while (OSCCON.IOFS==0); PORTB=0x00; PORTA=0x00; ANSEL=0x00; NOT_RBPU_bit=0; TRISB=0x00; TRISA=0xFF; while (1) { if (RA0_bit==1){ derecha(); } if (RA1_bit==1){ Izquierda(); } } }

//Inicializacin. //Inicializacin. //Bits AN6:AN0 como E/S digital. //Habilitar las pull-up.

void derecha(){ while (RA0_bit==1){ RB1_bit=1; Delay_us(800); RB1_bit=0; Delay_us(2000); RB1_bit=1; Delay_us(1200); RB1_bit=0; Delay_us(1000); } RB1_bit=0; }

void Izquierda(){

while (RA1_bit==1){ RB1_bit=1; Delay_us(2500); RB1_bit=0; Delay_us(5000); RB1_bit=1; Delay_us(500);

RB1_bit=0; Delay_us(2000); } RB1_bit=0; }

También podría gustarte