Saltar la navegación

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 :

  1. 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.
  2. 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.
  3. 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.
  4. 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.