Controle de Acesso usando Leitor RFID com Arduino

Controle de Acesso usando Leitor RFID com Arduino

Leitores e tags RFID (Radio Frequency Identification, ou Identificação por Radiofrequência) costumam ser utilizados para controle de acesso e identificação de pessoas e equipamentos, seja por meio de crachás ou etiquetas aplicadas à produtos. No nosso dia-a-dia, podemos encontrar a tecnologia RFID nos pedágios (no popular “Sem Parar”), ou em cartões tipo Bilhete Único, utilizados em várias cidades brasileiras para acesso ao transporte coletivo.

Circuito controle de acesso com RFID

As etiquetas (ou tags) RFID, podem conter vários dados sobre o proprietário do cartão, como nome e endereço e, no caso de produtos, informações sobre procedência e data de validade, apenas para citar alguns exemplos.

Como são compostas apenas por um pequeno circuito, as tags RFID podem ser embutidas facilmente em vários objetos, nos mais variados tamanhos e formatos. No caso do Kit Leitor Rfid Mfrc522 Mifare disponível na loja FILIPEFLOP (imagem acima), temos duas tags: uma no formato de chaveiro, outra em formato de cartão.

Cada etiqueta/tag do leitor RFID tem a sua própria identificação (UID), e é com essa identificação que vamos montar um controle de acesso que irá ler o UID do cartão e exibir as informações de acesso num display LCD 16×2. Com pequenas alterações no programa é possível acionar as outras portas do Arduino e ligar motores, sensores, luzes e outros dispositivos.

Pinagem Leitor RFID:

O leitor RFID tem 8 pinos que seguem a seguinte sequência de ligação. Atenção à tensão de alimentação, que neste caso é de 3.3 volts

  • Pino SDA ligado na porta 10 do Arduino
  • Pino SCK ligado na porta 13 do Arduino
  • Pino MOSI ligado na porta 11 do Arduino
  • Pino MISO ligado na porta 12 do Arduino
  • Pino NC – Não conectado
  • Pino GND  ligado no pino GND do Arduino
  • Pino RST ligado na porta 9 do Arduino
  • Pino 3.3 – ligado ao pino 3.3 V do Arduino

Montagem Leitor RFID com Arduino:

Utilizamos no circuito o Display 16×2 HD44780 com ligação semelhante ao do artigo Mostrando informações de temperatura no LCD 16×2 com o DHT11. Trocamos apenas os pinos 12 do Arduino Uno pelo pino 6, e o 11 pelo 7, pois os mesmos já estão sendo utilizados pelo leitor RFID. O potenciômetro é utilizado para controlar o contraste do LCD, e no circuito foi usado um de 10 K :

Circuito RFID - LCD 16x2

Programando Arduino com Leitor RFID:

Para o programa, baixe a biblioteca MFRC522 nesse link. Descompacte o arquivo e renomeie a pasta rfid-master para MFRC522, colocando-a dentro da pasta LIBRARIES da IDE do seu Arduino.

O programa exibe na tela mensagens referentes ao cartão utilizado, sendo que no nosso caso, o display apresenta mensagem de “Acesso Liberado” para a tag no estilo chaveiro, e “Acesso Negado” para a tag no estilo cartão.

Adapte o programa às tags que você possui, alterando as linhas com “UID 1 – Chaveiro” e “UID 2 – Cartao” (Linhas 54 e 67), lembrando que o formato da UID deve ser mantido (XX YY ZZ WW).

Para descobrir o número da tag do seu dispositivo, aproxime-o do leitor RFID e verifique o serial monitor :

RFID - Identifcação tag

//Programa : RFID - Controle de Acesso leitor RFID
//Autor : FILIPEFLOP

#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);	// Create MFRC522 instance.

LiquidCrystal lcd(6, 7, 5, 4, 3, 2); 

char st[20];

void setup() 
{
  Serial.begin(9600);	// Inicia a serial
  SPI.begin();		// Inicia  SPI bus
  mfrc522.PCD_Init();	// Inicia MFRC522
  Serial.println("Aproxime o seu cartao do leitor...");
  Serial.println();
  //Define o número de colunas e linhas do LCD:  
  lcd.begin(16, 2);  
  mensageminicial();
}

void loop() 
{
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  //Mostra UID na serial
  Serial.print("UID da tag :");
  String conteudo= "";
  byte letra;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Mensagem : ");
  conteudo.toUpperCase();
  if (conteudo.substring(1) == "ED 78 03 CA") //UID 1 - Chaveiro
  {
    Serial.println("Ola FILIPEFLOP !");
    Serial.println();
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Ola FILIPEFLOP !");
    lcd.setCursor(0,1);
    lcd.print("Acesso liberado!");
    delay(3000);
    mensageminicial();
  }

  if (conteudo.substring(1) == "BD 9B 06 7D") //UID 2 - Cartao
  {
    Serial.println("Ola Cartao !");
    Serial.println();
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Ola Cartao !");
    lcd.setCursor(0,1);
    lcd.print("Acesso Negado !");
    delay(3000);
    mensageminicial();
  }
} 

void mensageminicial()
{
  lcd.clear();
  lcd.print(" Aproxime o seu");  
  lcd.setCursor(0,1);
  lcd.print("cartao do leitor");  
}

Gostou? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo) e visite nossa loja FILIPEFLOP !

22
Controle de Acesso usando Leitor RFID com Arduino
271 votos, 4.84 classificação média (96% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

383 Comentários

  1. guilherme - 13 de maio de 2017

    aparece isso:

    Arduino: 1.8.1 (Windows 8.1), Placa:”Arduino/Genuino Uno”

    C:\Users\GUILHERME\Documents\Arduino\sketch_may13a\sketch_may13a.ino:5:21: fatal error: MFRC522.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino/Genuino Uno

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

  2. Kelvyn Luiz Wolff - 8 de maio de 2017

    Bom dia!
    Fiz o circuito e tudo mais porem o meu esta se desativando quando passa um dia sem ser usado, o leitor para de ler o cartão.

  3. Caleb - 13 de abril de 2017

    Bom dia! minha duvida e sobre se tem algum relato de incompatibilidade com os RFID RC522 vindo da china pq comprei 2 e nem deles quer funcionar?

    • Evandro - 13 de abril de 2017

      Ola Caleb! Acredito que não tem incompatibilidade, pois adquiri alguns de lá também e estão funcionando perfeitamente, a não ser mesmo que vieram com problemas, ou algum outro fabricante que necessite algum drive, fato este que me ocorreu com alguns arduino Nano comprados da china, mas o vendedor me passou o link para o download do drive, e após isso funcionou também normalmente

  4. Geovana - 28 de março de 2017

    Boa tarde, gostaria de fazer um projeto parecido, mas precisaria de um alcance maior entre a tag e o leitor. Qual o alcance máximo desses componentes? (precisaria de cerca de 15 cm entre os dois)

  5. Lucas Dourado - 24 de março de 2017

    vi o projeto da trava eletrica usando o rfid, e a ideia de adicionar o lcd, mas vi que cada projeto tem um codigo diferente, então como eu deveria proceder para incluir tudo em um código só?

  6. Fernando - 4 de março de 2017

    Boa noite, fiz o projeto e funcionou 100%, tenho uma duvida, como consigo cadastrar novas TAG’s ? (usar mais de 10 tags) , para a liberação de acesso ?

    Não estou conseguindo,

    }
    Serial.println();
    Serial.print(“Mensagem : “);
    conteudo.toUpperCase();
    if (conteudo.substring(1) == “ED 78 03 CA”) //UID 1 – Chaveiro
    {
    Serial.println(“Ola FILIPEFLOP !”);
    Serial.println();
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print(“Ola FILIPEFLOP !”);
    lcd.setCursor(0,1);
    lcd.print(“Acesso liberado!”);
    delay(3000);
    mensageminicial();
    }

    Agradeço desde já

  7. César Slongo - 3 de março de 2017

    Boa tarde, tentei compilar esse código, após baixar a biblioteca do site referido. Porém ele apresenta diversos erros referentes a biblioteca MFRC522, alguma dica para resolver o problema?

  8. Alex - 16 de fevereiro de 2017

    Ola, gostaria de saber como posso montar um acionamento de fechadura com esses chaveiros de rfid, mas na distancia aproximadamente de 3 metros. é possível com esse chaveiro ou tem outro tipo de chaveiro para esse tipo de distancia? Me indiquem algum…

  9. Alan Gomes Silva - 19 de janeiro de 2017

    Olá amigo, poderia me dizer se tem a possibilidade de add nesse projeto um teclado 4X3 e um módulo de rádio nrf24l01 em um arduino UNO? #iniciante. Creio eu que não posso compartilhar as portas, como faço com a de corrente.

  10. Luiz Guilherme - 18 de janeiro de 2017

    Consigo utilizar esse leitor direto no Chip do Arduino?

  11. BRUNO HENRIQUE OLIVEIRA GARCIA GOUVEA - 7 de janeiro de 2017

    gostaria de uma ajuda quero quer o rid leia o cartao e mantenha ativo uma porta para que eu ligue ela no botao do meu computador para ligar , porem nao consigo editar o codigo para fazer tal uso

  12. perícles santana - 3 de janeiro de 2017

    AIIIIIII GALERAAAA! TUDO BELEZA????? EU E MEUS PARÇA TAVAMOS VENDO ESSE POST AQUI E FICAMOS NA DUVIDA. SERA QUE É PRECISO INTERNET PARA ESSE BAGUIO AQUI??? OBRIGADO PELAS RESPOSTAS !! FIQUEM COM DEUS!!

    • perícles santana - 3 de janeiro de 2017

      BOA TARDE PERÍCLES! TUDO BOM????’ EU ESTAVA COMENDO AQUI MINHA PASSOCA QUANDO ME DEPAREI COM O SEU POST! VC EH BURRO CARA!!! CLARO QUE EH PRECISO CONEXAO INTERNET PARA O BAGUIO FUNCIONAR! VIADO DA MERDA, BURRO DO CARAIO!!! VA PARA A ESCOLA APRENDER ESSAS MERDAS!! SEU BABACA!! SEU BOSTA!!!

  13. Pyter Cabral - 2 de janeiro de 2017

    Pessoal, preciso de ajuda, não acho a função no arduino para alterar a chave A do cartão RFID, alguem já conseguiu ?

  14. Evandro Silva - 29 de dezembro de 2016

    Olá pessoal! Estou aqui a fazer um controle de acesso em minha residência, esta funcionando tudo certo, as travas estão acionando somente com os cartões configurados e tal, mas me veio uma duvida. Tem como fazer um código para armazenar o tag de um cartão novo que não se perca em um possível desligamento do arduino ou preciso configurar na lógica quando precisar adicionar ou deletar um código de acesso? em cartão SD sei que da, mas depois tem como comparar os tag existentes no mesmo se é liberado ou não?

  15. Hericles Palacio - 28 de dezembro de 2016

    Olá,
    Fiz o projeto de acordo com o apresentado no site e mesmo assim não funcionou, tentei com 2 leitores e outras tags e mesmo assim não consegui, eu utilizo o RFID-RC522.
    Obrigado pela atenção.

  16. Raphael Fernandes - 8 de novembro de 2016

    Boa tarde,

    Comprei o módulo, fiz todas as ligaçoes corretamente, e alimentei com 3.3V, porém o leitor n le tanto o cartao quanto a tag. O que pode ser?

    Grato

  17. MATHEUS RAFAEL - 3 de novembro de 2016

    Gostaria de saber como faço o projeto para uma trava eletrônica na porta do meu quarto usando o Módulo Rfid Mfrc522 13,56 Mhz, de forma com que ligue a trava eletrônica acionando a mesma.

  18. MARCOS - 26 de outubro de 2016

    Boa noite
    Como fazer o arduino r3 configura instalar dois leitor rdif pra acionar uma porta entrada e saída.
    Como fazer no código do arduino.

  19. lucas santos - 21 de outubro de 2016

    preciso fazer esse modulo funcionar no arduino leonardo mas nao estou conseguindo. existe uma forma de faze-lo funcionar nesse arduino, ou nao é compativel?

  20. MARCELO - 11 de outubro de 2016

    Esse sistema usou todas as portas do Arduíno, o que ele vai automatizar agora..como se resolve esse problema ja que sou novo nisso

    • Jhonny - 12 de outubro de 2016

      Olá! me perguntei a mesma coisa, decidi usar um módulo i2c para o display, reduzindo a quantidade de pinos usados no UNO para apenas 2 portas (utilizei A4, A5 Analógicas), também utilizei as mesmas portas analógicas para comunicar um módulo RTC junto com o display, com isto agreguei horário ao programa que fixa no acesso que os cartões concedem, mostrando data e hora que determinado cartão acessou. Ambos os dois shields são controlados por módulo I2c e possuem endereços diferentes e não entra em conflito, com isso lhe sobra as portas de 1 a 8 digital PWM e de A0 a A3 Analógicas, isto no caso do Arduino UNO.

  21. Filipe Mansano - 2 de outubro de 2016

    Fiz uma função que centraliza a mensagem no display segue abaixo

    void centralizar(char palavra[], int linha){

    int tamanho = strlen(palavra);

    if(tamanho >= 16){
    lcd.setCursor(0, linha);
    return;
    }

    float tmp = 0;
    int espacamento = 0;

    tmp = 16 – tamanho;
    tmp = tmp / 2;

    espacamento = (int) tmp;

    lcd.setCursor(espacamento, linha);
    lcd.print(palavra);
    }

    declarar abaixo da função loop()

    Exemplo:
    lcd.clear();
    centralizar(“BOM DIA”, 0);
    centralizar(“LIBERADO!”, 1);

    Resultado:
    http://prnt.sc/cp0i6z

  22. Filipe Mansano - 1 de outubro de 2016

    Olá boa noite, estou iniciando no arduino, e achei um simulador online, onde posso treina as conexões/programação, seguindo a montagem que foi descrita, ao ligar o simulador acusa oque me parece um sinal de queimou , sendo necessário inserir um resistor de 220ohm na porta GND (16) do display… no caso, não seria necessário colocar um resistor no projeto? ou o LCD do projeto dispensa o uso do mesmo? (sendo do simulador um diferente que necessitaria)

    simulador utilizado : https://circuits.io/

    Imagem ilustrando a situação
    http://prnt.sc/cofq1i

  23. SAURATER FARADAY - 30 de setembro de 2016

    Olá,

    Achei muito interessante o código. Gostaria de saber o que fazer para acionar o motor Rossi DZ4 Sk.

    Tenho muito pouco conhecimento em eletrônica

  24. Diego - 30 de setembro de 2016

    Bom dia!
    Ótimo trabalho o de vocês!
    Uma pequena dúvida :D
    A qual distância máxima eu poderia ligar o Arduino do módulo (comprimento de fios)? Que bitola de fio seria o melhor para fazer esse tipo de conexão? Poderia usar os mesmos cálculos que se usam para calcular a bitola de fios em elétrica predial?

    Desde já agradeço.

    • Jhonny - 12 de outubro de 2016

      Olá! por se tratar de baixa tensão (no caso da comunicação do arduino ser de 5v) seria a mesma variável que se calcula para cabos de telefonia, ou seja, quanto maior a distancia maior sera a impedância e “atraso” na resposta a central, que no caso é o arduino). acredito que com um cabo de rede você pode estar fazendo a comunicação entre módulo e arduino a uma distancia segura de 25, 30 metros, mais do que isto pode se perder bits de comunicação devido a impedância natural do material do fio, e isto agrava ainda mais se você passar o cabo junto a fontes de energia ou cabos elétricos, isto causa interferência por campo magnético.

  25. Caique - 28 de setembro de 2016

    Galera, vai ai uma indicação de pagina no Facebook super bacana para tirar dúvidas e para quem gosta de projetinhos de hardware.

    http://www.facebook.com/microeletronicacom/

    Att, abraços

  26. Wrias Santos - 23 de setembro de 2016

    Muito interessante!
    Tenho uma dúvida. Roteadores wifi conseguem reconhecer algum tipo de tag RFID? Seria possível, e um caso que demandasse rastreamento, usar de um wifi existente para localizar tags?

    Obrigado.

  27. Wrias Santos - 23 de setembro de 2016

    Muito interessante!
    Tenho uma dúvida. Roteadores wifi conseguem reconhecer algum tipo de tag RFID? Seria possível, e um caso que demandasse rastreamento, usar de um wifi existente para localizar tags?

  28. ANDERSON LOURENÇO - 4 de setembro de 2016

    Não sei porque mais apagou o que eu tinha escrito.

    #include SPI.h
    #include MFRC522.h
    #include LiquidCrystal.h

    eu preciso mudar o local que ele esta declarado. (SPI.h) para aonde esta em meu computador tipo assim( SPI.e\pasta), pelo o que eu estava olhando acho que as bibliotecas algumas ficam dentro do programa arduino…
    Poderia me ajudar, não entendi essa parte muito bem.
    desde já obrigado.

  29. Lucas Anchieta - 24 de agosto de 2016

    Depois que se descobre o UID da tag, esse mesmo UID é testado em uma laço if. Gostaria de saber se é possível o Arduino memorizar o UID de cartões novos e testar ele no laço if sem necessidade do parametro do if ser o cogido Hexa do UID? Como se fosse uma variável, onde o Arduino busca o UID da tag no banco de dados e caso essa UID da Tag esteja no banco ele reconhece o cartão.

    • Jhonny - 12 de outubro de 2016

      Acredito que se você colocar o banco de UID das tags salvas num cartão SD, e com isto fazer com que o arduino compare o Rfid localizado a um que já esteja no banco de dados. AI só precisa montar um “IF” comparando a UID do cartão apresentado as UID que estiver no banco de dados como uma UID de acesso liberado, se estiver ele simplesmente libera o acesso, caso contrário aparece a frase “Cartão não identificado!”

  30. Silmar - 9 de agosto de 2016

    Boa dia, os Skecth são todos direcionados ao arduino UNO, porem eu preciso utilizar no MEGA e ele nao carrega (exit status 1
    Erro compilando para a placa Arduino/Genuino Mega or Mega 2560) tem como alterar o sketch para o MEGA?
    obrigado.

  31. João Carlos - 5 de agosto de 2016

    Olá, boa noite.
    Tem algum outro link em que posso baixar a biblioteca novamente, a que baixei no link descrito não esta dando certo, coloco na livraria e adiciono, mas mesmo assim da erro na hora da verificação.

    obs.: estou começando com o arduino.

    obrigado desde já.

  32. FRANCISCO MONTENEGRO IZQUIERDO - 28 de julho de 2016

    Teria como fazer o cartao passar um sinal para o computador? Tentei usar com leonardo mas nao consegui.
    estou tentando desenvolver um jogo com ele

  33. gabriel - 20 de julho de 2016

    boa tarde eu tenho uma duvida, teria como utilizar um leitor de digital ao invés do leitor rfid ???

  34. cledilandio - 8 de julho de 2016

    Comprei o Kit Módulo Leitor Rfid Mfrc522 Mifare, mas não consigo fazer funcionar, estava tentando em um mega, comprei um uno, pensando que era esse o problema, mas não consigo. O cartão e o chaveiro que veio no kit não ler nem no meu celular, já outros chaveiros que tenho de 13,56 , ler no celular perfeitamente.

  35. Rodrigo Teles - 3 de julho de 2016

    Boas FilipFlop

    Eu queria perguntar sobre qual o programa que usa no computador para mostrar as ligações que tem em esquema. Precisava de saber qual o programa porque estou a fazer um programa para a escola e dava-me muito jeito para fazer o esquema.

    Obrigado pela consideração

  36. Weidson - 24 de junho de 2016

    Poderia postar o codigo com acionamento de rele ou um led indicador ?

  37. Lucas Bezerra - 17 de junho de 2016

    Olá. Teria alguma forma de integrar esse circuito com um banco de dados com o objetivo de fazer uma especie de chamada como as que existem nas salas de aula. Se sim, poderia explicar com?

  38. Lucas Bezerra - 17 de junho de 2016

    Olá. Teria alguma forma de integrar esse circuito com um banco de dados que desse informações sobre o horário que cada cartão foi inserido com o objetivo de fazer uma especie de chamada como as que existem nas salas de aula. Se sim, poderia explicar com?

  39. Bruno - 13 de junho de 2016

    estou tendo dificuldades em ler o registro, não usarei um arduino, estou querendo inicialmente ver os pulsos no osciloscópio, entao alimentei o leitor de cartao e estou tentado ler os dados do chaveiro que acompanha o produto na saida tx que esta ligada ao meu osciloscópio, preciso ligar mais algum pino? pressionar o rst? colocar clock externo? como faço para ter essa medição crua do leitor?

    No futuro vou coloca-lo em uma IHM Weintek mas por enquanto preciso somente ler ele de forma crua para ver como é o frame de comunicação.

  40. Matheus gomes - 12 de junho de 2016

    Olá, tem como alterar a biblioteca do rfid pois no meu projeto preciso de usar um shield de Ethernet e ele também usa os pinos 13,12,11,10, então gostaria de alterar mas não sei se funciona nesse caso devido ao tipo de conexão ( eu alteraria para os pinos 9,8,7,6,5 tendo assim ainda 5pwm)

  41. Dirceu - 9 de junho de 2016

    Olá,

    Tem algum exemplo para usar numa leitora de longo alcance?

    Parabéns pelo blog, é bem útil.

    Abraço

  42. Ivan Ludwig - 19 de maio de 2016

    Ola
    Eu já realizei esse projeto à cerca de 1 ano, e estou voltando a fazer ele, tinha tudo salvo.
    Montei, e realizei a mesma programação, eu preciso descobrir o número das tag de novo? Pois são os mesmo cartões.
    Porém, eu montei e coloquei a programa e o sistema só diz
    ‘APROXIME O CARTÃO’ porém não faz a leitura

    Aguardo Retorno

  43. Wellington - 18 de maio de 2016

    Cara tenho uma programação mas não estou conseguindo acionar o cartão antes do led vermelho acionar, pois o intuito do programa é dar um tempo de 5 segundos para a pessoa bater o cartão aí depois desse tempo apitará o alarme, mas o led não da o tempo para bater o cartão. Sistema de alarme RFID

    #include

    //Programa : RFID – Controle de Acesso leitor RFID
    //Autor : FILIPEFLOP

    #include
    #include
    #include

    #define SS_PIN 53
    #define RST_PIN 9
    MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

    LiquidCrystal lcd(6, 7, 5, 4, 3, 2);
    int pinoledverm = 12;//Pino ligado ao led vermelho
    int pinoledverde = 13;//Pino ligado ao led verde
    int pinopir = 11; //Pino ligado ao sensor PIR
    int acionamento; //Variavel para guardar valor do sensor
    int encoder = 8; //pino do encoder
    int buzzer = 10; // buzzer
    char st[20];

    void setup()
    {

    pinMode (encoder, OUTPUT); // Define pino como saida
    pinMode(pinoledverm, OUTPUT); //Define pino como saida
    pinMode(pinoledverde, OUTPUT); //Define pino como saida
    pinMode(pinopir, INPUT); //Define pino sensor como entrada
    pinMode (buzzer, OUTPUT); // define pino do buzzer como saida
    Serial.begin(9600); // Inicia a serial
    SPI.begin(); // Inicia SPI bus
    mfrc522.PCD_Init(); // Inicia MFRC522
    Serial.println(“Aproxime o seu cartao do leitor…”);
    Serial.println();
    //Define o número de colunas e linhas do LCD:
    lcd.begin(16, 2);
    mensageminicial();
    }

    void loop()

    {
    acionamento = digitalRead(pinopir); //Le o valor do sensor PIR
    if (acionamento == LOW) //Sem movimento, mantem led verde ligado
    {
    digitalWrite(pinoledverm, LOW);
    digitalWrite(pinoledverde, HIGH);

    }
    else //Caso seja detectado um movimento, aciona o led vermelho
    {
    digitalWrite(pinoledverm, HIGH);
    digitalWrite(pinoledverde, LOW);
    delay (5000);
    digitalWrite(buzzer, HIGH);
    //delay (5000);

    }
    // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent())
    {
    return;
    }
    // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial())
    {
    return;
    }
    //Mostra UID na serial
    Serial.print(“UID da tag :”);
    String conteudo = “”;
    byte letra;
    for (byte i = 0; i < mfrc522.uid.size; i++)
    {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
    conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
    conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
    }
    Serial.println();
    Serial.print("Mensagem : ");
    conteudo.toUpperCase();
    if (conteudo.substring(1) == "2E 07 F3 A5") //UID 1 – CARTAO
    {
    Serial.println("Ola GRUPO SHIELD !");
    Serial.println();
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Ola GRUPO SHIELD !");
    lcd.setCursor(0, 1);
    lcd.print("Acesso liberado!");
    digitalWrite(pinoledverm, LOW);
    digitalWrite(pinoledverde, HIGH);
    digitalWrite(buzzer, LOW);
    delay (5000);
    mensageminicial();
    }

    }
    void mensageminicial()
    {
    lcd.clear();
    lcd.print(" Aproxime o seu");
    lcd.setCursor(0, 1);
    lcd.print("cartao do leitor");
    digitalRead(pinopir);
    }

    • Wellington - 19 de maio de 2016

      Me ajude por Favor

    • Tânia - 20 de maio de 2016

      A melhor forma de o conseguires fazer é implementar uma máquina de estados em que consideras um primeiro estado por exemplo Inicio, ele fica aqui até tu dares inicio ao temporizador. Por exemplo escolhes alguma forma de dares inicio ao temporizador, ou uma tecla ou mesmo outra tag. (imagina que o dar inicio é na realidade o abrir uma porta)
      Assim que dás inicio, passas para o estado 2, aqui ele conta os 5 segundos. Depois se durante esse tempo não acontecer nada passas para um novo estado em que acendes o led vermelho e ativas o buzzer.

      • Tânia - 21 de maio de 2016

        Algo tipo isto:

        //Primeiro definir estados
        #define ST_Inicial 0
        #define ST_Conta_5_Segundos 1
        #define ST_Dispara
        #define ST_Porta_Aberta

        //Função loop
        void loop ()
        {
        if (Serial.available()>0) {
        comando = Serial.read();
        switch (comando)
        {
        case ‘A':
        printState = true;
        state = ST_Inicial;
        break;
        case ‘B':
        printState = true;
        state = ST_Conta_5_Segundos;
        break;
        case ‘C':
        printState = true;
        state = Dispara;
        digitalWrite (led_vermelho, High)
        break;
        case ‘D':
        printState = true;
        state = ST_Porta_Aberta;
        digitalWrite (led_verde, High)
        break;
        }
        }

        //função para o temporizador
        void temporizador(void)
        {aqui metes a parte do temporizador
        }

  44. Vinicius - 17 de maio de 2016

    Beleza, baixei a versão 1.6.5 e rodou. agora, voce pode me dizer a ligação do visor?? o lcd. porque eu estou ligando ele nas portas 2,3,4,5,6,7 e ele não aparece mensagem nenhuma…ele liga mas não emite mensagem.

    • Adilson Thomsen - 17 de maio de 2016

      Boa tarde Vinicius,

      Você colocou o potenciômetro de ajuste do contraste ?

      Adilson – Equipe FILIPEFLOP

    • Bruna - 27 de maio de 2016

      mas oq acontece? lcd só está com brilho sem letra nenhuma ou aparece letra mas td estranho?
      se for a 1a opção, liga o V0 no K do LCD..vc vai manter um contraste padrão nele.
      se for a 2a opção, é alguma das entradas de D4 a D7 que estão mal conectadas!

      eu estava com o mesmo problema qdo iniciei o projeto

    • Bruna - 27 de maio de 2016

      a mesma sequencia q vc colocar no arduino tem q colocar na programação..troque
      LiquidCrystal lcd(6, 7, 5, 4, 3, 2);
      por
      LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

  45. Vinicius - 17 de maio de 2016

    Olá, quero saber se com a versão 1.6.8 do compilador arduino é normal estar dando problema? ele da um problema de stray quando eu tento importar a biblioteca “MFRC522″ que voce indicou ali.

  46. joao antonio - 15 de maio de 2016

    ola..
    gostaria de ajuda,visto que comecei agora.abracei este projeto pro meu tcc.
    gostaria de acrescentar uma ou duas portas para que ao reconhecer a tag,esta porta ( pino ) libere por algums segundos pulso positivo,para no caso abrir uma fechadura ou acionar um rele.apos alguns segundos,este pulso sumir,esperando nova leitura.
    gostaria de contar com a colaboraçao dos mais experientes.
    tive algums problemas com o leitor rfid,mas depois de soldar os pinos,ficou ok.o potenciomentro do display tambem.tem de prestar muita atencao no valor,senao,nao vai aparecer nada …

  47. Caio Magno - 11 de maio de 2016

    É possível usar qualquer cartão rfid (como bilhete unico p.ex.) para essa aplicação?
    Exemplo: quero usar a minha carteira de estudante como tag de controle de acesso. Posso através do leitor rfid recuperar apenas o identificador do cartão e salvar em algum banco de dados?

  48. Hian Kalled - 17 de abril de 2016

    Boa tarde! Tem como fazer o Rfid funcionar no Arduino Due? Com esse tutorial consigo fazer funcionar no Uno, mas preciso que funcione no Due.. Se souber qual porta usar para funcionar, agradeço bastante! Obrigado

  49. Erik Otani - 12 de abril de 2016

    Já fiz pelo nano, R3 e Mega, em nenhum deles funcionou, o módulo acende o led power, e no monitor do sketche dá como ok a compilação do código.

  50. Erik Otani - 9 de abril de 2016

    Felipe o kit RFiD não está funcionando, uma ligação simples porém nem o cartão, nem o chaveiro me dão as tags no serial monitor. O que pode estar havendo?
    Aguardo um help.

  51. Luis Bueno - 6 de abril de 2016

    Olá, estou precisando montar um sensor de passagem para utilizar em corridas mais precisamente em cronometragem. Seria possível realizar este projeto utilizando o arduino porém preciso que as informações obtidas na passagem seja enviada a um programa para montar as planilhas com a ordem de passagem.

    Valeu.

  52. Helena - 2 de abril de 2016

    Boa noite,

    Eu montei todo o projeto e a programação carregou sem problemas no arduino uno. O display acende e o leitor rfid mantem o led D1 acesso. Porém não aparece nenhuma mensagem no display aceso e no monitor ide do arduino pede pra aproximar o cartão porém o leitor rfid não lê as tags que eu comprei no filipeflop, nem mesmo outros cartões. Alguma sugestão de qual pode ser o problema?

  53. Marcelo - 31 de março de 2016

    Posso usar esse leitor juntamente com o modulo ethernet no mesmo arduino?

  54. Leonardo Satiro - 25 de março de 2016

    Olá!

    Estou trabalhando num projeto, cujo minha porta 3.3 já seria utilizada para outro dispositivo. Existe alguma forma de ligar o leito RFID em algum outro porta??

  55. Bruno - 14 de março de 2016

    Opa, estava dando uma olhada no projeto e sou muito leigo em programação, eu gostaria de saber se possível me mandar via e-mail o código com as seguintes modificações: acionar um rele caso o cartão RFID for aceito, e adicionar um PushButton também acionando o rele.

    A propósito o Arduíno armazena até quantas RFID?

    Desde já agradeço!!!

    • Bruno - 15 de março de 2016

      Não precisa mais não, consegui editar os códigos!!!
      Vlw!

    • Bruno - 3 de agosto de 2016

      #include
      #include
      #include

      #define SS_PIN 23
      #define RST_PIN 22
      MFRC522 mfrc522(SS_PIN, RST_PIN);

      LiquidCrystal lcd(31, 32, 30, 29, 28, 27);

      char st[20];

      int porta_rele = 33;
      int porta_botao = 34;
      int leiturabt = 0;

      void setup() {
      Serial.begin(9600);
      SPI.begin();
      mfrc522.PCD_Init();
      Serial.println(“Aproxime seu cartao do leitor…”);
      Serial.println();
      lcd.begin(16, 2);
      mensageminicial();

      pinMode(porta_botao, INPUT);
      pinMode(porta_rele, OUTPUT);
      digitalWrite(porta_rele, HIGH);
      }

      void loop() {
      if ( ! mfrc522.PICC_IsNewCardPresent())
      {
      return;
      }

      if ( ! mfrc522.PICC_ReadCardSerial())
      {
      return;
      }

      Serial.print(“UID da tag :”);
      String conteudo = “”;
      byte letra;
      for (byte i = 0; i < mfrc522.uid.size; i++)
      {
      Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
      Serial.print(mfrc522.uid.uidByte[i], HEX);
      conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
      conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
      }
      Serial.println();
      Serial.print("Mensagem : ");
      conteudo.toUpperCase();
      if (conteudo.substring(1) == "ED 78 03 CA")
      {
      Serial.println("Ola Boss !");
      Serial.println();
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Ola Boss !");
      lcd.setCursor(0, 1);
      lcd.print("Acesso Liberado!");
      delay(3000);
      mensageminicial();
      digitalWrite(porta_rele, LOW);
      delay(500);
      digitalWrite(porta_rele, HIGH);
      }
      if (conteudo.substring(1) == "BD 9B 06 7D")
      {
      Serial.println("Ola Visitante !");
      Serial.println();
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Ola Visitante !");
      lcd.setCursor(0, 1);
      lcd.print("Acesso Negado!");
      delay(3000);
      mensageminicial();
      }
      leiturabt = digitalRead(porta_botao);
      if (leiturabt != 0);
      {
      digitalWrite(porta_rele, LOW);
      delay(500);
      digitalWrite(porta_rele, HIGH);
      leiturabt = 0;
      }
      }

      void mensageminicial()
      {
      lcd.clear();
      lcd.print("Aproxime seu");
      lcd.setCursor(0, 1);
      lcd.print("cartao do leitor");
      }

      *Lembrando que eu estou usando o Arduino Mega!

    • Luan Henrique - 2 de janeiro de 2017

      Olá amigo, você conseguiu adicionar acionamento de um relé caso o acesso seja liberado? E também esse envio via email? Poderia me enviar o código? Obrigado!
      Email: luanhenriq@hotmail.com

  56. Hugo - 13 de março de 2016

    Qual o alcance de sinal de leitura em 360º?

  57. Giovane - 10 de março de 2016

    Fiz um projeto com o RFID, a princípio tudo funcionando bem porém toda vez que ligo o Arduino na fonte ele faz uma verificação nas saídas, ligando as mesmas e só desligando após eu usar o cartão. Minha dúvida é se realmente o Arduino faz isso indiferente do programa instalado ou é um erro no programa?

  58. Jéssica - 7 de março de 2016

    Olá, queria muito saber se é possível que esse controle de acesso seja controlado por PhP e MySQL, no caso, ele pegaria as informações registradas e lançaria no sistema
    Obs.: é para fazer o controle de acessos de alunos em um colégio, controle de atrasos e faltas

  59. Leonardo - 7 de março de 2016

    Olá, eu gostaria de tirar uma dúvida:

    É possível tags iguais? Com o mesmo valor de leitura? Falo isso em relação a segurança. Por exemplo: Uma pessoa conseguir uma tag que esteja liberada em meu sistema de acesso.

  60. Alberto - 4 de março de 2016

    Que programa é esse que vocês utilizaram para fazer o esquemático?

  61. Augusto - 2 de março de 2016

    Boa Tarde… Eu gostaria de saber se tem um RFID com um alcance de 1 metro do leitor !?!?
    Grato e aguardo ajuda.

  62. Pedro Gonçalves - 2 de março de 2016

    Bom dia Adilson!
    Um dúvida o meu leitor rfid ontem apresentou problemas, e em testes, eu percebi que ele não estava mais funcionando com 3.3v, aí para testes coloquei 5v, funcionou perfeitamente. Com 5v ele pode pifar a longo prazo de vez? Não estar funcionando com 3.3v é sinal que ele está querendo pifar?

    att

    Pedro Gonçalves

  63. Ana santos - 16 de fevereiro de 2016

    boa tarde,

    Eu necessito de um equipamento que possibilita implementar controlador de localizacao de uma pessoa de forma a coloca em crachas. O cracha nao é muito grande pois leva apenas o nome da pessoa. Tera que ser algo mais pequeno que um cartao.
    Qual o equipqmento e material que posso adequerir?

  64. Renan Mertz Chiesa - 12 de fevereiro de 2016

    Ola, sabe como salvar todos os cartões que fizeram o acesso no computador ou cartão Sd?

  65. Renan Mertz Chiesa - 12 de fevereiro de 2016

    Ola, sabe como salvar todos os cartões que fizeram o acesso no computador?

  66. Gustavo - 12 de fevereiro de 2016

    O codigo pode ser utilizado no arduino nano?
    Caso contrario seria so trocar a pinagem?

    • Adilson - 15 de fevereiro de 2016

      Boa tarde Gustavo,

      Não testamos no Nano, mas segundo informações que eu levantei é possível sim, já que as placas funcionam praticamente da mesma maneira.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  67. Bruno - 28 de janeiro de 2016

    Olá. Gostaria de saber como e armazenada a UID das tags no programa, quais os comandos que fazem isso e como ocorre a concatenação dos dados. Gostaria de comentários mais detalhados do programa, principalmente as linhas 40 a 53. Por favor, se puder ajudar, agradeço.

    Obg.

  68. Manoel - 27 de janeiro de 2016

    Alguem pode me ajudar a bilblioteca foi alterada e tive que formatar o pc ,quando baixo essa bilblioteca ai nao vem o exemplo para leitura das tags ,como faço para saber quais são os numeros das tags?

  69. Gilberto Leonel - 15 de janeiro de 2016

    Boa noite! Fiz esse projeto e tá bombando aqui, mas tenho um problema, comprei mais tags de vocês e não estou conseguindo cadastrar mais de um cartão. Qual o limite para ser cadastrado como acesso liberado. Agradeço a quem puder me ajudar. Obrigado.

  70. Bruno Gonçalves - 13 de janeiro de 2016

    Olá, tenho aqui um projeto em mãos mas estou com algumas duvidas. Quero fazer que com o leitor rfid leia vários cartões , e que os guarde durante algum tempo em memoria ,externa no arduino. Sabe se é possível?
    Obrigado desde já.

  71. Iago Rodrigues - 13 de janeiro de 2016

    bom dia , como consigo obter as coordenadas de um RFID?

  72. Felipe Ribeiro - 9 de janeiro de 2016

    Eu fiz o projeto exatamente de acordo com os passos, soldei o RFID e o LCD, mas meu LCD não da nem sinal de vida, comprei exatamente essas mesmas peças, inclusive de você, só pra fazer esse teste. Poderiam me ajudar?

  73. Iago - 1 de dezembro de 2015

    Filipe ..

    Fiz todo o procedimento correto, porém meu modulo RFID RC522 não estão lendo as tags,
    tenho 4 tags e não ler nenhuma dela s.. ja troquei o modulo mais também não consigo ler as tag no monitor serial.

    As ligações estão correta, utilizo o arduino UNO R3 (ATMEGA 328P-PU).
    o que poder ser?

    Poderia me ajudar urgente ?

  74. Jefferson - 23 de novembro de 2015

    Bom dia, é necessário soldar o RFID? Para que o mesmo fique soldado como LCD?

  75. Theo Beckham - 21 de novembro de 2015

    Olá! To precisando de uma ajuda… To tentando utilizar um Cartão RFID como cartão master, no qual esse cartão serve para cadastrar outros cartões na memoria EEPROM do arduino, para deletar e para liberar acesso aos relay… Exemplo eu devo aproximar o cartão master, o arduino vai reconhecer ele como master, e vai me dar a opção de cadastrar um cartão novo na EEPROM, então eu aproximo o cartão novo e ele vai percorrer a EEPROM atrás desse cartão novo, se ele já estiver lá, ele deleta, se ele não estiver, ele adiciona esse cartão novo!
    Usando seu programa como base, quando identifico um cartão e ele cria a String Conteúdo, e o problema é que eu não sei como faço para armazenar essas subString na memoria da eeprom. Ou como faço para manipulas na EEPROM. Help!!!! :c

  76. Mairon Dobicz - 10 de novembro de 2015

    Olá . Primeiramente parabéns pelo blog e pela loja virtual.
    Minha duvida é o seguinte, eu não estou conseguindo fazer a comunicação do software do arduino, com um programa em “c++”, já tentei vários tutoriais, estou fazendo algumas pesquisas, até já utilizei um projetinho que fiz de um sensor de umidade e temperatura. Mas tenho pouca experiência nesses projetos com arduino. Precisava de uma ajuda ou um auxilio, para fazer essas captação em c++ e, não só pelo arduino.

  77. Nathalia - 8 de novembro de 2015

    Boa tarde! Meu display não liga, já soldei a peça e o leitor funcionou perfeitamente, porém o display não dá nem sinal de vida!! Fiz todas as ligações corretamente, alguem poderia me ajudar?????

  78. Rodrigo Barreto - 6 de novembro de 2015

    Pra ligar esse modulo não precisa de um conversor de nivel lógico? Dá pra ligar direto no arduino?

  79. Jose Zapata - 6 de novembro de 2015

    Ola, estou querendo comprar o RFID Mfrc522 Mifare mas para implementar em um projeto com o beagleboone black. O RFID Mfrc522 Mifare funciona no BB black?
    Obrigado.

  80. Michela - 29 de outubro de 2015

    Olá,

    Comprei o Kit Leitor RFID-RC522 + cartão e tag…
    Fui executar os testes agora e não obtive sucesso.

    Segue a risca as conexões com o leitor e Arduino Uno e não consigo ler nada.
    Testei também o exemplo da Library – DumpInfo = e recebo ‘WARNING: Communication failure, is the MFRC522 properly connected?’ …

    Sei que as tags enviadas no módulo estão zeradas… Tentei executar a gravação passando a chave genérica, mas, nada acontece….

    Poderia me dar uma dica do que pode estar havendo ?

    Obrigada.

  81. cesar augusto cordeiro - 21 de outubro de 2015

    comprei uma placa rfid mas não consigo instalar a biblioteca se poder me ajudar?

  82. Pedro Gonçalves - 17 de outubro de 2015

    Boa noite Adilson!
    Teria como ampliar o alcance desse módulo de ate por exemplo 6 metros ?
    Claro que isso.seria em.conjunto com uma tag de maior alcance, mas teria como ?
    Se não vice conhece algum módulo ou Shield rfid que tenha esse alcance e dê para usar com arduino ?

    Obrigado . Att

    • FILIPEFLOP - 21 de outubro de 2015

      Bom dia Pedro,

      Até onde eu sei, não é possível. Equipamentos de maior alcance geralmente são específicos e bem mais caros, como aqueles utilizados no sistema “Sem Parar”, dos pedágios.

      Abraço

      Adilson – Equipe FILIPEFLOP

  83. Rafael Silva - 17 de outubro de 2015

    o Módulo Leitor Rfid Mfrc522 Mifare pode ficar a que distancia maxima do arduio, pois queria colocar dois modulos um em cada porta de acesso para a rua e concentrar o arduino na minha centrl, a distancia entre as portas e a central ficaria uns 5 metros.

  84. Michell de Oiveira - 14 de outubro de 2015

    Boa tarde!!
    Como faço para quando passar a tag rfid no sensor a ID dele com um bloco de notas aberto sair os dados, gostaria que esses dados ao sair ficar em um bloco do java. Isso é possivel?

  85. Felipe - 7 de outubro de 2015

    Eu usei um JHD em vez do LCD, a mensagem apareceu, só que quando eu passo a tag a mensagem nova só muda no PC.
    A programação esta errada, ou é o JHD?

  86. Willie Campos - 5 de outubro de 2015

    Muito Bom o Blog!
    Tenho uma dúvida… Se alguém puder ajudar ficaria agradecido.
    Gostaria de manter uma conexão segura entre UID e leitor, portanto, Como faço para bloquear a leitura do cartão por um leitor desconhecido?

  87. Joziane - 5 de outubro de 2015

    Bom dia!

    Para iniciar o projeto acima, comecei testando o display. No meu caso utilizarei um display 20×4, comprado aqui mesmo.
    O problema é que não aparece letras no display, só aqueles quadradinhos e consigo fazer o ajuste de contraste. Já rodei vários códigos, mas nada de diferente aparece no display. Já testei todas continuidades, troquei o arduino mas nada. O display pode ter vindo com problema? O que devo fazer?
    Obrigada!

  88. eniojs - 28 de setembro de 2015

    Em primeiro lugar quero dar parabens pelo seu blog, sempre recomendo ele para colegas estudantes.

    Gostaria de saber se tem como ao inves de usar o shield RFID, utilizar um Shield NFC para acionar o Rele. Estou com um projeto para acionar uma fechadura eletrica atraves de um rele com NFC do android. Pelo que pesquisei tenho que criar um aplicativo para o android e um website para para gerir tudo isso. Estou no caminho certo? Obrigado!

  89. Luiz Cláudio - 25 de setembro de 2015

    Por favor estou com problemas estou com uma programação do ( controle pelo Smartphone arduino 1.0.5-r2) . Algem pode mim enviar ai a programação por favor eu agradeço

  90. Daniel Fernandes - 24 de setembro de 2015

    Olá amigo! Para usar esse esquema para um circuito, digamos, uma fechadura elétrica, é necessário algum relé? – E, como ficaria, nesse caso, o circuito? (ou você já tem algum projeto assim)?
    Obrigado

  91. Murillo - 21 de setembro de 2015

    Olá, gostaria de uma ajuda, estou tentando combinar meu módulo RFID com uma Ethernet Shield W5100, porém quando conecto a porta 12 do arduino UNO no MISO do RFID, minha Ethernet Shield perde a comunicação com a rede, tem alguma solução, como mudar a configuração da biblioteca SPI para usar outra porta para MISO ou algo assim? Obrigado.

    • FILIPEFLOP - 22 de setembro de 2015

      Bom dia Murillo,

      Tente usar o módulo RFID em outra porta do Arduino e alterar a linha 8 (#define SS_PIN 10). Troque a porta 10 por alguma outra que esteja livre.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  92. Como gravar dados no cartão RFID | Blog FILIPEFLOP - 21 de setembro de 2015

    […] no blog nós já apresentamos um projeto com leitor RFID, no post Controle de Acesso usando leitor RFID com Arduino, onde usamos o leitor para validar (ou não), a UID de um […]

  93. Giovanni - 15 de setembro de 2015

    bom dia
    fiz uma montagem muito parecida com essa , porém utilizo arduino mega e o mesmo utiliza algumas portas q utilizaria para por o lcd.
    gostaria de saber quais as portas que possso utilizar para fazer a ligacao do lcd no arduino mega
    obrigado

    • FILIPEFLOP - 16 de setembro de 2015

      Bom dia Giovanni,

      Você pode utilizar outras portas do Arduino no Mega, bastando definir na linha abaixo as portas que serão utilizadas. Por exemplo:

      LiquidCrystal lcd(25, 26, 30,31,32,33, 34);

      É só um exemplo, não testei com essas portas, mas nesse display LCD vc não está preso à nenhuma interface, logo pode usar outros pinos do Arduino.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  94. Pedro Gonçalves - 14 de setembro de 2015

    Bom dia Adilson!!!

    Adilson uma dúvida, por conta de um projeto que estou fazendo, houve a necessidade de mais pinos digitais e coloquei o rc522 sobre o arduino mega 2650, mas o mesmo não funcionou, fiz algumas pesquisas rápidas mas até o momento não consegui fazer funcionar esse modulo no mega, vocês tem algum tutorial sobre? sobre o funcionamento desse modulo rfid + mega 2650 ?

    att

  95. gabriel leite - 10 de setembro de 2015

    Ola, segui os passos tudo certinho e no meu caso deu esse problema (printscreen) vc poderia me ajudar.
    obs: erro no codigo
    versao do arduino 1.0.5

  96. Bruno - 3 de setembro de 2015

    Parabéns pelo projeto, muito legal!
    Gostaria de saber se é possível estender essa ideia a dados estatísticos para um relatório de acessos, ou seja, um log de quem/quando entrou.
    Além disso, um cadastro de novos IDs.

  97. alberto - 3 de setembro de 2015

    como faço para inserir vários cartões como liberado e quando inserir qualquer outro cartão colocar como negado sem precisar declarar no programa.

  98. Mateus - 31 de agosto de 2015

    Tem como adicionar outra antena no mesmo RFID? ou como faço para adicionar outro RFID no mesmo arduino?

  99. Sérgio - 26 de agosto de 2015

    Ótimo tutorial!
    Porém, tenho um Arduino Duemilanove e já fiz os testes com diversos cartões e mesmo assim não há nenhum tipo de reação quando aproximo-o do leitor. No display e no serial aparece “Aproxime seu cartão do leitor”.

    Poderia me ajudar?
    Obrigado.

  100. Jackson Veroneze - 16 de agosto de 2015

    Quem utiliza arduino mega, utilize o seguinte link que vai funcionar.

    http://playground.arduino.cc/Learning/MFRC522

    OBS: Cuidae o mapeamento das portas.

    * Arduino Uno Arduino Mega MFRC522 board
    * ————————————————————
    * Reset 9 5 RST
    * SPI SS 10 53 SDA
    * SPI MOSI 11 51 MOSI
    * SPI MISO 12 50 MISO
    * SPI SCK 13 52 SCK

  101. Carlos Leandro de Oliveira - 13 de agosto de 2015

    Boa tarde. Estou construindo um projeto em que tenho que usar as mesmas portas que o RFID usa. Como mudar as portas que ele usa? Preciso mudar as portas declaradas acima por outras do Arduino MEGA.

    Pino SDA ligado na porta 10 do Arduino
    Pino SCK ligado na porta 13 do Arduino
    Pino MOSI ligado na porta 11 do Arduino
    Pino MISO ligado na porta 12 do Arduino
    Pino NC – Não conectado
    Pino GND ligado no pino GND do Arduino
    Pino RST ligado na porta 9 do Arduino
    Pino 3.3 – ligado ao pino 3.3 V do Arduino

    Preciso mudar as portas 10, 13, 11, 12 e 9 por outras.

    Como faço isso? Alguém pode me ajudar?

  102. Bruno - 3 de agosto de 2015

    Olá Boa noite antes de tudo, Parabéns pelo blog e pela loja, ótimo trabalho, tenho uma duvida, possuo um Leitor MFRC522 e as tags, utilizo a biblioteca miguelbalboa, mas no exemplo dele sobre Leitura e escrita (ReadAndWrite), não consigo identificar como e feita essa escrita, gostaria de saber como eu faço para gravar as informações no mifare e que tipo de dados posso gravar no mesmo. Agradeço desde já , muito obrigado, e parabéns pelo trabalho novamente.

  103. Victor Hugo Rocha Santos - 16 de julho de 2015

    Muito obrigado pelo impulso em meu TCC seu site é um dos melhores e indicados por professores do SENAI

  104. marcelo l silva - 13 de julho de 2015

    bom dia quais mudancas eu teria que fazer no programa para ao inves de liberar , eu gostaria de acender e apagar lampas , desde ja agradeço pela atencao

  105. Jérémy - 11 de julho de 2015

    Olá Filipe…
    Tenho o teu projeto no meu meu.. Só que queria dar uma pulso ao relay para a fechadura ficar trancada e não sempre ativa com o ralay.

    Ja agora como faço para negar os cartões?

    Podes me ajudar?

  106. Matheus Kemer - 1 de julho de 2015

    Boa tarde pessoal, estou com muitos problemas, preciso de ajuda urgente.
    Estou começando meu TCC e resolvi usar Arduino Mega + Leitor RFID TC522 + PHP, MySQL, e sou iniciante nessa parte de RFID. Peguei essa programação sua e removi tudo relacionado ao LCD porque não quero utiliza-lo, mas sim conectar com um banco de dados os valores lidos, pretendo fazer isso, mas antes preciso passar dessa parte de ler, estou com umas pulseiras com frequência de 125Khz porém acredito que meu leitor não consegue ler a pulseira, pois sua frequência é 13,56MHz, há algum jeito deles se comunicarem? Lembrando que o Arduino Mega e o Leitor Rfid foram adquiridos na loja de vocês.

  107. Leonardo - 30 de junho de 2015

    Filipe, minha IDE não executa o SETUP, o que eu faço ???

  108. Bruno - 27 de junho de 2015

    Ola, Felipe.
    Achei esse projeto bastante interessante como tipo de sistema de controle de acesso. Eu fiz ele, deu certo e ficou muito bom, mas, gostaria de fazer algumas alterações.
    Tenho 2 leitores RFID, e gostaria de usar um deles como sendo “de entrada” e o outro, “de saida” para um determinado lugar, e também queria que exibisse no display o numero de pessoas, em tempo real no local.

    Cada vez que passar uma tag no “leitor de entrada”, (leitor 1), acressenta um numero no display, e se a tag passar no “leitor de saida”,(leitor 2) o numero decresse.

    Isso e possivel. Se puder, manda uma ajuda ai no programa. Vlew.

  109. Jérémy Freitas - 11 de junho de 2015

    Olá, quero adicionar um LCD ao seu projeto que tem várias ligações, pode me dizer como fazer ?

    Tenho:
    LED-
    LED+
    VSS
    VDD
    DB7
    DB6
    DB5
    DB4
    DB3
    DB2
    DB1
    DB0
    E/RD
    R/W
    D/C
    RES
    /CC

  110. gabriel - 22 de maio de 2015

    gostaria de saber como ativar o relé da tranca?
    e o esquema elétrico com ele junto
    gabrieldasilvasandre@gmail.com

  111. Rodrigo - 21 de maio de 2015

    Comprei 2 kits Mfrc522 Mifare aqui na Filipe Flop.
    Ao testar os dois kis as duas placas leem apenas os chaveiros e não leem os cartões.
    Testei o leitor com o cartão do ônibus aqui da minha cidade e tb não leu.
    Testei com o NFC do celular e leu tudo (chaveiros, cartões do kit e cartão do ônibus).

    O que faço para ler os cartões?

  112. Eduardo - 8 de maio de 2015

    Olá, fiz aqui a montagem com o MEGA2560, a pinagem muda, mas agora ta funcionando, sem contar que a última versão do programa ARDUINO não funcionou pra mim.
    Minha dúvida: Posso ligar 2 leitores RFID RC522 juntos, em paralelo por exemplo. Preciso instalar em um acesso, um por lado de dentro e outro por fora, você tem uma dica de ligar as duas juntas ou outra ideia? Meu medo é queimar alguma coisa ao ligar elas juntas.

  113. Giovanni - 27 de abril de 2015

    Olá felipe o meu deu o mesmo erro do nosso amigo Caio
    “Olá FilipeFlop.
    Eu fiz a montagem, porem o meu não está lendo as tags sabe me informar o porque? No LCD aparece, “Aproxime o Cartão” ai quando eu aproximo, ele não abre a Janela de interação no meu mac para informar a UID do cartão para que eu configure no Código, no caso não uso Windows, sabe me informar o porque ? Qualquer cartão ou o chaveirinho, ele não me informa a UID para configurar no codigo.
    Obrigado.”

  114. Vinicius Moscardini - 25 de abril de 2015

    Boa tarde,

    Gostaria de saber se vocês sabem ou conhecem algum tutorial que me ajudaria a ligar dois RFIDs em um mesmo arduino. Pois estou tendo dificuldade quanto ao tratamento da SPI. Já atribui SS (chip select) diferentes para os dois RFIDs, mas não sei como tratar essa questão no código.

    Obrigado.

  115. Caio - 24 de abril de 2015

    Olá FilipeFlop.
    Eu fiz a montagem, porem o meu não está lendo as tags sabe me informar o porque? No LCD aparece, “Aproxime o Cartão” ai quando eu aproximo, ele não abre a Janela de interação no meu mac para informar a UID do cartão para que eu configure no Código, no caso não uso Windows, sabe me informar o porque ? Qualquer cartão ou o chaveirinho, ele não me informa a UID para configurar no codigo.
    Obrigado.

  116. Tiago Victorino - 22 de abril de 2015

    Boa tarde gostaria de saber se este códico será possível com um switch case.

    Cumprimentos Tiago Victorino

  117. cristiano - 20 de abril de 2015

    estou usando dois arduino o uno e o mega e estão com o mesmo problema no display, ele aparece a mensagem inicial depois de resetar e ajustar o potenciometro, porem, depois que le a tag some a mensagem inicial e não escreve mais nada no lcd, com o mega ele não consegue le a tag.

  118. Liliane - 19 de abril de 2015

    Boa tarde,
    estou tentando usar o módulo RFID com um Arduino Mega, mas ele não esta identificando as tags.

    Já mudei os ports físicos e mudei o código também para usar os ports 50 ~53

    O led D1 fica sempre acesso, isso significa algo ?

    Desde já agradeço pela ajuda

  119. Liliane - 19 de abril de 2015

    Boa tarde, estou com um arduino Mega e estou tentando usar o módulo RFID, porém ele não identifica as tags, eu troquei os ports, estou usando 50 ~53, mas ainda assim ele não apresenta resposta.

    Alguém tem alguma ideia do que pode ser ?

    Desde já agradeço

  120. Fernando - 16 de abril de 2015

    Ótima iniciativa. Mas, preciso de uma ajuda. Gostaria de adaptar o código da seguinte maneira:
    – quando o TAG for aceito, liberar uma fechadura elétrica;
    – quando o TAG for aceito, acender a luz do cômodo referido, porém, irei cadastrar um horário no sistema para isto, por exemplo, após as 18 horas, quando o TAG for apresentado e reconhecido, acender a luz do cômodo adentrado;
    – Caso o TAG não seja reconhecido, ter uma senha padrão a ser digitada;
    Teria como me ajudar nesta solução?

    Enviar para fernando-godoy12@hotmail.com

    Desde já obrigado,

    Fernando Godoy

  121. marcelo azevedo brandao - 15 de abril de 2015

    Olá, adorei o blog e a loja, adoramos os projetos, fiz este do RFID-RC522 e funcionou otimamente até a parte de identificar os cartões na serial, mas meu display é modelo com I2C, que fiz também e funcionou muito bem, agora como faço para modificar o programa para utilizar com o LCD que tem I2C acoplado. já tentei de dezenas de formas e nunca funciona, por favor me ajudem!

  122. Thiago - 11 de abril de 2015

    Olá,

    Comprei o kit e fiz a montagem. No entanto, ambos os rfids (chaveiro e cartão) não estão sendo lidos. O monitor da serial não apresentou erros até porque o código apresentado não testa o funcionamento da placa. Verificando a biblioteca encontrei a função PCD_PerformSelfTest(), que retornou um valor booleano falso. Será que a placa está com algum problema? Tomei o cuidado de ligar a placa em 3.3V e me parece que o circuito está montado corretamente.

    Att

  123. Hélio - 7 de abril de 2015

    Boa tarde!!!

    Alguém poderia me ajudar com o seguinte problema?

    Ao Verificar o sketch está travando na seguinte linha:

    mfrc522.PCD_Init(); // Inicia MFRC522

    e aparecendo a seguinte mensagem de erro:

    ‘class MFRC522′ has no member named ‘uid’

    Estou utilizando IDE é 1.0.6.

    Muito obrigado!

    • Hélio - 7 de abril de 2015

      Baixei novamente a biblioteca e agora ao clicar “Verify” o sketch roda normalmente.

      Mas continuo com um problema. Ao clicar em “Upload”, o processo se inicia, mas não finaliza. Após vários minutos, ocorre o erro de timeout.

      Tentei fazer com 2 Arduínos Mega que possuo e ocorreu o mesmo problema nos dois.

      Alguém teve o mesmo problema? Alguma dica para normalizar isto?

      Obrigado!

      • FILIPEFLOP - 11 de abril de 2015

        Boa tarde Hélio,

        Já verificamos esse problema aqui no blog. Tente retirar as 2 linhas abaixo do segundo if do programa :

        Serial.println(“Ola Cartao !!!”);
        Serial.println();

        Abraço.

        Adilson – Equipe FILIPEFLOP

        • Hélio - 14 de abril de 2015

          Bom dia Adilson,

          Muito obrigado por seu retorno.

          Eu consegui fazer com o que o programa funcionasse normalmente após ter aberto um sketch em branco e ter digitado desde o início o programa fornecido por vocês.

          Abraço!

          Hélio

  124. Ijanai Filho - 27 de março de 2015

    Boa tarde, gostaria de configurar da seguinte forma: cadastrar os tags que terão acesso, e os não cadastrados aparecer acesso negado. Tem como me ajudar? ijanaif@hotmail.com

  125. Adler - 21 de março de 2015

    Boa noite. Gostaria de parabenizar pela iniciativa didática em expor esta publicação. Quanto ao módulo RFID aplicado, o mesmo poderia ser implementado por intermédio de um registrador de deslocamento (comum em projetos de expanção de portas digitais)?

  126. ANDRADE - 20 de março de 2015

    Boa noite ou Bom dia,

    Estamos em grupo reunido tentando resolver um problema…queo chaveiro é identificado e o nosso card não… e queremos saber como seria a identificação do mesmo no codigo ja que ele teoricamente esta funcionando(testado com NFC do aparelho celular e ele é reconhecido nome e uid)…urgente!!

    • Tânia - 26 de março de 2015

      Estou com o mesmo problema. Mas no meu caso ele lê a tag do cartão mas o token (chaveiro) não.

      Alguém já passou por isto e conseguiu resolver?

      Obrigada

      • Artur Pedrosa - 2 de abril de 2015

        Baixa o NFC Tools no android (nao sei se tem pra IOS) e verifica se o Serial number do cartao esta igual ao do seu programa nessa linha..

        —>> (conteudo.substring(1) == “BD 9B 06 7D”) //UID 2 – Cartao

        nao sei lhe dizer se no programa utilizado pra programar o arduino eh Case sensitive (diferencia maiuscula de minuscula), no caso testa tudo em maiusculo, se nao funcionar, testa em minusculo.

  127. Lucas - 13 de março de 2015

    Olá Filipe, tudo bem?
    Estava querendo montar um controle de acesso por RFID em minha residência, no portão social.
    Gostaria de saber se realmente funciona normalmente e se é possível conectar ao meu portão, para quando aproximar o cartão, o portão abrir. No meu caso, não teria interesse em ter um Display LCD. Caso tenha como, teria como fazer um tutorial explicando e dizendo quais os itens necessários.
    Desde já agradeço.

    Qualquer coisa, pode me mandar no meu email: lucasms10@hotmail.com
    Att. Lucas Medina

  128. Kelhium K Kayser - 3 de março de 2015

    É possível unir esse projeto, a uma Shild de REDE + uma Shild GSM? Gostaria que as TAG fossem cadastradas em um servidor o Arduino faz a consulta lá, caso ache a TAG cadastrada envie um SMS para um determinado Numero de Celular…. esse projeto é possível com o Arduino UNO ou precisarei de um MEGA? Como poderia fazer?

    • FILIPEFLOP - 7 de março de 2015

      Boa tarde,

      Não testamos nessa configuração, mas de qualquer modo, talvez seja necessária alguma alteração nas bibliotecas para evitar conflitos.

      Com um Mega você teria mais portas disponíveis para ligar o RFID ou outros sensores.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  129. Caio - 28 de fevereiro de 2015

    Bom dia;
    Tenho uma dúvida, estou montando esse projeto para faculdade, porém gostaria de incrementar outras informações.
    Teria como, ao passar o dispositivo de acesso no RFID, ele automaticamente envia uma mensagem para o LCD DISPLAY, gostaria de enviar também para um dispositivo android.

    Exemplo: Passei no RFID, quero que a mensagem vá para o LCD a mensagem de boas vindas, e para um dispositivo Android?
    Obrigado.

  130. leo - 13 de fevereiro de 2015

    Hello Where can I download the fritzing parts ?

  131. Felipe - 10 de fevereiro de 2015

    Tentei de todas as formas gravar isto no arduino mega e não consegui. A barra fica em 90% e não termina… Configurei corretamente os pinos, adaptei ao Mega, mas não da! Está configurado certo no programa, Arduino Mega e o número da porta COM. Consigo gravar outros códigos pela mesma janela, mas esse não vai!

    • Felipe - 11 de fevereiro de 2015

      Descobri o problema… Mas não sei porque está acontecendo. Ele não aceita as duas funções if dentro do void… Se utiliza apenas uma, funciona normalmente. Mas preciso utilizar as duas, tentei usar switchcase, mas não funciona com float… Alguma sugestão?

      • FILIPEFLOP - 21 de fevereiro de 2015

        Bom dia Felipe,

        Fiz alguns testes, e desocbri que não é nem o IF que apresenta esse problema. Retire as linhas abaixo dentro do segundo if, que o programa carregará normalmente :

        Serial.println(“Ola Cartao !!!”);
        Serial.println();

        Abraço.

        Adilson – Equipe FILIPEFLOP

        • Fernando T - 29 de agosto de 2015

          Retirei as linhas conforme comentado e funcionou perfeitamente.

          • FILIPEFLOP - 31 de agosto de 2015

            Boa tarde Fernando,

            Legal. Apenas complementando a informação, o problema está nos 3 pontos de exclamação na mensagem “Ola Cartao !!!”. Ele faz com que o Arduino Mega entre em “monitor mode”. Você pode simplesmente deixar apenas a mensagem “Ola Cartao!”.

            Abraço!

            Adilson – Equipe FILIPEFLOP

  132. manoel barros - 28 de janeiro de 2015

    eu estou tentando compilar esse programa descrito aqui mais não estou conseguindo esta dando erro tem como vc me passar o código que funcione , o erro e

    RFID.ino:5:21: fatal error: MFRC522.h: No such file or directory
    compilation terminated.
    Erro compilando.

  133. Priscila - 9 de janeiro de 2015

    Boa tarde,

    Tentei usar no arduino lily pad mp3, mudei o pino que é diferente, porém, só aparece no serial monitor “aproxime seu cartão do leitor”. Pode me ajudar?

  134. Eduardo - 7 de janeiro de 2015

    Pessoal, me desculpem pela pergunta boba….

    Não estou conseguindo fazer a biblioteca funcionar.
    Já descompactei o arquivo, renomeei a pasta, coloquei na pasta libraries, aparece o nome dela no menu sketch da ide, mas ao compilar recebo as informações de erro abaixo. Existe algum procedimento específico que devo realizar para instalar a biblioteca no ide do arduino? Outros tutoriais que encontrei na internet só dizem para colocar o arquivo na pasta libraries.

    In file included from w2.ino:3:
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:13: error: stray ‘\302′ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:13: error: stray ‘\267′ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:13: error: stray ‘\302′ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:13: error: stray ‘\267′ in program
    In file included from w2.ino:3:
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:292:46: error: invalid suffix “d15dd5049fe4eb5efe3dabd6a3819″ on floating constant
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:386: error: missing terminating ” character
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:390: error: missing terminating ” character
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:753: error: stray ‘#’ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:757: error: stray ‘#’ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:766: error: stray ‘#’ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:770: error: stray ‘#’ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:1836: error: stray ‘#’ in program
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:5: error: expected unqualified-id before ‘<' token
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:766: error: expected unqualified-id before '<' token
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:766: error: expected unqualified-id before '<' token
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:770: error: expected unqualified-id before '<' token
    C:\Users\Usuario\Documents\Arduino\libraries\MFRC522/MFRC522.h:770: error: expected unqualified-id before '<' token

    Qualquer informação é últil.

    Obrigado.

  135. Guilherme - 25 de dezembro de 2014

    Qual seria a distância que uma tag ou um cartão seja lido?

  136. Fernando - 22 de dezembro de 2014

    Olá , Gostaria de uma ajuda no código , seria possível deixar um led ligado somente quando a tag estiver próxima ao leitor e ao retirar a tag do laitor o led apaga ?

    Obrigado

  137. Rodrigo Barreto - 13 de dezembro de 2014

    Fala!

    Comprei um modulo desses a algum tempo, mas só agora fui usar ele no meu projeto. Soldei a barra de pinos, fiz as ligações, mas ele fica com um LED vermelho acesso o tempo todo s não faz as leituras das tags.

    Carreguei um programa de testes aqui que faz a leitura de dados e aparentemente funciona, ele carrega a versão do modulo, etc, mas quando aproximo tags, nada acontece.

    Pode me ajudar? Vi que alguns tiveram esse mesmo problema, mas não achei solução pra isso na internet.

    Abraço!

    • thiago back adelino - 21 de dezembro de 2014

      tive o mesmo problema, o problema estava nas tags que A filipeflop enviaram , testa com o bilhete unico que nao tem erro , fique loco de raiva , mas ta funcionando aqui e com a luz vermelha no D1 tudo certo

  138. thiago back adelino - 13 de dezembro de 2014

    Caros colegas , Se tiverem algum problema com a leitura das tags que vieram no kit !! tente outra TAG por exemplo a do seu cartao do bilhete unico , pois as tags que vieram para mim e soh apos realizar a compra de outro kit pude perceber que o problema nao era no leitor e sim nas tags que vieram da filipeflop
    Obrigado

  139. andre luis zuniga - 3 de dezembro de 2014

    todo cartao tem o mesmo tag ?
    tem como muda-lo ?

    • FILIPEFLOP - 10 de dezembro de 2014

      Boa tarde André,

      Cada cartão tem um endereço diferente. Já vi procedimentos que mudam o endereço, mas não recomendo, já que qualquer problema nessa alteração pode danificar o cartão e deixá-lo inoperante.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  140. elizeu - 1 de dezembro de 2014

    olá, Equipe FILIPEFLOP, gostaria muito de saber se existe alguma forma de ampliar o alcance do leitor rfid, mfrc 522, pelo menos a um metro de distância do cartão ou tag… Alguém já conseguiu fazer isso??? muito obrigado.

    • FILIPEFLOP - 10 de dezembro de 2014

      Boa tarde Elizeu,

      Dispositivos que reconhecem tags à grandes distâncias são bem mais caros e utilizam outro tipo de tecnologia. Seria o caso dos leitores de tag do “Sem Parar”. Não temos informações sobre como melhorar o alcance do módulo para Arduino.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  141. Rodrigo - 26 de novembro de 2014

    Olá, estou com este kit de rfid, porém com um arduino DUE e não tem jeito de funcionar, simplesmente não lê as tags. Já testeis diversos exemplos, troquei as portas pq dizia que para o mega são outras, mas nada resolveu.
    Saberia me dizer se é problema de compatibilidade ou se preciso fazer alguma alteração?
    abraço

  142. Afonso - 12 de novembro de 2014

    Olá, otimo post me ajudou muito! Obrigado

  143. Diego Vilar - 7 de novembro de 2014

    Olá pessoal.
    Então.. Estou desenvolvendo um projeto parecido, e esse fórum vem me ajudado muito.
    Se possível me informem possibilidades principalmente de código e ligação num Arduino Mega, ativar paralelo ao Display, um modulo de voz com uma mensagem pré gravada.?
    Valeu!

  144. Samuel Rodrigues - 3 de novembro de 2014

    Olá amigo, ótimo tutorial!
    Como eu faria para acionar um servo motor com esse código que você disponibilizou?

    Abraço

  145. Jader Teixeira - 3 de novembro de 2014

    Olá, eu gostaria de saber se esse RFID é 100% compatível com sistema NFC de celulares como o Galaxy S4 e o Nexus.

  146. Paulo Ricardo - 25 de outubro de 2014

    Bom dia
    Segui todos os passos do tutorial, Quando vou compilar o código aparece o seguinte erro
    mfrc 522 does not name a type

  147. Dennys - 23 de outubro de 2014

    Segui o passo a passo do tutorial, na hora que aproximo a tag do leitor ele imprime esses caracteres: ýBýBýBýBýBý . O que pode ser esse problema?

  148. Mário Júnior - 22 de outubro de 2014

    Olá no dia 2 deste mês fiz uma compra no site de vocês e entre os componentes desta compra estava o leitor de cartão RFID.
    Não estou conseguindo fazer a leitura das tags, mesmo utilizando o codigo postado aqui no blog.
    A placa RC522 fica com uma luz vermelha acesa, sempre?

  149. Willian - 17 de outubro de 2014

    Bom dia,

    Estou com esse leitor e no meu caso acontece o seguinte,
    tenho umas 10 tags aqui de outros kits e tal, e só 2 delas são lidas pelo sensor, o resto não lê…

    será que seria algo referente à frequência das Tags?
    são todos cartões e Chaveiros mesmo…

    Tenho o Leitor ID-12LA e ele lê todas…

    alguém já passou por isso?

    • FILIPEFLOP - 24 de outubro de 2014

      Boa noite Willian,

      Pode ser algum problema com relação à frequencia.

      Abraço.

      Adilson – Equipe FILIPEFLOP

    • IGOR SILVA - 2 de novembro de 2014

      estou com o mesmo problema,, as tags que vieram com o rc522 foram lidas, mas as do meu ID-12LA nao!
      o interessante eh que no rc522 as tags tem 8 digitos na do ID-12LA sao 12!!! pode ser afrenquencia que nao possibilita a leitora mas pode ser tbm o codigo que nao tem especificado como fazer a leitura dos bits ja que as tags sao diferentes….

  150. wellington - 5 de outubro de 2014

    Já fiz todo o processo deu tudo certo só o lcd que não aparece nada copilou normal no serial monitor le normal mais o lcd não mostra nada oque pode ser ?

  151. Luciano Santos - 3 de outubro de 2014

    Filipe, boa tarde

    Já fiz e refiz varias vezes o seu tutorial e diversos outros mas o RFID-RC522 não lê nenhuma tag e sempre fica com a luz vermelha D1 acesa. Soldei os pinos troquei cabos e nada muda. Uso o Arduino UNO R3.

    Poderia me ajudar com alguma dica ou o melhor será trocar o RFID?

    Ps. Estou postando novamente, porque a postagem de ontem sumiu.

    Obrigado

    • Orivaldo - 9 de outubro de 2014

      Olá Luciano,

      Me deparei com um problema parecido com o seu. Segui o tutorial direitinho, conferi as ligações, o led vermelho do leitor ficava acesso, mas não realizava leitura de nenhuma tag (cartão ou chaveiro). No meu caso era o arduino leonardo, quando troquei para o arduino mega funcionou direitinho. Tive apenas que mudar os pinos:
      MOSI: Pin 51 / ICSP-4
      MISO: Pin 50 / ICSP-1
      SCK : Pin 52 / ISCP-3

      Fica a dica, você pode tentar outro modelo de arduino uno ou seu leitor deve estar com problemas, se for o caso testar com outro leitor para confirmar.

      Abraços
      http://www.orivaldo.net

      • Luciano - 9 de outubro de 2014

        Olá Orivaldo,

        Muito obrigado pelas dicas, mas realmente o problema é na placa RFID que comprei aqui no FilipeFlop. Utilizo o Arduino Uno e já testei duas outras placas Mfrc522 e funcionou normalmente.

        Estou aguardando retorno pra ver quando irão trocar a minha placa com defeito.

        Abraços

  152. Luciano - 2 de outubro de 2014

    Olá Filipe,

    Já fiz e refiz varias vezes o seu tutorial e diversos outros mas o RFID-RC522 não lê nenhuma tag e sempre fica com a luz vermelha D1 acesa. Soldei os pinos troquei cabos e nada muda. Uso o Arduino UNO R3.

    Por favor, poderia me ajudar com alguma dica ou o melhor será trocar o RFID?

    Obrigado!

  153. Yago - 29 de setembro de 2014

    Olá, gostaria de saber se é possível implementar uma antena no RFID para ampliar seu alcance. Pois as tags do tipo chaveiro não estão sendo reconhecidas do outro lado do portão, somente os cartões. Obrigado!

  154. Marcos Mattos - 19 de setembro de 2014

    Essa programação só funciona em arduino Uno ? estou tentando enviar para meu Arduino Mega,porem fica carregando e nao envia. O arduino chega ate piscar mas a barra na carrega ate 100%.

    • FILIPEFLOP - 22 de setembro de 2014

      Boa noite Marcos,

      Esse erro geralmente acontece quando você não configura corretamente a placa na IDE, por exemplo, você conecta o Arduino Mega, mas a placa na IDE está configurada como UNO. Veja se não é isso, por favor.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  155. Henrique de Oliveira Guimarães Santos - 15 de setembro de 2014

    Estou fazendo um projeto com o mesmo principio mostrado acima e utilizando o leitor Mfrc522.
    Para minha utilização, porém, a distancia de leitura precisaria ser um pouco maior que eu venho conseguindo com esse leitor (4cm). Existe alguma forma de ampliarmos isso nesse leitor? Ou há algum outro leitor que eu consiga trabalhar essa distância até o máximo de um metro?

  156. Daniel - 14 de setembro de 2014

    Ola, O codigo esta dando erro, em MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

    O que pode ser?

  157. Felipe - 5 de setembro de 2014

    Olá, Filipeflop! Excelente post!

    Gostaria de saber como você obteve a parte (imagem da visão Protoboard) do RC522 no Fritzing, pois já procurei e não consegui achar!

    Estou fazendo um projeto para a faculdade e gostaria de adicionar esses esquemáticos na documentação.

    Seria possível você me enviar o .fzpz ou indicar o link para eu consegui-lo?

    Obrigado e, mais uma vez, muito bom o site!

  158. Willian - 5 de setembro de 2014

    Estava tentando fazer todos os exemplos da biblioteca, no começo o cartão pegos e mostrou todos os dados, mas agora ele só aparece Scan PICC to see UID and type…
    o que fazer?

  159. LUCAS SASSE - 4 de setembro de 2014

    estou tentando rodar o programa acima em um MEGA2560, mas só aparece a mensagem “aproxime o cartao do leitor”. não consegui baixar a biblioteca MFRC522 pelo link “nesse link”, imagino que um dos problemas seja este e outro é a pinagem que nào sei qual utilizar. gostria de saber como proceder.
    obrigado.

  160. Asafe Damasceno - 1 de setembro de 2014

    Ops !!! ESSE FOI SEM QUERER , Desculpa .

  161. Asafe Damasceno - 1 de setembro de 2014

    Filipe comprei meu Kit RFID com vcs !
    Eu sigo passo a passo este tutorial mas o Módulo RFID não reconhece o Cartão nem o Chaveiro , e o pior que fica um ledzinho vermelho acesso … *Eu nao soldei os pinos no Módulo , nao sei se o problema é esse (Sou bem Iniciante)

    Por Favo ajuda ai ,pois eu tenho que usar esse Módulo para um projeto.
    (Obs: Arduino UNO)

    • FILIPEFLOP - 3 de setembro de 2014

      Boa tarde,

      O ideal é soldar os pinos no módulo, senão a possibilidade de acontecer algum problema de conexão entre o módulo e o Arduino é grande.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  162. joão paulo - 1 de setembro de 2014

    Não consigo realizar a leitura de nenhuma uma tag, pode ser problema no leitor? segui tudo conforme explicado, mas não obtive sucesso ..

  163. Luan Medeiros - 23 de agosto de 2014

    Olá blog felipe flop. Gostaria de pedir ajudar em um projeto que estou fazendo para o curso de mecatrônica do SENAI. Estou utilizando junto com esse projeto do arduino, leitor MFRC522 e LCD tambem o projeto que vocês disponibilizaram nesta pagina: (http://blog.filipeflop.com/acessorios/teclado-matricial-4×4-arduino.html)
    Agora vem o problema, não sei como faço para alterar a pinagem na programação do arduino, pois esses dois projetos utilizam algumas vezes as mesmas entradas do arduino UNO, gostaria de saber como proceder, mesmo que tenha que perder algumas teclas do teclado matricial 4×4, fazendo o mesmo virar 4×3 gostaria de incorporá-lo a este projeto
    Grato, e a espera de uma resposta.

    • FILIPEFLOP - 23 de agosto de 2014

      Boa tarde Luan,

      Na parte do teclado Matricial você pode utilizar qualquer outra porta do Arduino. Olhando o projeto do RFID, vemos que estão livres as portas 0,1,8, e as portas analógicas de A0 a A5, que podem ser utilizadas como portas digitais de 14 a 19.

      Minha sugestão seria utilizar todas as portas analogicas (como digitais), e também as portas 1 e 8. A parte do código do teclado que define as portas ficaria assim então :

      //Pinos ligados aos pinos 1, 2, 3 e 4 do teclado – Linhas
      pinMode(14, OUTPUT); //Porta A0
      pinMode(15, OUTPUT); //Porta A1
      pinMode(16, OUTPUT); //Porta A2
      pinMode(17, OUTPUT); //Porta A3

      //Pinos ligados aos pinos 5, 6, 7 e 8 do teclado – Colunas
      pinMode(18, INPUT); //Porta A4
      pinMode(19, INPUT); //Porta A5
      pinMode(1, INPUT); //Porta 1
      pinMode(8, INPUT); //Porta 8

      Ainda sobraria a porta 0 para alguma eventualidade. Espero que ajude, e depois nos avise se deu certo, por favor.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      • Luan Medeiros - 23 de agosto de 2014

        Muito obrigado pela ajuda que vem nos dando, desde o material em si que compramos de você no Mercado livre, se tudo der certo o citaremos em nossa apresentação como agradecimento pela ajuda, e então se você quiser eu lhe enviarei fotos e a docomentação do projeto com todo o prazer.
        Atualmente estou testando a programação e montagem desses dois projetos interligados, e com essa programação e dica que voce disse tentarei ver se funciona.
        Desculpe-me por minha ignorancia e por tantas perguntas, pois eu como aluno do SENAI o microcontrolador que tive aulas para aprender a usar foi o PIC18F4520, e como ele é bem mais caro foi inivável usá-lo para o projeto, e com o arduinomeu grupo e eu estamos tendo que aprender sozinhos a mexer.
        Obrigado por toda sua ajuda novamente!

        Manterei vocês informados sobre o andamento, pois estou certo que virei aqui novamente fazer mais perguntas.

      • Luan Medeiros - 23 de agosto de 2014

        //Pinos ligados aos pinos 1, 2, 3 e 4 do teclado – Linhas
        pinMode(14, OUTPUT); //Porta A0
        pinMode(15, OUTPUT); //Porta A1
        pinMode(16, OUTPUT); //Porta A2
        pinMode(17, OUTPUT); //Porta A3

        //Pinos ligados aos pinos 5, 6, 7 e 8 do teclado – Colunas
        pinMode(18, INPUT); //Porta A4
        pinMode(19, INPUT); //Porta A5
        pinMode(1, INPUT); //Porta 1
        pinMode(8, INPUT); //Porta 8

        Com essa programação o arduino já identifica o teclado como porta digital ao invés de analógica? Ou precisa de alguma outra alteração

  164. jefferson costa - 17 de agosto de 2014

    felipe, no arduino mega os pinos do rfid sao SS = 53 e RST= 5.

    mas o pin RST = 5 ,ja esta sendo utilizado no liquid crystal lcd (12 , 11 , 5 , 4, 3, 2). por isso não consigo compilar!!!

  165. jefferson costa - 17 de agosto de 2014

    ola filipeflop, esse codigo fonte que aparece nao esta compilando no arduino mega, ele carrega mas não compila. baixei o rfid libraries tudo certinho . o que devo fazer ?? esse codigo foi alterado??
    jefferson_eletrotecnica@hotmail.com

  166. Adno - 9 de agosto de 2014

    Amigo comprei este modulo Mfrc522 Mifare, lá no anúncio diz assim:

    Este módulo leitor RFID baseado no chip MFRC522 da empresa NXP é altamente utilizado em comunicação sem contato a uma frequência de 13,56MHz. Este chip, de baixo consumo e pequeno tamanho, permite sem contato ler e escrever em cartões que seguem o padrão Mifare.

    E no entanto não consegui encontrar alguém na net até hoje que conseguiu escrever informações em tags com este modulo! Alguém pode tirar essa duvida, o anúncio esta errado? Tem como escrever com este modulo? Se tem como faz? Qual o software que usa pra fazer isso? O software rfid tool da pra fazer isso?
    Muitas perguntas interrogações.

    Desde já agradeço felipe ou alguém que puder ajudar!

    • Adno - 12 de agosto de 2014

      Será que minha pergunta não tem resposta?

    • Fabio - 13 de agosto de 2014

      É possível gravar cartões sim, estou inclusive criando uma leitora para ler/gravar cartões, simplificando, este dado que esta sendo lido neste exemplo de projeto é conhecido como ID do cartão, cada um sai de fábrica com um ele está em hexa decimal. O que você grava e pode ler são informações nos Blocos/Setores do cartão.
      Dependendo do modelo de cartão vc vai ter mais ou menos Blocos/Setores.
      O mais comum é o cartão mifire de 16 setores cada setor com 16 blocos.
      Você precisa de um chave para ler os cartões, chave esta que por padrão de fábrica é FFFFFFFFFFFF.
      Com essa chave você pode alterar e gravar uma chave nova e com essa chave ler e gravar o bloco, cada setor pode ter um chave diferente, e você precisa dessa chave para ler e escrever os dados, e em cada bloco você pode ter 32 bytes de informação.
      Espero que tenho explicado de uma maneira simples.
      Abraços.

  167. Sâmela Bruna - 26 de julho de 2014

    Não consigo ler nenhuma tag o que pode ser?

  168. Alexandre - 23 de julho de 2014

    Não consigo ler nenhuma uma tag,
    pode ser problema no leitor?

  169. Reginaldo - 12 de julho de 2014

    Bom dia!
    Realizei esse projeto e deu tudo certo, mas gostaria de saber como faço pra que um software desenvolvido em Delphi consiga receber a informação da Tag, ou seja: Quando passar a tag no leitor rfid quero que uma “EDIT” qualquer no Delphi receba o valor da tag..
    Já instalei o TComport no Delphi, só não sei desenvolver o algoritmo tanto no delphi como na Ide do Arduino, que irá realizar essa operação. Se puderem me ajudar, ficarei muito grato..

    • FILIPEFLOP - 15 de julho de 2014

      Boa noite Reginaldo,

      Infelizmente não temos essa informação com relação à programação Delphi. Se precisar de ajuda com a parte do código Arduino após efetuar a programação em Delphi, por favor entre em contato.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  170. Getulio Paulino - 30 de junho de 2014

    Fiz esse projeto com meu Arduino UNO R3 e deu tudo certo.
    Agora gostaria de saber como faço para adicionar os itens abaixo?
    – um teclado matricial;
    – um leitor/gravador de cartão SD para log;
    – um RTC (real time clock) para pegar hora/data; e
    – um shield relé para acionar uma fechadura de 12volts.
    Posso utilizar meu Arduino UNO R3 ou terei que comprar outro Arduino com mais portas, como o MEGA?

    • FILIPEFLOP - 30 de junho de 2014

      Boa noite Getulio,

      Você vai precisar alterar um pouco o seu projeto, talvez utilizando outros tipos de módulos, pois os módulos RFID e módulo SD, por exemplo, utilizam os mesmos pinos para comunicação com o Arduino.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  171. André - 27 de junho de 2014

    Boa tarde, testei o projeto com o UNO e funciona perfeitamente mas com o MEGA nao le, alguem sabe o que pode ser.

    Obrigado

  172. Steven - 25 de junho de 2014

    Após algumas pesquisas, descobri que o problema era a porta 10, mudei a 10 porta do leitor RF para outra porta(a porta 10 nào pode ser usada) e funcionou perfeitamente.

    Obrigado pela ajuda!

  173. Steven - 18 de junho de 2014

    Bom dia, estou tentando fazer o mesmo projeto, com arduino uno + ethernet shield w5100, com o arduino uno esta funcionando normalmente, quando conecto o leitor no ethernet shield ele não funciona. existe alguma imcompatibilidade ?

    Abraços

    • FILIPEFLOP - 25 de junho de 2014

      Bom dia Steven,

      O Ethernet Shield utiliza os pinos 4,10,11,12 e 13. No caso, são os mesmos que seriam utilizados para comunicação com o módulo RFID.

      Dessa forma, não podemos utilizar os 2 juntos.

      Abraço

      Adilson – Equipe FILIPEFLOP

  174. Wenderson - 6 de junho de 2014

    Uma duvida, como ficaria se eu precisar cadastra mais de um TAG usando uma função char, e quando a teg for lida, compara com o banco de dados de TAG validas, e se for valida executa uma açõa. Estou com muita duvida quanto a isso???????? alguma dica ??????

    • FILIPEFLOP - 6 de junho de 2014

      Boa tarde Wenderson,

      No nosso programa, utilizamos 2 tags : 1 chaveiro e um cartão. E testamos a validade de cada uma por meio de um “IF” como esse :

      if (conteudo.substring(1) == “ED 78 03 CA”) //UID 1 – Chaveiro

      Você pode utilizar o mesmo procedimento para as outras tags.

      Grato.

      Adilson – Equipe FILIPEFLOP

  175. Frederico Zapponi - 2 de maio de 2014

    Bom dia!

    Tenho uma duvida.
    Este leitor lê tag’s de 860-960 MHz?
    Protocolo: EPC C1G2 – Passivo? Ou só funciona Mifare1 S50, S70 Mifare1, Mifare UltraLight, Mifare Pro, Mifare Desfire!

    Obrigado

Deixe uma resposta