Implementar Una Cerradura Con La XBee IO Pro

by ValentinaC12 in Circuits > Tools

689 Views, 5 Favorites, 0 Comments

Implementar Una Cerradura Con La XBee IO Pro

IMG_3156.JPG

En este Instructable, veremos como se puede hacer una cerradura con la Xbee IO pro.

Se conectarán 4 botones a las entradas optoacopladas de la Xbee IO pro, estos son:

- 3 botones, los que se usarán para realizar la combinación deseada (cerradura). En este caso usaremos botones de color amarillo, azul y verde

- 1 botón para confirmar la finalización de la cerradura. Aquí usaremos el botón de color rojo.

Si la combinación es la correcta un relé se activará y se prenderá el LED verde, por el contrario, si la combinación es incorrecta se prenderá el LED rojo.

En este caso, se utilizará LEDs para simular el cierre o apertura de la cerradura electrónica.
Las cerraduras electrónicas funcionan parecido al relé. Normalmente están cerradas y con la secuencia adecuada cambia a Abierto.

Materiales

IMG_3156.JPG

1.- Botones (4)

2.- LEDs (2)

3.- Cables

4.- Una placa Xbee IO Pro

5.- Transformador 12 volt

6.- Cautín

7.- Estaño

Conectar

IMG_3158.JPG
IMG_3159.JPG
cerradura vale.jpg

Conectar los 4 botones a las entradas digitales optoacopladas frente a los relay. Los negativos juntos, como se ve en la foto (cable color blanco), y conectar cada positivo por separado a los 5V.

Los LEDs van conectadas con su sección negativa (corta) al negativo (GND), cada una por separada. Y su sección positiva (larga), debe ir acoplada a una resistencia de 390 Ohm, y esta debe ir conectada al puerto NO (Normalmente abierto) del relé.

Conectar un positivo de 3V al COM de cada relay.

__________________________________________


Para conectar una cerradura electrónica al relé, debemos conectar una batería externa a la cerradura, normalmente funcionan con 12V.

De la cerradura, emergen 2 cables, uno positivo y otro negativo.

El cable positivo debe ir conectado al puerto NO del relé, mientras que el negativo debe ir conectado a la misma polaridad de la batería.

De la batería, la sección positiva debe ir conectada al puerto COM del relé.

Código En Arduino

Untitled-1.jpg

String codigo = ""; //Variable que guardará el codigo
String clave = "ABC";
int soltaramarillo = 0; // Variables que cuando se suelta un boton
int soltarazul = 0;
int soltarverde = 0;

void setup() { // definicion de pines
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}

void loop() { //Variables que guardan el estado del boton
int botonverde = digitalRead(7);
int botonazul = digitalRead(6);
int botonamarillo = digitalRead(5);
int botonrojo = digitalRead(4); //Si se presiona el boton rojo comprobar si var codigo es igual a la var clave
if(botonrojo == 0){
if(codigo == clave){
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
delay(1000);
}
else{
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
delay(1000);
}
codigo = "" //Vaciar la variable codigo para ingresar otra combinacion

}

//Si el boton esta presionado, apagar las dos LEDs y agregar a la variable codigo una A
if(botonamarillo == 0 && soltaramarillo == 0){
digitalWrite(10, LOW);

digitalWrite(11, LOW);
codigo.concat("A");

//Cambiar la variable soltaramarillo a uno para que solo se agrege una A cuando se presiona el boton

soltaramarillo = 1;
delay(200); //Esperar 200ms para evitar ruido
}
//Cuando el boton se suelta cambiar la variable soltar amarillo a cero para que pueda volver a ingresar al primer if cuando se aprete de nuevo
else if(botonamarillo == 1){
soltaramarillo = 0;
}
//Si el boton esta presionado, apagar las dos leds y agregar a la variable codigo una B
if(botonazul == 0 && soltarazul == 0){
digitalWrite(10, LOW);
digitalWrite(11, LOW);
codigo.concat("B");
//Cambiar la variable soltarazul a uno para que solo se agrege una A cuando se presiona el boton
soltarazul = 1;
delay(200); //Esperar 200ms para evitar ruido
}
//Cuando el boton se suelta cambiar la variable soltar azul a cero para que pueda volver a ingresar al primer if cuando se aprete de nuevo
else if(botonazul == 1){
soltarazul = 0;
}
//Si el boton esta presionado, apagar las dos leds y agregar a la variable codigo una C
if(botonverde == 0 && soltarverde == 0){
digitalWrite(10, LOW);
digitalWrite(11, LOW);
codigo.concat("C");
//Cambiar la variable soltarverde a uno para que solo se agrege una A cuando se presiona el boton
soltarverde = 1;
delay(200); //Esperar 200ms para evitar ruido
}
//Cuando el boton se suelta cambiar la variable soltar verde a cero para que pueda volver a ingresar al primer if cuando se aprete de nuevo
else if(botonverde == 1){
soltarverde = 0;
}
}

_______________________________________________

Si se desea cambiar la secuencia, debe editar lo siguiente.

String clave = "ABC";

ABC
representa la clave para abrir la cerradura (que en este caso es un LED)
Cambiar el ABC por la secuencia deseada, por ejemplo BAC / CAB /etc.
De esta forma, cambiará el código de ingreso.

Downloads

Funcionamiento

Implementar una cerradura con la XBee IO pro