Arduino Nano - RFID - Servo Motor
Este tutorial ensina como usar um Arduino Nano e o módulo RFID NFC RC522 para controlar um servo motor. O processo funciona assim:
- Quando uma tag autorizada é encostada, o Arduino Nano gira o servo motor para 90°
- Se a mesma tag autorizada for encostada novamente, o Arduino Nano gira o servo motor de volta para 0°
- Esse ciclo se repete continuamente
Isso pode ser usado para trancar um armário, gaveta, porta, ou para abrir e fechar um alimentador de pets...
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.
Sobre o Módulo RFID/NFC RC522 e o Servo Motor
Se você não conhece o Módulo RFID/NFC RC522 e o Servo Motor (incluindo pinagem, como funcionam e como programá-los), você pode saber mais nos tutoriais a seguir:
- Tutorial Arduino Nano - RFID/NFC RC522
- Tutorial Arduino Nano - Servo Motor

Como Funciona
- O código do Arduino Nano tem alguns UIDs de tags RFID/NFC predefinidos.
- Quando a tag RFID/NFC é encostada no leitor, o UID é lido.
- O Arduino Nano recebe o UID do leitor.
- Em seguida, ele compara o UID lido com os UIDs predefinidos.
- Se o UID corresponder a um dos UIDs predefinidos, o Arduino Nano controla o servo motor para 90°.
- Quando a tag é encostada novamente, o Arduino Nano controla o servo motor de volta para 0°.
- Esse processo se repete continuamente.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Por simplicidade, o diagrama de ligação acima é usado para testes ou fins educacionais, e para um servo motor com torque pequeno. Recomendamos fortemente usar uma fonte de alimentação externa para o servo motor na prática. O diagrama de ligação abaixo ilustra como conectar o servo motor a uma fonte de alimentação externa.

This image is created using Fritzing. Click to enlarge image
Ligação com o módulo RFID RC522
Para simplificar o processo de conexão, os pinos do módulo RC522 são conectados diretamente aos pinos do Arduino. No entanto, isso pode fazer o Arduino funcionar mal em certos casos, pois os pinos de saída do Arduino produzem uma tensão de 5V, enquanto os pinos do módulo RC522 operam com uma tensão padrão de 3.3V. Portanto, é aconselhável regular a tensão entre os pinos do Arduino e os pinos do módulo RC522. Para mais detalhes, consulte o tutorial Arduino Nano - RFID RC522. O diagrama a seguir ilustra como regular 5V para 3.3V usando resistores:

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
※ Nota:
A disposição dos pinos pode variar dependendo do fabricante. SEMPRE use os rótulos impressos no módulo. A imagem acima mostra a pinagem dos módulos do fabricante DIYables.
Tabela de ligação do Módulo RFID/NFC RC522
| RFID/NFC RC522 | Arduino Nano |
|---|---|
| SS | → 10 |
| SCK | → 13 |
| MOSI | → 11 |
| MISO | → 12 |
| IRQ(não conectado) | |
| GND | → GND |
| RST | → 9 |
| VCC | → 3.3V |
Tabela de ligação do Servo Motor
| Servo Motor | Arduino | Adaptador DC 5V |
|---|---|---|
| VCC (vermelho) | → positivo | |
| GND (marrom) | → negativo | |
| SIG (amarelo) | → A5 |
Tabela de ligação do Adaptador DC 5V
| Adaptador DC 5V | Servo Motor | Arduino Nano |
|---|---|---|
| Positivo | → VCC | |
| Positivo | -> Vin | |
| Negativo | → GND | |
| Negativo | → GND |
Código Arduino Nano - Uma Única Tag RFID/NFC
Passos Rápidos
- Clique no ícone Libraries na barra lateral esquerda da Arduino IDE.
- Pesquise por “MFRC522” e localize a biblioteca de GithubCommunity.
- Pressione o botão Install para instalar a biblioteca MFRC522.

Para determinar o UID de uma tag RFID/NFC, o primeiro passo é fazer o upload do código pela Arduino IDE. Isso pode ser feito assim:
- Copiando o código e abrindo-o na Arduino IDE
- Clicando no botão Upload
- Abrindo o Serial Monitor
- Encostando a tag RFID/NFC no módulo RFID-RC522
- Vendo o UID no Serial Monitor
Depois de obter o UID:
- Substitua o valor de authorizedUID na linha 20 do código pelo UID obtido. Por exemplo, mude byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; PARA byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Faça o upload do código para a placa Arduino Nano novamente
- Coloque uma tag RFID/NFC no módulo RFID-RC522
- O servo motor vai girar para 90°
- Confira a saída no Serial Monitor
- Encoste a tag RFID/NFC no módulo RFID-RC522 mais uma vez.
- O servo motor vai girar para 0° e a saída ficará visível no Serial Monitor.
- Encoste uma tag RFID ou NFC no módulo RFID-RC522.
- Confira a saída no Serial Monitor.