Montajes básicos: ALARMA EN VIVIENDA.
Gracias a la lógica programable podemos programar alarmas muy complejas y mucho más eficientes que las alarmas convencionales. Las alarmas convencionales usan finales de carrera y, en definitiva, interruptores que activan una alarma. En nuestro caso vamos a dotar a la alarma de cierta lógica que nos proporcione mejores y más cómodos resultados. Las posibilidades son ilimitadas y depende de tu imaginación . En esta práctica y sólo como ejemplo vamos a suponer algunas cosas que, si bien no tienen por qué ajustarse a la realidad, si que sirven como ejemplo para mostrar y dar a entender las posibilidades de la alarma. puerta, encender la luz y cerrar la puerta. Partimos de las siguientes premisas :
- El ladrón puede entrar sólo por la ventana o por la puerta. Fíjate en las puertas y ventanas de los comercios de tu localidad. Seguro que has visto más de uno.
- Como la ventana de la casa da a una calle principal muy transitada el ladrón no intentará entrar nunca por la ventana cuando sea de día.
- La entrada de nuestra casa es oscura y no tiene ventanas al exterior, por lo tanto nuestro comportamiento habitual es abrir la puerta, encender la luz y cerrar la puerta.
- Sólo abrimos las ventanas de día, nunca por la noche.
Como detector de apertura de puerta y de ventana vamos a usar dos pulsadores, uno de la placa y otro que montaremos sobre la protoboard. Sabremos si es de día o de noche gracias al LDR de la EduBásica. Monta el pulsador sobre la protoboard y conéctalo entre 5V y la patilla digital 7. Usa para ello las clemas de la EduBásica tal y como muestra la imagen. Ten en cuenta que los interruptores podrían sustituirse en un caso real con relé un Reed conocido también como interruptor magnético. Son elementos económicos y de muy fácil instalación. Vamos a realizar la práctica en dos pasos para que lo puedas entender sin problemas.
Primero carga este programa:
void setup() {
pinMode(7, INPUT); //Pin correspondiente al interruptor de la PROTOBOARD
pinMode(2,INPUT); //Pin correspondiente al interruptor de la placa
Serial.begin(9600);
}
void loop() {
Serial.print( " VENTANA ");
Serial.print(digitalRead(7));//interruptor de la PROTOBOARD
Serial.print( " PUERTA ");
Serial.print(digitalRead(2)); //interruptor de la placa
Serial.print( " LUZ ");
Serial.println(analogRead(1)); //Nos muetra el valor del LDR
delay(1000); // wait for a second
Abre el “monitor serial” y prueba a activar los pulsadores. Verás que cuando están activos el valor obtenido es 1 y cuando están desactivados su valor es 0. Comprueba qué interruptor se corresponde con la ventana y cual con la puerta. Tapa ahora el LDR y observa el valor que obtienes cuando no recibe luz (será el mismo valor que si es de noche). Atendiendo a los supuestos anteriores carga este programa y observa su funcionamiento. Si el led rojo se enciende es que la alarma se ha disparado.
int ventana, puerta, luz;//definimos variables void setup() { pinMode(7, INPUT); pinMode(5,OUTPUT); //led rojo pinMode(2,INPUT); Serial.begin(9600); } void loop() { ventana=digitalRead(7); //guardamos el estado de la ventana Serial.print( " VENTANA "); Serial.print(ventana); puerta=digitalRead(2); //guardamos estado de puerta Serial.print( " PUERTA "); Serial.print(puerta); luz=analogRead(1); //guardamos estado de LUZ Serial.print( " LUZ "); Serial.println(luz); //implementamos la logica de la puerta if (puerta==1) {//la puerta esta abierta delay(3000); //esperamos hasta que encienda la luz if (luz > 1000) {//no han encendido la luz digitalWrite(5,HIGH); //Se activa la alarma } } //implementamos logica de ventana if (ventana==1 && luz < 1000){ digitalWrite(5,HIGH); }
Actividad
Como comprobarás una vez que la alarma se activa permanece en ese estado. Para desactivarla debes reiniciar la placa quitándole la alimentación. Piensa en una solución para poder desactivar la alarma, por ejemplo abriendo la ventana y la puerta a la vez.
Actividad
Ampliación:
Usamos EduBásica porque dispone de elementos hardware ya instalados, como led y pulsador, pero piensa que sin EduBásica tu Arduino dispone de 13 entradas digitales y 6 analógicas. Piensa en un sistema más completo de alarma en el que puedas conectar sensores de humo o de movimiento (PIR).
Actividad
Proyecto propuesto:
Realiza todo el proceso para implementar, mediante funciones lógicas, el siguiente sistema:
Se trata de una máquina de control de una cinta transportadora. Tenemos un sensor de temperatura basado en un termistor que nos dirá si se ha producido un sobrecalentamiento en la máquina. También hay un sensor de presión que detecta la presencia de un objeto sobre la cinta transportadora. Por último, la cinta transportadora sólo estará en funcionamiento si el operario mantiene apretado un pulsador. Tendremos un led que avisará si hay sobrecalientamiento y detendrá la cinta si está en movimiento. Un zumbador avisará cuando la cinta esté en movimiento.