Aviso portón garaje abierto

 
          Se trata de dar un aviso en casa de que la puerta del garaje está abierta. El garaje está anexo al domicilio (de mi sobrina) y por alguna razón desconocida (¿micro corte eléctrico?) la cerradura salta y la puerta queda abierta unos centímetros permitiendo el paso a cualquiera solo con empujarla.

         . 

Para no tener que cablear desde el semisótano-garaje hasta la casa, he utilizado un timbre inalámbrico que vale poco más de 10 Euros.

Es simplemente una cajita con un pulsador-emisor y un receptor que se enchufa en el domicilio y toca una melodía al pulsar el emisor.
           Para evitar que suene en casa cada vez que se mueva el coche del garaje, es necesario implementar una temporización entre la detección y la alarma.

           Pienso primero en un C.I. 555,  pero por su bajo precio y más sencillo diseño he utilizado un módulo Digispark que implementa un ATTINT85, más que suficiente para este cometido.

           Este módulo se programa con el IDE del Arduino y de la misma forma. Aunque con algunas restricciones de este micro menos potente.

           El envío del código desde el IDE al módulo si que tiene una forma particular de hacerse y que resumiendo es que antes de subir el programa al micro, lo desconectamos del puerto USB y pulsamos la flechita en el IDE para programar la placa. Ahora el programador está a la espera de que conectemos la placa al puerto USB (ahora sí la conectamos). Cuando la detecta, sube el programa y ya podemos volver a desconectarla. 

           Por supuesto antes hay que cargar los driver de este tipo de módulo. Os remito a esta página donde esta perfectamente explicado.
            Lo primero es abrir la cajita del pulsador y extraer la placa. Desechamos la pila de 12v ya que alimentaremos con una fuente externa de ese voltaje. La acción de pulsar la haremos electrónicamente uniendo las dos patillas superiores del pulsador con un transistor NPN 2N2222 y que activaremos con el pin P1.

            Esta excitación del transistor se hace cada medio segundo, ya que si dejamos P1 siempre en alto, el timbre solo sonara una vez y así lo hace de forma continua.
          La detección de puerta abierta se hace con imán en puerta e interruptor Reed magnético en pared.

          Estos interruptores son normalmente abiertos, pero yo lo he usado del tipo con tres hilos y que permite su uso como normalmente cerrados, de tal modo que al alejar el imán (puerta abierta) el Reed se cierra y alimenta a todo el circuito, tanto al emisor como al Digispark. Es decir, no uso el Reed como sensor que actúe sobre un pin del Attiny85, si no como un interruptor eléctrico para todo el circuito que arrancará el programa, produciendo un delay en el Set up y después pulsos cada medio segundo en el Loop.

          He aprovechado la propia caja del timbre para alojar el Reed
          El montaje en su caja. La base del transistor a P1 con una resistencia de 1k y colector y emisor para cerrar contactos del pulsador del timbre. He añadido un LED con su resistencia en paralelo con la alimentación para facilitar la colocación del imán, si está bien colocado, el circuito no tiene alimentación y el LED estará apagado.

          Como ya he dicho, el Sketch del Digispark tiene un delay para permitir la entrada o salida de vehículos sin dar avisos. Este retardo es de 4 minutos. Por si fuese poco tiempo y ya instalado el sistema, he previsto que cortando el cable naranja será de seis minutos. A gusto del usuario. 

          Abajo el montaje final. El cable negro es del alimentador a 12v conectado a la red. A la derecha el programa.
void setup() {
pinMode(2,INPUT_PULLUP);
pinMode(1, OUTPUT);
int largoDelay; int p=0;
largoDelay = 240; //cuatro minutos;
if (digitalRead(2) == HIGH){
  largoDelay = 360; //seis minutos;
}
  
while (p < largoDelay) {
  delay(1000);
  p++;
}
}

void loop() {
  digitalWrite(1, LOW);
  delay(500);
  digitalWrite(1, HIGH);
  delay(500);
}


Menu