DIY Smart Lock con Arduino y RFID
Caminas hacia una cerradura invisible para la cual solo tienes la llave, y la abres sin siquiera tocarla. ¿Suena bien? Hoy vamos a construir un simple bloqueo inteligente basado en RFID usando un Arduino como la red troncal y algunos componentes baratos..
La tecnología detrás de este proyecto ya se utiliza en muchas industrias. Cualquiera que haya trabajado en una oficina moderna o usado el transporte público probablemente lo habrá usado todos los días. RFID (identificación de radiofrecuencia) identifica los datos almacenados en un chip en una tarjeta o dongle, y los compara con una lista de etiquetas que ya se han escaneado.
Construiremos un circuito de prueba para controlar el acceso utilizando un módulo lector Mifare MFRC522, para abrir y cerrar una cerradura. Usaremos una tarjeta maestra para agregar o eliminar el acceso a diferentes etiquetas, y crearemos una simple lectura de LED para decirnos lo que está sucediendo en el sistema..
Finalmente, agregaremos un solenoide para que actúe como bloqueo y un MOSFET para activarlo y desactivarlo de manera segura utilizando nuestro Arduino..
El lector MFRC522 puede leer y escribir datos en chips RC522, y almacena estos datos en la EEPROM de Arduino. Cómo usar la EEPROM de Arduino para guardar datos entre ciclos de energía Cómo usar la EEPROM de Arduino para guardar datos entre ciclos de energía ¿Sabía que Arduino puede almacenar datos? cuando se apaga? Estoy hablando de la EEPROM, así que únete a mí para mostrarte cómo leer y escribir en ella. Lee mas . Esta sería una gran adición a cualquier configuración de bricolaje, y es especialmente relevante para cualquier sistema básico de seguridad para el hogar. Se podría usar junto con los sistemas de alarma de bricolaje Cómo hacer un sistema de alarma Arduino simple Cómo hacer un sistema de alarma Arduino simple Detecte el movimiento, luego asuste a un intruso con sonidos de alarma agudos y luces parpadeantes. ¿Suena divertido? Claro que lo hace. Ese es el objetivo del proyecto Arduino de hoy, adecuado ... Leer más o bricolaje cámara de seguridad DIY Pan and Tilt Network Security Cam con Raspberry Pi DIY Pan and Tilt Network Security Cam con Raspberry Pi Aprenda cómo hacer una cámara de seguridad pan and tilt visible remotamente con una Raspberry Pi. Este proyecto se puede completar en una mañana con solo las partes más simples. Leer más sistemas.
Necesitará
- Arduino. Hemos utilizado un Uno, a pesar de cualquier guía de compra Arduino de Arduino: ¿Qué placa debería obtener? Guía de compra de Arduino: ¿Qué tabla debería obtener? Hay tantos tipos diferentes de tableros de Arduino por ahí que se te perdonará por estar confundido. ¿Qué debes comprar para tu proyecto? Déjanos ayudarte, con esta guía de compras de Arduino! Leer más o clonar será suficiente.
- 3 x 220 ohmios de resistencia
- 1 x resistencia de 10k ohmios
- Nivel lógico canal N Mosfet
- Módulo MFRC522 con al menos dos tarjetas / fobs para leer. La mayoría viene con uno de cada uno y se puede comprar por menos de $ 2, pero probablemente ya tenga uno en su billetera en forma de una tarjeta de viaje pública..
- LEDs rojos, azules y verdes
- Solenoide 12v ($ 2)
- Fuente de alimentación 12v
- Breadboard y cables de conexión.
El módulo MFRC522
La estrella de esta configuración es un módulo MFRC522 barato, que viene con una tarjeta y un mando que contiene un s50 chip, cada uno almacena su propio número de identificación permanente único (UID). Ambos son funcionalmente idénticos, solo que en una forma diferente.
Comience por buscar el MFRC522 Biblioteca en el administrador de bibliotecas de su IDE de Arduino, e instálela. Alternativamente, puede descargar la biblioteca e instalarla manualmente en la carpeta de bibliotecas. Si usted es totalmente nuevo en Arduino, puede encontrar este manual para comenzar. Comenzando con Arduino: una guía para principiantes Comenzando con Arduino: una guía para principiantes Arduino es una plataforma de creación de prototipos de electrónica de código abierto basada en hardware flexible y fácil de usar. software. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Leer más útil!
La biblioteca también contiene un diagrama de Fritzing, que he anotado indicando cómo adjuntar el módulo a su Arduino.
Tenga cuidado: esta placa funciona con 3.3V, no con 5V, así que tenga cuidado de conectarlo al pin correcto.
Para probar la configuración, abra el DumpInfo bosquejo de Archivo> Ejemplos> MFRC522> DumpInfo y subirlo a tu tablero Arduino. Abra el monitor serie y sostenga uno de sus objetos RFID en el lector. Debería ver algo como esto:
Si obtienes errores en la lectura en voz alta. Error MIFARE_Read (): tiempo de espera en la comunicación
, o PCD_Authenticate () falló: Tiempo de espera en la comunicación
, no te preocupes Probablemente significa que no mantuvo la etiqueta en el lector el tiempo suficiente para leer todos los datos. Siempre que obtenga la tarjeta UID (que se lee tan pronto como la etiqueta esté dentro del alcance del lector), funcionará con este proyecto. Si no obtiene una lectura, revise su cableado e intente nuevamente.
El resto del circuito
Ahora que hemos verificado que nuestro módulo funciona, agreguemos el resto de los componentes. Conecte sus componentes de esta manera:
- Nuestra fuente de alimentación de 12 voltios (desenchufada por ahora) se conecta a los rieles de nuestra placa de pruebas. Conecte el pin Arduino GND y el pin MFRC522 GND al riel de tierra.
- Los LED están conectados a los pines 2, 3 y 4 y al riel de tierra a través de resistencias de 220 ohmios.
- La pata de la puerta de nuestro MOSFET (izquierda en la imagen) se conecta al pin 5 y se conecta a tierra a través de una resistencia de 10k ohmios. La pata de drenaje (centro) se conecta al terminal negativo de nuestro solenoide de 12 V, y la pata de la fuente (derecha) se conecta al riel de tierra.
- Conecte la terminal positiva del solenoide de 12v y el VIN del Arduino al riel de 12v en la placa de pruebas.
Con esta configuración, cada vez que enviemos una señal ALTA del Arduino al MOSFET, permitirá que la corriente pase al Solenoide. No hay nada que le impida usar un solenoide de potencia más alta o más resistente, aunque necesitaría un transformador reductor para alimentar el Arduino desde más de 12V. También preste mucha atención a la hoja de datos de su MOSFET para asegurarse de que no la esté sobrecargando.
Una vez que esté todo junto, debería verse algo como esto:
Si bien no es necesario, creé una plataforma pequeña para simular una cerradura de puerta de madera desechada.
Modificando el croquis
Con el circuito construido, es hora de configurar nuestro Sketch de Arduino. Convenientemente, la biblioteca MFRC522 viene con un bosquejo de ejemplo llamado Control de acceso Eso hace casi exactamente lo que queremos hacer. Conecta tu Arduino a tu computadora y abre Archivo> Ejemplos> MFRC522> AccessControl en el IDE de Arduino.
Hay una gran cantidad de información proporcionada tanto en el boceto de ejemplo como en la página de GitHub para la biblioteca. Solo necesitamos modificar unas líneas. Alternativamente, puede descargar nuestro código modificado de este GitHub Gist.
En primer lugar, el boceto se diseñó para un circuito con un solo LED RGB que utiliza un ánodo común. No usaremos eso, así que simplemente comente esta sección..
// # define COMMON_ANODE
Ahora, haga coincidir nuestros pines LED con los definidos en el croquis..
#define redLed 3 // Set Led Pins #define greenLed 4 #define blueLed 2
Necesitamos cambiar el pin de relé (aunque estamos usando un MOSFET en este caso) para que coincida con nuestra configuración.
#define relay 5 // Establecer MOSFET Pin
Para que sea más fácil cambiar cuánto tiempo permanece abierto el bloqueo más tarde, crearemos una variable para él.
int lockDelay = 10000; // bloqueo permanece abierto durante 10 segundos.
Solo necesitamos hacer un cambio más. Justo en la parte inferior de la lazo Método, enterrado en una sentencia if es la llamada al método. concedido (300). Necesitamos cambiar esto para que use nuestros bloqueoDelay variable.
concedido (lockDelay); // Abrir la cerradura de la puerta para la duración del bloqueo.
Guarde el boceto con un nuevo nombre y cárguelo en su Arduino. Cuando haya terminado, abra el monitor de serie. La primera vez que haga esto, le pedirá que escanee algo para usar como su tarjeta maestra. Sostenga su tarjeta al lector, y el UID de la tarjeta debe aparecer en el monitor serie, junto con el mensaje Todo listo
¡Eso es! Su clave maestra está todo configurado. Desenchufe su tarjeta Arduino de la computadora. Los detalles de la llave maestra se guardarán en la EEPROM de Arduino, incluso después de apagar la alimentación..
Probando la configuración completa
Eche un último vistazo rápido a su cableado para verificar que todo esté en su lugar y conecte su fuente de alimentación de 12 voltios. En este punto, vale la pena mencionar que debe tener cuidado con el ciclo de trabajo de su solenoide. El solenoide barato que estoy usando para esta prueba no tiene un ciclo de trabajo del 100 por ciento, por lo tanto, no debe dejarse en su posición de bloqueo durante largos períodos de tiempo. Para convertir esto en una configuración permanente, use un solenoide de ciclo de trabajo del 100 por ciento. Aún mejor sería un solenoide normalmente cerrado (NC), que permanece bloqueado cuando no está encendido. Esto también significa que cualquier persona que quiera evitar el sistema no puede simplemente desconectarlo.!
Cuando se enciende el circuito, el LED azul debe encenderse para mostrar que el dispositivo está operativo. Si coloca la tarjeta maestra sobre el lector, la pone en modo de administración, los tres LED deben parpadear. Mientras están parpadeando, puede colocar otras tarjetas o mandos sobre el lector para agregar o quitar derechos de acceso. Parpadeará en verde para dar acceso, y en azul para quitar. Utilice la tarjeta maestra nuevamente para salir del modo de administración.
Ahora, cuando sostiene una tarjeta o un mando con acceso al lector, debería parpadear en verde y abrir la cerradura. Si parpadea en rojo, se ha denegado el acceso.!
Todo listo!
Si bien este proyecto es un comienzo simple en el uso de dispositivos RFID en su configuración de bricolaje, no es la configuración más segura. No sugerimos que el jurado instale esto en la puerta de su casa..
Podría construir todo el mecanismo en una caja y usar el solenoide para bloquearlo. Llene la casilla con cookies y use su llave maestra para decidir quién tiene acceso y quién no. Conviértete en el maestro de galletas!
Podría eliminar el solenoide por completo y colocar una tira de LED en su lugar, y tener una luz activada por RFID. Puede utilizar las mismas ideas para mostrar datos como una contraseña de Wi-Fi en una pantalla pequeña cuando una tarjeta o un mando con acceso se coloca en el lector.
¿Has estado usando RFID en tus configuraciones en casa? Háganos saber acerca de sus proyectos en la sección de comentarios a continuación.!
Crédito de la imagen: Annmarie Young a través de Shutterstock.com
Explorar más sobre: Arduino, Seguridad para el hogar, Cerraduras inteligentes.