Introduction: Implementar Una Cerradura Con La XBee IO Pro

Picture of Implementar Una Cerradura Con La XBee IO Pro

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.

Step 1: Materiales

Picture of Materiales

1.- Botones (4)

2.- LEDs (2)

3.- Cables

4.- Una placa Xbee IO Pro

5.- Transformador 12 volt

6.- Cautín

7.- Estaño

Step 2: Conectar

Picture of Conectar

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é.

Step 3: Código En Arduino

Picture of Código En Arduino

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.

Step 4: Funcionamiento

Comments

Swansong (author)2016-12-19

Gracias por compartir :)

About This Instructable

193views

5favorites

License:

More by ValentinaC12:Implementar una cerradura con la XBee IO Pro
Add instructable to: