lunes, 30 de mayo de 2022

Rfid Login - Pro Micro (Arduino)

Hace poco adquirí un Arduino Pro Micro; hace tiempo que tenía ganas de conseguir uno y ver que proyectos podían realizarse.

El Arduino Pro Micro es una pequeña y completa placa basada en el ATmega32U4, el mismo microcontrolador del Arduino Leonardo.

Una de las funcionalidades más interesantes de este microcontrolador es la de poder funcionar como un HID (Human Interface Device), pudiendo emular un teclado o mouse.

Esta funcionalidad de emulación HID (Human Interface Device) está disponible de forma nativa en placas que incorporan los procesadores ATMEGA 32u4 (Micro, Leonardo) (Fuente)

Para este proyecto vamos a utilizar esta capacidad del Pro Micro para emular un teclado (utilizando la librería keyboard.h ya presente en el IDE de Arduino) para ingresar nuestra contraseña e iniciar sesión en el sistema.


Podríamos usar un pulsador para realizar esta tarea pero me pareció más interesante usar un lector RFID RC522 (que hasta ahora nunca había utilizado). De manera que cuando le acercamos el TAG autorizado se ejecuten las instrucciones necesarias para realizar el login.

También incluí dos LEDS (rojo y verde) que se enciendan según utilicemos el TAG autorizado o no correspondientemente.

Detallo las conexiones a continuación:

Led Rojo Led Verde
Pin D3 Pin D4
Señal RC522 Pin Pro Micro Pin
RST/Reset RST 9
SPI SS SDA(SS) 10
SPI MOSI MOSI 16
SPI MISO MISO 14
SPI SCK SCK 15

GND GND

3.3v 3.3v

En el video verán que estoy usando un pulsador. El mismo no tiene ninguna relevancia para el proyecto; estaba teniendo problemas para subir los sketch al Pro Micro y encontré que pulsando reset previo a enviar el sketch el mismo se subía sin ningún problema.

Un problema que sí me surgió fue el de cómo darle energía al lecor RFID dado que utiliza 3.3v y el Pro Micro provee solo una salida de 5v. Para solucionar este problema utilicé una fuente para protoboard que me permite elegir entre 5v y 3.3v para las diferentes líneas.


 

Si se utiliza una fuente para la protoboard es imporante unificar la tierra (GND) de la propia fuente y de la del Pro Micro.

Pueden buscar otras soluciones en internet si es que no tienen una fuente disponible; se pueden utilizar resistencias en serie para bajar el voltaje.

Verán que cada paso del sketch está comentado para su mayor comprensión. Los pasos a seguir son bastante sencillos: tras comparar el UID del TAG utilizado vemos si este es el autorizado o no. En caso de serlo el microcontrolador "imprime" el password, envía la señal de enter/entrar y enciende el led verde por medio segundo; en caso de utilizar un tag no autorizado simplemente enciende el led rojo y el loop continúa ejecutándose hasta que se acerque nuevamente un tag.

Dejo el link al sketch:  

https://gist.github.com/mcattani/92f0fb8e9959ef4fec0a3327f9e4a690

Si este u otro de los proyectos publicados en este blog te pareció interesante por favor no dudes en dejar un comentario, darle like y compartir.

Saludos!