Alarma con el microcontrolador PIC12F675P

La delincuencia en general sigue en aumento, ahora tener instalada una alarma se hace necesario. Ahora les ofrecemos un sistema de alarma de seguridad simple y compacta para proteger tu casa, taller y objetos de valor. Esta alarma utiliza como control el microcontrolador PIC12F675P. Además, de un sensor de infrarrojos pasivo (PIR), el módulo está integrado con el sistema de alarma para la detección de movimiento.
Esperamos que la ensamblen y pueda serles útil para la protección de casas y todo lo que sea de valor.

El sensor de infrarrojos pasivo detecta el movimiento humano mediante la detección de los cambios de temperatura sobre la escena, y funciona incluso en la oscuridad total. El calor del cuerpo humano en movimiento a través de la escena disparará el sensor PIR, y la señal de disparo será enviada al circuito de control instantáneamente.
Como la salida del sistema de alarma puede ser conectado a lámparas externas o sirenas de alarma, estos dispositivos se activan al instante cuando se detecta el movimiento. Como resultado de ello, el intruso que entró en el área protegida, incluso en la oscuridad total, al instante estará expuesto.

Tenga en cuenta que el sensor PIR puede ser utilizado no sólo para la detección de movimiento en la oscuridad, sino que incluso puede ser utilizado efectivamente en el día en el que pueden producirse falsas alarmas mucho menos, en comparación con otros mecanismos de detección de movimiento. Aquí, el PIC12F675 funciona como una interfaz lógica entre el dispositivo de detección y el accionador de alarma.

El circuito puede ser alimentado por cuatro pilas AA o AAA que le dan 6 voltios de corriente directa. Un diodo 1N4007 (D1) se utiliza en serie para dejar caer el voltaje a cerca de 5,3 voltios, tomando en cuenta que el voltaje de operación para el microcontrolador PIC debe estar por debajo de 5,5 V. Además, este diodo proporciona la protección para toda la electrónica en caso de polaridad inversa de la fuente de alimentación.

Los módulos de sensor PIR por lo general tienen una conexión de 3 pines (Vcc, salida y tierra o negativo). La disposición de las patillas pueden variar, por lo que se recomienda comprobar la hoja de datos del fabricante para confirmar los pins. En algún momento, ellos tienen etiquetas en la placa junto a los pines. La mayoría de los módulos de sensor PIR puede ser alimentado a través de 5 a 12 voltios de corriente directa, ya que tiene su propio regulador de tensión incorporado en el chip.

Software para el PIC12F675

El firmware está escrito en C y compilado con mikroC PRO para PIC. Cuando la alimentación se enciende por primera vez, el microcontrolador espera 60 segundos antes de que comience el control de la salida del sensor PIR. Este tiempo de espera es necesario para el sensor PIR para estabilizarse cuando se enciende por primera vez. Cuando el microcontrolador detecta el sensor PIR, se dispara y se acciona el interruptor del relevo.
 

////////////////////////////////////////////////////////////////////////////////

// Microcontroller = PIC12F675

// Operates on Internal 4MHz Clock

// Compiler Used is MikroC Pro for PIC by Mikroelektronica

// Demo version can be downloded from http://www.mikroe.com

// In Demo version, the programcode limit is 4 Kb

// Program Developed By Vineesh Viswam,Emkor Technologies

//  Tested by TechNode Engineering Electronics

//                     

////////////////////////////////////////////////////////////////////////////////

#define         LO_IN            GPIO.F5

#define         LED              GPIO.F0

#define         BUZ              GPIO.F1

#define         LOW              0

#define         ON               1

#define         OFF              0

////////////////////////////////////////////////////////////////////////////////

int i,j=0;

////////////////////////////////////////////////////////////////////////////////

void interrupt()

  {

   INTCON.GIE = 0;

    if (INTCON.T0IF) 

     {

            j++;

       if(j == 80)

         {

          LED = ON;

          Delay_Ms(80);

          LED = OFF;

          j = 0;

         }

       }

    INTCON.T0IF = 0;

    INTCON.GIE = 1;

  }

////////////////////////////////////////////////////////////////////////////////

void main() {

  TRISIO     = 0b00100000;        //GPIO.F5 configured as input and all others are output

  GPIO       = 0b00000000;

  CMCON      = 0b00000111;        // Turn OFF All Comparators

  OPTION_REG = 0b10000111;

  INTCON     = 0b00100000;        // Enable Timer0 Interrupt

  TMR0       = 0b00000000;

  OSCCAL     = 0b11111100;        // Internal 4MHz Oscillator Configured to operate at Maximum frequency

  ANSEL      = 0b00000000;

  LED = OFF;

  BUZ = OFF;

  INTCON.GIE = 0;

      for(i=0; i<60; i++)

           {

            LED = ON;

            Delay_Ms(500);        // LED Flashing

            LED = OFF;

            Delay_Ms(500);

           }

  LED = OFF;

  BUZ = OFF;

  INTCON.GIE = 1;

  while(1)

    {

       if (LO_IN == LOW)

         {

           INTCON.GIE = 0;

           LED = ON;

           BUZ = ON;

           while(LO_IN == 0);

         }

       else

         {

           LED = OFF;

           BUZ = OFF;

           INTCON.GIE = 1;

          }

    }

}

//////////////////////////////////////////////////////////////////////////////// 

Lista de componentes

Capacitores:

  • C1: 100 nF. cerámico
  • C2: 100 µF. electrolítico

Resistores:

  • R1, R3, R4: 1 Ω
  • R2: 10 KΩ

Semiconductores

  • Q1, Q2: BC547, transistor tipo NPN.
  • IC1: PIC12F675P
  • D1, D2: 1N007
  • LED1: Led color rojo.
  • PIR1: Passive Infrared (PIR) Detector SE-10

Otros

  • SW1: interruptor de 1 polo 1 posición para encendido y apagado.
  • B1: 4 baterías de 1.5 voltios o una fuente regulada de 6 voltios.
  • RL1: Relevo DPDT con bobina para 5 voltios.

Tableta de circuito impreso 

Circuito impreso original   



NOTA: este circuito está probado en un simulador de circuitos electrónicos, no físicamente.

Fuente: http://www.electronica2000.com/alarmas/alarma-basada-pic12f675p.htm