DIY Smart Lock con Arduino y RFID

A continuación se detalla cómo construir un bloqueo inteligente simple basado en RFID usando un Arduino como la red troncal y algunos componentes baratos.

A continuación se detalla cómo construir un bloqueo inteligente simple basado en RFID usando un Arduino como la red troncal y algunos componentes baratos.
Anuncio

Caminas hacia un bloqueo invisible para el que solo tienes la llave, y lo abres sin siquiera tocarlo. ¿Suena bien? Hoy vamos a construir un simple bloqueo inteligente basado en RFID usando un Arduino como columna vertebral y algunos componentes baratos.

La tecnología detrás de este proyecto ya se usa 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 por 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 usando un módulo lector Mifare MFRC522, para abrir y cerrar un candado. Utilizaremos una tarjeta maestra para agregar o eliminar el acceso a diferentes etiquetas, y crearemos una lectura de LED simple para decirnos qué está sucediendo en el sistema.

Finalmente, agregaremos un solenoide para actuar como la cerradura, y un MOSFET para activarlo y desactivarlo de forma segura usando 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 Arduino EEPROM para guardar datos entre ciclos de energía. Cómo usar Arduino EEPROM para guardar datos entre ciclos de energía. ¿Sabía que Arduino puede almacenar datos? cuando está apagado? Estoy hablando de EEPROM, así que únete a mí y te enseño cómo leer y escribir en él. Lee mas . Esto 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 puede usar junto con sistemas de alarma DIY Cómo hacer un sistema simple de alarma Arduino Cómo hacer un sistema simple de alarma Arduino Detecta movimiento y luego asusta a un intruso con sonidos de alarma aguda y luces intermitentes. Suena divertido? Claro que lo hace. Ese es el objetivo del proyecto Arduino de hoy, adecuado ... Leer más o Cámara de seguridad DIY Cámara de seguridad de red Pan and Tilt de DIY con Raspberry Pi Cámara de seguridad de red Pan and Tilt de Raspberry Pi con Raspberry Pi Aprenda a hacer cámaras de seguridad de panorámica e inclinación remotamente visibles 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 usado un Uno, aunque cualquier placa Arduino Guía de compra de Arduino: ¿Qué placa debería obtener? Guía de compra de Arduino: ¿Qué placa debería obtener? Hay tantos tipos diferentes de tableros Arduino que hay, se te perdonaría por estar confundido. ¿Qué debería comprar para su proyecto? ¡Permítanos ayudarlo con esta guía de compra de Arduino! Leer más o clon será suficiente.
  • 3 resistencias de 220 ohmios
  • Resistencia de 1 x 10k ohm
  • Nivel lógico N canal Mosfet
  • Módulo MFRC522 con al menos dos tarjetas / llaveros para leer. La mayoría vienen con uno de cada uno, y se pueden comprar por menos de $ 2, pero probablemente ya tengas uno en tu billetera en forma de una tarjeta de viaje pública.
  • LED rojos, azules y verdes
  • Solenoide 12v ($ 2)
  • Fuente de alimentación 12v
  • Tablero y cables de conexión

El módulo MFRC522

La estrella de esta configuración es un módulo MFRC522 económico, que viene con una tarjeta y un mando que contiene un chip s50, cada uno con su propio número de identificación permanente (UID). Ambos son funcionalmente idénticos, solo que en una forma diferente.

módulo y tarjeta

Comience por buscar la biblioteca MFRC522 en el administrador de la biblioteca de su IDE de Arduino e instálela. Alternativamente, puede descargar la biblioteca e instalarla manualmente en la carpeta de bibliotecas. Si es totalmente nuevo en Arduino, puede encontrar este manual para comenzar. Comenzar con Arduino: una guía para principiantes Comenzar con Arduino: una guía para principiantes Arduino es una plataforma de prototipos de electrónica de código abierto basada en hardware flexible y fácil de usar, y 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 Fritzing, que he anotado indicando cómo adjuntar el módulo a su Arduino.

arduino rfid cableado del pinout
Crédito de la imagen: Miguel Balboa a través de Github

Tenga cuidado: este panel funciona con 3.3V, no con 5V, por lo tanto, tenga cuidado de conectarlo al pin derecho.

Para probar la configuración, abra el boceto DumpInfo desde Archivo> Ejemplos> MFRC522> DumpInfo y cárguelo en su placa Arduino. Abra el monitor serie y mantenga uno de sus objetos RFID en el lector. Debería ver algo como esto:

lectura de serie de información de descarga

Si obtiene errores en la lectura diciendo que MIFARE_Read() failed: Timeout in communication, o PCD_Authenticate() failed: Timeout in communication, no se preocupe. Probablemente significa que no sostuvo la etiqueta hasta el lector el tiempo suficiente para leer todos los datos. Siempre que obtenga el UID de la tarjeta (que se lee tan pronto como la etiqueta esté dentro del alcance del lector), funcionará con este proyecto. Si no obtiene ninguna lectura, verifique su cableado y vuelva a intentarlo.

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:

circuito de configuración completo fritzing

  • Nuestra fuente de alimentación de 12v (desenchufada por el momento) se conecta a los rieles de nuestra placa de prueba. Conecte el pin Arduino GND y el pin MFRC522 GND al riel de tierra.
  • Los LEDS están conectados a los pines 2, 3 y 4 y al riel de tierra a través de resistencias de 220 ohm.
  • La pata de la compuerta de nuestro MOSFET (izquierda en la imagen) se conecta al pin 5, y a tierra a través de una resistencia de 10k ohm. La pata de drenaje (centro) se conecta al terminal negativo de nuestro solenoide de 12v y la pata de origen (derecha) se conecta al carril de tierra.
  • Conecte el terminal positivo del solenoide 12v y el VIN del Arduino al raíl 12v en el tablero.

Con esta configuración, cada vez que enviamos 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 mayor potencia 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 sobrecargue.

Una vez que esté todo armado, debería verse más o menos así:

diseño del circuito

Si bien no es necesario, creé un pequeño aparejo para simular una cerradura de puerta de madera de desecho.

Modificando el boceto

Con el circuito construido, es hora de configurar nuestro Arduino Sketch. Convenientemente, la biblioteca MFRC522 viene con un boceto de ejemplo llamado Control de acceso que hace casi exactamente lo que queremos hacer. Conecte su Arduino a su computadora y abra Archivo> Ejemplos> MFRC522> AccessControl en Arduino IDE.

Hay una gran cantidad de información provista tanto en el boceto de ejemplo, como en la página de GitHub para la biblioteca. Solo necesitamos modificar algunas líneas. Alternativamente, puedes descargar nuestro código modificado de este GitHub Gist.

En primer lugar, el boceto fue diseñado para un circuito con un solo LED RGB que utiliza un ánodo común. No lo usaremos, así que simplemente comente esta sección.

 //#define COMMON_ANODE 

Ahora, combine nuestros pines LED con los definidos en el boceto.

 #define redLed 3 // Set Led Pins #define greenLed 4 #define blueLed 2 

Necesitamos cambiar el pin del relé (aunque estamos usando un MOSFET en este caso) para que coincida con nuestra configuración.

 #define relay 5 // Set MOSFET Pin 

Para que sea más fácil cambiar cuánto tiempo permanece abierto el bloqueo más adelante, crearemos una variable para él.

 int lockDelay=10000; // lock stays open for 10 seconds. 

Solo necesitamos hacer un cambio más. Justo en la parte inferior del método de bucle, enterrado en una sentencia if se otorga la llamada al método (300) . Necesitamos cambiar esto para que use nuestra variable lockDelay .

 granted(lockDelay); // Open the door lock for lockDelay duration 

Guarde el boceto con un nuevo nombre y cárguelo en su Arduino. Cuando haya terminado, abra el monitor en serie. La primera vez que haga esto, le pedirá que escanee algo para usar como tarjeta maestra. Mantenga su tarjeta en el lector, y el UID de la tarjeta debe aparecer en el monitor de serie, junto con el mensaje Todo listo

¡Eso es! Tu llave maestra está configurada. Desconecta tu tablero Arduino de la computadora. Los detalles de la clave maestra se guardarán en la EEPROM de Arduino, incluso después de apagar la unidad.

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 12v. En este punto, vale la pena mencionar que debe tener cuidado con el ciclo de trabajo de su solenoide. El solenoide económico que utilizo para esta prueba no tiene un ciclo de trabajo del 100 por ciento, por lo tanto, no debe dejarse en la posición bloqueada durante largos períodos de tiempo. Para hacer 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 cualquiera que desee eludir el sistema no puede simplemente desconectarlo!

Cuando el circuito se enciende, el LED azul debe encenderse para mostrar que el dispositivo está en funcionamiento. Sostener la tarjeta maestra sobre el lector lo pone en modo de administración debería hacer que los tres LED parpadeen. Mientras están destellando, puede sostener otras tarjetas o llaveros sobre el lector para agregar o quitar derechos de acceso. Destellará verde para dar acceso y azul para quitar. Usa la tarjeta maestra nuevamente para salir del modo administrador.

Ahora cuando sostenga una tarjeta o un mando con acceso hasta el lector, debería parpadear en verde y abrir el candado. 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 manipule esto en la puerta de su casa.

Puede 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 las cookies

Podría deshacerse del solenoide por completo y colocar una tira de LED en su lugar, y tener una luz activada por RFID. Puede usar las mismas ideas para mostrar datos como una contraseña de Wi-Fi en una pantalla pequeña cuando una tarjeta o llavero con acceso se sostiene hasta el lector.

¿Has estado usando RFID en tus montajes 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

In this article