Arduino MFRC522 RFID

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:

ligacoesRFID Arduino-RFID

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 Files\Arduino\libraries.
  • Abra o Ide do Arduino e passe o seguinte codigo:
RFID-RC522
/*
 *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 <SPI.h>
#include <MFRC522.h>
 
#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!

Deixe uma resposta

Your email address will not be published.

www.000webhost.com