En esta primer entrega daré a conocer la conexión de mi primer prototipo, de un sistema de seguridad, para eso utilizaré un sensor magnético con el Arduino el cual mandará una señal al momento que se rompa el campo magnético, permitiendo encender un foco por medio del módulo relé.
Este circuito funciona que al momento de romperse el campo magnético que genera dicho sensor encenderá un foco a 110v simulando una sirena para nuestra alarma, este permanecerá encendido hasta que el usuario digite una contraseña por lo cual procederá a apagar el foco.
Para ello utilizaremos lo siguiente:
Este circuito funciona que al momento de romperse el campo magnético que genera dicho sensor encenderá un foco a 110v simulando una sirena para nuestra alarma, este permanecerá encendido hasta que el usuario digite una contraseña por lo cual procederá a apagar el foco.
Para ello utilizaremos lo siguiente:
- Placa Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un micro controlador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.
El hardware consiste en una placa con un microcontrolador y puertos de entrada y salida.Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación que es ejecutado en la placa. Se programa en el ordenador para que la placa controle los componentes electrónicos.
- Sensor Magnético:
Reacciona ante la presencia de un campo magnético. En el caso que nos ocupa, permanece normalmente cerrado y cuando se le acerca un campo magnético, se abre. Por tanto mientras ambas partes permanecen juntas, el interruptor queda abierto por culpa del imán y nada sucede, pero si se abre la puerta, ambas partes se separan, el interruptor se cierra al perder el campo magnético y enciende nuestro foco.
- Teclado Matricial de 4x4
Un teclado matricial es un simple arreglo de botones conectados en filas y columnas, de modo que se pueden leer varios botones con el mínimo número de pines requeridos. Un teclado matricial 4x4 solamente ocupa 4 líneas de un puerto para las filas y otras 4 líneas para las columnas, de este modo se pueden leer 16 teclas utilizando solamente 8 líneas de un microcontrolador. Si asumimos que todas las columnas y filas inicialmente están en alto (1 lógico), la pulsación de un botón se puede detectar al poner cada fila a en bajo (0 lógico) y checar cada columna en busca de un cero, si ninguna columna está en bajo entonces el 0 de las filas se recorre hacia la siguiente y así secuencialmente
- El protoboard o breadbord:
Es una especie de tablero con orificios, en la cual se pueden insertar componentes electrónicos y cables para armar circuitos. Como su nombre lo indica, esta tableta sirve para experimentar con circuitos electrónicos, con lo que se asegura el buen funcionamiento del mismo.
- Módulo Relé
El relé es el elemento que necesitas si quieres gestionar grandes voltajes y corrientes (como los que puedas tener en la red eléctrica de tu casa). Se trata simplemente de un interruptor eléctrico que puedes encender y apagar enviando señales desde tu placa Arduino (o cualquier otro controlador similar). Esto te permite desde encender y apagar la luz de tu habitación cuando alguien entre, hasta hacer una casa domótica completa. El límite aquí es tu imaginación.
- CIRCUITO
- CÓDIGO
#include <Keypad.h>
#include <Password.h>
// CÓDIGO NECESARIO PARA EL TECLADO
/////////////////////////////////////////
const byte ROWS=4; //cuatro filas
const byte COLS=4; //cuatro columnas
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {7,6,5,4};
byte colPins[COLS] = {3,2,1,0};
Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins, ROWS, COLS);
Password password=Password("1245");
/////////////////////////////////////////
const int buttonPin = 8; // Variable para el sensor magnetico
const int Led = 9; // Variable para el foco
int activada=0;
int buttonState = 0;
void setup() {// Declaramos que el pin sera salida
pinMode(Led, OUTPUT); // Iniciar el foco en output
keypad.addEventListener(keypadEvent);
pinMode(buttonPin, INPUT); // Iniciar el buttonPin en input
}
void loop(){
buttonState = digitalRead(buttonPin); // Almacena el valor de buttonPin
if (buttonState == HIGH) // Si buttonState == HIGH:
{
digitalWrite(Led, HIGH); // enciende el foco
}else{
keypad.getKey();}
}
void keypadEvent(KeypadEvent eKey){
switch(keypad.getState()){
case PRESSED:
switch(eKey){
case '*': checkPassword(); delay(1); break;
case '#': password.reset(); delay(1); break;
default: password.append(eKey); delay(1);}
}
}
//FUNCIÓN DE COMPROBACIÓN DE LA CONTRASEÑA
void checkPassword(){
if(password.evaluate()){
password.reset();
activada=0;
digitalWrite(Led, LOW);
} else{
password.reset();
delay(10); }
}
Como se puede apreciar estamos utilizando dos librerías:
La librería <Keypad.h> es la que nos permite usar la matriz de los teclados en arduino.
La librería <Password.h> es especialmente para Arduino la cual permite establecer una contraseña.
El teclado se le designaron los pines (0,1,2,3,4,5,6,7) del Arduino para su conexión, mientras que el sensor magnético ocupa uno al pin (8) y el otro a GND, por último el pin (9) a nuestro módulo relé el cual es alimentado a 5V Y GND, estos son los pines utilizados para nuestro circuito, la clave establecida para nuestro programa es (1245) la cual nos permitirá desactivar nuestra alarma al momento de su activación.
Creamos dos métodos el método keypadEvent(KeypadEvent eKey) este nos permitirá ir capturado los datos o números ingresados por el usuario, dentro de este mandamos a llamar al siguiente método checkPassword() el cual nos permite comparar si es correcta la clave ingresada dicho esto permitirá apagar nuestro foco.
- PodCast
0 comentarios:
Publicar un comentario