Arduino - RFID/NFC - servomotor
En este tutorial, vamos a aprender a usar una etiqueta RFID/NFC para controlar un servomotor con Arduino. Así es como funciona:
- Si se toca una etiqueta autorizada, Arduino gira el servomotor a 90°
- Si se vuelve a tocar una etiqueta autorizada, Arduino gira el servomotor de vuelta a 0°
- El proceso anterior se repite indefinidamente
Esto se puede aplicar para bloquear o desbloquear un armario, un cajón o una puerta, o para abrir o cerrar el alimentador de mascotas.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo RFID/NFC RC522 y del servomotor
Si no conoces el módulo RFID/NFC RC522 y el servo (pinout, cómo funciona, cómo programarlo ...), aprende sobre ellos en los siguientes tutoriales:
- Arduino - RFID/NFC RC522 tutorial
- Arduino - Servo Motor tutorial

Cómo funciona
- Los UIDs de algunas etiquetas RFID/NFC están predefinidos en el código de Arduino.
- El usuario acerca una etiqueta RFID/NFC al lector RFID/NFC.
- El lector lee el UID de la etiqueta.
- Arduino obtiene el UID del lector.
- Arduino compara el UID leído con los UIDs predefinidos.
- Si el UID coincide con uno de los UIDs predefinidos, Arduino controla el servomotor a 90°.
- Si la etiqueta se vuelve a tocar, Arduino mueve el servomotor de vuelta a 0°.
- Este proceso se repite indefinidamente.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
En el diagrama de cableado anterior, un único adaptador de 5 V suministra energía al Arduino directamente, al motor servo directamente y al módulo RC522 (indirectamente a través del pin de 3.3 V del Arduino).
Para simplificar el proceso, los pines del módulo RC522 están directamente conectados a los pines del Arduino. Sin embargo, esto puede hacer que el Arduino deje de funcionar correctamente en ciertos casos, ya que los pines de salida del Arduino generan una tensión de 5V, mientras que los pines del módulo RC522 funcionan normalmente a una tensión de 3.3V. En consecuencia, es recomendable regular la tensión entre los pines del Arduino y los del módulo RC522. Para más detalles, consulte el tutorial Arduino - RFID RC522. El diagrama a continuación ilustra cómo regular de 5V a 3.3V usando resistencias:

This image is created using Fritzing. Click to enlarge image
※ Nota:
El orden de pines puede variar según los fabricantes. SIEMPRE utilice las etiquetas impresas en el módulo. La imagen de arriba muestra el diagrama de pines de los módulos del fabricante DIYables.
Tabla de cableado del módulo RFID/NFC RC522
| RFID/NFC RC522 | Arduino |
|---|---|
| SS | → 10 |
| SCK | → 13 |
| MOSI | → 11 |
| MISO | → 12 |
| IRQ(not connected) | |
| GND | → GND |
| RST | → 9 |
| VCC | → 3.3V |
Tabla de cableado del servomotor
| Servo Motor | Arduino | 5V DC Adapter |
|---|---|---|
| VCC (red) | → positive | |
| GND (brown) | → negative | |
| SIG (yellow) | → A5 |
Tabla de cableado del adaptador de 5 V CC
| 5V DC Adapter | Servo Motor | Arduino |
|---|---|---|
| Positive | → VCC | |
| Positive | -> Vin | |
| Negative | → GND | |
| Negative | → GND |
Código de Arduino - una única etiqueta RFID/NFC
Pasos R\u00e1pidos
- Navega hasta el icono de Bibliotecas en la barra lateral izquierda del IDE de Arduino.
- Busca “MFRC522”, luego encuentra la biblioteca de GithubCommunity
- Haz clic en el botón Instalar para instalar la biblioteca MFRC522.

Como el UID normalmente no está impreso en la etiqueta RFID/NFC, el primer paso que debemos dar es averiguar el UID de la etiqueta. Esto se puede hacer mediante:
- Copia el código anterior y ábrelo con el IDE de Arduino
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
- Abre el Monitor Serial
- Acerca una etiqueta RFID/NFC al módulo RFID-RC522
- Obtén el UID en el Monitor Serial
Después de tener UID:
- Actualiza el UID en la línea 20 del código anterior. Por ejemplo, cambia byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; por byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Vuelve a cargar el código en Arduino.
- Acerca una etiqueta RFID/NFC al módulo RFID-RC522.
- Verás el motor servo girar a 90°.
- Ver la salida en el Monitor Serial.
- Toca la misma etiqueta RFID/NFC en el módulo RFID-RC522 de nuevo
- Verás girar el servo a 0°
- Verás la salida en el Monitor Serial
- Toca otra etiqueta RFID/NFC en el módulo RFID-RC522
- Ver la salida en el monitor serie
Código de Arduino - Múltiples Etiquetas RFID/NFC
Podemos permitir que varias etiquetas RFID/NFC controlen un servomotor. El código que se muestra a continuación usa dos etiquetas como ejemplo.
Realiza los pasos similares a los anteriores y luego acerca cada etiqueta al módulo RFID-RC522 una por una. El resultado en el Monitor Serial es el siguiente:
Puedes extender el código anterior para tres, cuatro o más etiquetas.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.