En este video, te mostraré cómo construir una alarma casera utilizando un Arduino, un sensor infrarrojo y un módulo micro SD para reproducir voz. Con este proyecto, podrás crear un sistema de seguridad básico para tu hogar u oficina. Te guiaré paso a paso a través del montaje del circuito, la programación del Arduino y la demostración del sistema en funcionamiento. No te pierdas esta tutorial en la creación de esta alarma
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Componentes electrónicos
Arduino mini pro
El Arduino Pro Mini es una placa de microcontrolador basada en el  ATmega328 .
Tiene 14 pines de entrada / salida digital (de los cuales 6 se pueden usar como salidas PWM), 6 entradas analógicas, un resonador integrado, un botón de reinicio y orificios para montar encabezados de pines. Se puede conectar un encabezado de seis pines a un cable FTDI o una placa de conexión Sparkfun para proporcionar alimentación USB y comunicación a la placa.
El Arduino Pro Mini está diseñado para su instalación semipermanente en objetos o exposiciones. La placa viene sin encabezados pre montados, lo que permite el uso de varios tipos de conectores o la soldadura directa de cables. El diseño del pin es compatible con el Arduino Mini.
Hay dos versiones del Pro Mini. Uno corre a 3.3V y 8 MHz, el otro a 5V y 16 MHz.
| Microcontrolador | ATmega328 * | 
| Fuente de alimentación de la placa | 3,35-12 V (modelo de 3,3 V) o 5-12 V (modelo de 5 V) | 
| Voltaje de funcionamiento del circuito | 3.3V o 5V (dependiendo del modelo) | 
| Pines de E / S digitales | 14 | 
| Pines PWM | 6 6 | 
| UART | 1 | 
| SPI | 1 | 
| I2C | 1 | 
| Pines de entrada analógica | 6 6 | 
| Interrupciones externas | 2 | 
| Corriente CC por pin de E / S | 40 mA | 
| Memoria flash | 32 KB de los cuales 2 KB utilizados por el gestor de arranque * | 
| SRAM | 2 KB * | 
| EEPROM | 1 KB * | 
| Velocidad de reloj | 8 MHz (versiones de 3.3V) o 16 MHz (versiones de 5V) | 
Pines hembra

Zócalo para arduino nano

Módulo receptor infrarrojo ky-022

Tamaño: 6.4 * 7.4 * 5.1MM, ángulo de aceptación 90 °, voltaje de trabajo 2.7-5.5V.
Frecuencia 37.9KHZ, recibiendo la distancia 18 m.
Rechazo de luz diurna hasta 500LUX, capacidad de interferencia electromagnética, IC dedicado de infrarrojos incorporado.
Ampliamente utilizado: estéreo, TV, VCR, CD, decodificadores, marco de fotos digital, audio para el automóvil, juguetes de control remoto, receptores de satélite, disco duro, aire acondicionado, calefacción, ventiladores, iluminación y otros electrodomésticos.
Pinout:
1 …. GND (-)
2 …. + 5V
3 …. Salida (S)
Modulo KY-003 Sensor Efecto Hall Magnético
El módulo KY-003 consta de un sensor de efecto Hall 3144, una resistencia de 680Ω y un LED. Es compatible con plataformas electrónicas como Arduino, Pic y Raspberry Pi, entre otras.
El 3144 es un sensor del tipo Digital. Nos entrega un valor Alto si existe un campo magnético, y bajo si no hay campo magnético cercano.
Hay dos tipos de sensores hall digitales:
- Switch, se activan al acercar el polo de un imán, y se desactivan al retirar el polo
- Del tipo Latch, se activan al acercar un polo, y mantienen su valor hasta que se acerca un polo contrario.
- En este video usaremos el sensor Hall A3144, de tipo digital Switch
ESPECIFICACIONES TÉCNICAS
- Voltaje de funcionamiento 4.5 Volts a 24 Volts CD
- Rango de temperatura de funcionamiento -40 °C a 85 °C [ -40 °F a 185 °F]
- Dimensiones 18.5 mm x 15 mm [0.728 in x 0.5905 in]
- Corriente sin carga 3 mA
- Corriente con carga 8 mA (Cuando detecta un campo magnético)
PinOut
Un resistor de 330 Ohm

Un diodo led de 5 mm

Módulo Buzzer

PCB

Descargar archivo gerber –> pcb alarma ir
Memoria micro SD: Aquí guardaremos los archivos de audio en formato wav después de la conversión de los archivos, para adecuarla a nuestro proyecto
Módulo lector micro SD: Este módulo nos permite hacer una interface escribir o leer archivos, en el proyecto desarrollado, hace de interface de lectura de los archivos de audio, con el arduino y la tarjeta micro sd.
Un parlante (se recomienda un amplificador)

Circuito

Código Fuente
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #include <SD.h>                      // Librería para interectuar con la tarjeta SD #define SD_ChipSelectPin 10  //usando el pin digital 10 en arduino nano 328, puedes usar otros pines #include <TMRpcm.h>           // Es necesario incluir esta biblioteca para reproducir audio  #include <SPI.h> #include <Wire.h> #include <IRremote.h> TMRpcm tmrpcm;   // crear un objeto tmrpcm //Definición de pines int RECV_PIN = 2; int magnetPin = 5; int buzzerPin = 8; int alarma = 0; int sensorM; int activada = 0; const int analogOutPin = A0;//Luz led IRrecv irrecv(RECV_PIN); decode_results results; void setup() {   Serial.begin(9600);   irrecv.enableIRIn();   pinMode(magnetPin, INPUT);   pinMode(buzzerPin, OUTPUT);   tmrpcm.speakerPin = 9; //5,6,11 or 46 en Mega, 9 en Uno, Nano, etc   if (!SD.begin(SD_ChipSelectPin)) {  // ver si la tarjeta está presente y se puede inicializar   Serial.println("Fallo la tarjeta SD ");     return;   }  } void loop() {   //Leemos un código por infrarrojos   if (irrecv.decode(&results))   {     Serial.println(results.value, HEX);// Lo convertimos a valor hexadecimal     irrecv.resume();     sensorM = digitalRead(magnetPin);//Leemos el estdo del sensor mágnetico     Serial.print("sensorM: ");     Serial.println(sensorM);       //Si se cumple este código la alarma queda armada if (results.value == 0xFFB24D ){     //Pero si el sensor mágentico detecta la puerta cerrada     if (sensorM == LOW){     analogWrite(analogOutPin, 255);//Encendesmos el led     alarma = 1 ;     buzzer();//activamos el buzzer por tiempo breve     Serial.println("Alarma armada");     tmrpcm.play("armada.wav");//Mensaje de voz alrma armada     delay(1000);         }       //Si está la puerta abierta no arma la alarma      if (sensorM == HIGH){     tmrpcm.play("puerta.wav");//Mensaje de voz puerta abierta     Serial.println("Verifica que el iman esté serca del sensor magnético");          }    } //Desarma la alarma o la desactiva si está sonando       if (results.value == 0xFF6897)     {     analogWrite(analogOutPin, 0);//Apaga el led     alarma = 0;     buzzer();//activamos el buzzer por tiempo breve tambien desactiva el buzzer si estaba sonando por el dispara de alarma      Serial.print("alarma: ");     Serial.println(alarma);     Serial.println("Alarma desactivada");     activada = 0;     tmrpcm.play("desac.wav");//Mensaje de voz alarma desactivada     }     } //Leemos el estado del sensor magnético y si la alarma está armada y el iman lejos del sensor empieza a sonar la alarma   sensorM = digitalRead(magnetPin);  if(sensorM == HIGH && alarma == 1)//   {     if(activada == 0){     tmrpcm.play("activada.wav");//Mensaje de voz alarma activada     delay(1500);      digitalWrite(buzzerPin, HIGH);//Activa el buzzer     Serial.println("Alarma activada");     activada = 1;     }   }       } //Función que para hacer cortos pitidos del buzzer void buzzer(){       digitalWrite(buzzerPin, HIGH);       delay(100);       digitalWrite(buzzerPin, LOW);       delay(100);   } | 
PROYECTO RECOMENDADO
 
		



