O dispositivo de RFID mais comum usado para aplicações em Arduino é o RFID-RC522, com as seguintes características:
Corrente de funcionamento: 3.3V 13-26mA
Modo de repouso: <80uA
Pico: <30mA
Frequência: 13,56 MHz
Tipos de cartão suportados: Mifare1 S50, S70 Mifare1 MIFARE ultraleves, Mifare Pro, MIFARE DESFire
Temperatura de funcionamento: -20-80º
Humidade relativa: 5% -95%
Distância de leitura ≥50mm / 1,95 ” (mifare 1)
Tamanho do módulo: 40mm × 60 milímetros / 1,57 * 2,34 ”
Módulo de interface SPI
Taxa de transferência de dados: máximo de 10Mbit / s
Vamos exemplificar como colocar o RC522 a ler cartões RFID:
As ligações ao Arduino são de seguinte forma:
Antes de mais vamos precisar da biblioteca principal para trabalhar com este dispositivo.
- Faça download da biblioteca de Miguel Balboa.
- Descompacte para dentro da pasta C:Program FilesArduinolibraries.
- Abra o Ide do Arduino e passe o seguinte codigo:
/*
*Created by FILIPEFLOP
*Modified by Norlinux
*http://www.microelectronic.pt
*https://www.facebook.com/MundoDosMicrocontroladores/
*http://maquina.96.lt
*Released under GPLv3.
*Please refer to LICENSE file for licensing information.
*which can be found at http://www.gnu.org/licenses/gpl.txt
*/
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
void setup()
{
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
Serial.println("Aproxime o cartão para ler...");
Serial.println();
}
void loop()
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "B0 EA FD 79") //change here the UID of the card/cards that you want to give access
{
Serial.println("Acesso Autorizado");
Serial.println();
delay(3000);
}
else {
Serial.println("Acesso Negado");
delay(3000);
}
}
Por fim abra o “Monitor Serie” do Arduino e passe o cartão para verificar se tudo funciona bem.
pode ajudar este video que demonstra como tudo se faz, divirtam-se!