# Programa c++ para activar y desactivar  alarma



## marcelita1018 (Dic 1, 2006)

Hola todos necesito un programa en c++ para activar y desactivar una alarma por medio de puerto paralelo, que al usuario digitar una contraseña  la alarma se encienda , y con otra contraseña  la alarma se desactive, por favor si tiene alguna ayuda hagamenla saber, alguna sugerencia , alguna idea me serviria de mucho.


----------



## capitanp (Dic 1, 2006)

una sugerencia: ponte a programar


----------



## Geo (Dic 1, 2006)

¿Ya tienes hecha la alarma?


----------



## marcelita1018 (Dic 1, 2006)

si la alarma ya la tengo hecha


----------



## Geo (Dic 1, 2006)

En el puerto paralelo sólo puedes tener señales digitales (5V), así que, para lograr lo que quieres, simplemente debes implementar una forma de encender/apagar la alarma utilizando una de estas señales.

Para la interfaz entre el puerto y tu circuito te puede servir este artículo:
http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm

Allí hay un diagrama que es de utilidad para aislar en cierta forma el puerto de tu circuito (el puerto brinda muy poca corriente), si sólo vas a usar un pin del puerto te recomendaría usar un optoacoplador de preferencia.

Allí mismo encuentras algo de información para crear el programa (tanto en C como en Visual Basic), el problema es que es muy probable que sólo te funcione en MSDOS o Windows 95/98, si eso te sirve pues adelante, el código sería algo como esto:


```
bool escribir( int direccion, int valor ) {
	int test;
	test = outp( direccion, valor );
	
	if ( test != valor ) return false;
	return true;
}

int main() {
	// "Apagar" los pines (DB0 a DB9) del puerto paralelo
	escribir( 888, 0 );
	getc(); // Espera a que se presione una tecla.

	// "Encender" todos los pines del puerto paralelo
	escribir( 888, 255 );
	getc(); // Espera a que se presione una tecla.

	// "Encender" los pines DB0 y DB3.
	escribir( 888, 5 );
	getc(); // Espera a que se presione una tecla.

	return 0;
}
```

Si vas a ejecutar el programa en Windows XP, una alternativa fácil es utilizar una DLL, cualquier duda con gusto .

Suerte,
JJ (Geo).


----------

