quinta-feira, 14 de março de 2019

Controle de acesso RFID


Controle de acesso RFID com Arduino

Aprenda neste tutorial como fazer uso desta tecnologia montando um sistema de abertura de caixa usando um Arduino e leitor RFID. Você poderá ir além aplicando os conceitos deste projeto em um portão, porta do armário ou em qualquer compartimento onde você queira fazer o controle de acesso usando um relé um cartão RFID.

Material Utilizado

Para o circuito da trava elétrica com RFID vamos utilizar o seguinte material:
- Arduino Uno R3 SMD
- Relé 5v;
- LED vermelho;
- LED verde;
- Protoboard 830 pontos;
- Resistores;
- Jumpers;

Funcionamento do Relé

O relé funciona aplicando uma tensão de 5V em seus terminais. Então os contatos do relé mudam de estado, o normalmente aberto fecha e o normalmente fechado abre.  Estes contatos podem ser usados para controlar uma trava de porta e etc.

Conexão do leitor RFID no Arduino

O módulo RFID utiliza o protocolo de comunicação SPI e pode ser facilmente conectado ao Arduino da forma indicada na tabela abaixo:



Montagem do Circuito relé com RFID

O relé possui dois contatos, um normalmente aberto (Normal Open – NO) e outro normalmente fechado (Normal Closed – NC). Na montagem do circuito utilizamos o contato NO, assim, quando colocamos a porta digital do Arduino conectada ao pino S(Signal) do relé em HIGH(nível alto), o contato NO se fecha ativando a trava solenoide. Também foi colocado na proto-board um LED vermelho e outro verde para indicar o estado da trava.




Realize as conexões conforme o circuito acima:


Utilizamos também 2 LEDs, vermelho e verde, para indicar quando a fechadura está aberta e fechada.

Programação Arduino com leitor RFID e trava elétrica

Para que o Arduino comunique com o módulo RFID é necessário instalar a biblioteca MFRC522 pelo Gerenciador de Bibliotecas. Para isso clique em Sketch -> Incluir Biblioteca -> Gerenciador de Bibliotecas…

No campo de pesquisa procure por mfrc, selecione a biblioteca MFRC522 by GithubCommunity e clique em Instalar.





Então copie e cole o código abaixo na IDE Arduino
Código Arduino RFID

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//Programa: Sistema de trava eletrica com RFID
#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);   // Inicia a serial
  SPI.begin();      // Inicia  SPI bus
  mfrc522.PCD_Init();   // Inicia MFRC522
  Serial.println("Aproxime o seu cartao do leitor...");
  Serial.println();
  pinMode(2, OUTPUT);
}

void loop()
{
  // Procura por cartao RFID
  if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }
  // Seleciona o cartao RFID
  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) == "F3 DE 90 55") //UID 1 - Cartao
  {
    Serial.println("Ola");
    Serial.println();
    digitalWrite(2, HIGH); // ativa rele, abre a trava solenoide
    delay(3000);           // espera 3 segundos
    digitalWrite(2, LOW);  // desativa rele, fecha a trava solenoide
  }  
}

O código funciona da seguinte maneira: quando o Arduino reconhece a tag do leitor RFID correto, ele aciona o relé por 3 segundos. O relé por sua vez, fecha o contato que pode ser utilizado para acionar uma solenóide, um portão ou etc.

Este tutorial se baseou em informações do site filipeflop.

Os componentes deste tutorial pode ser comprados AQUI!




Nenhum comentário:

Postar um comentário