DHT11 para você acrescentar em sua automação residencial e no J.A.R.V.I.S
DHT11 para você acrescentar em sua automação residencial e no J.A.R.V.I.S
dezembro 28, 2016
Utilizando um relé em sua automação
Utilizando o relé em sua automação
janeiro 11, 2017
Como utilizar o Leitor RFID

Como utilizar o leitor RFID com o Arduino para sua Automação

Como utilizar o leitor RFID é uma das dúvidas de muitas pessoas.

Depois de receber algumas mensagens e emails, resolvi gravar este vídeo. O leitor RFID é a Identificação por Radiofrequência e o legal é que você pode utilizar para abrir portas, portões e até identificar pessoas em algum evento.

No vídeo abaixo eu mostro como funciona o leitor RFID e ainda mostro ele acionando um relé assim que uma tag é reconhecida.

O leitor RFID possui 8 pinos e vamos utilizar somente 7 deles, o que já é muita coisa, mas é o necessário para o funcionamento.

Segue abaixo a sequência para ligá-lo no Arduino Uno (Lembrando que para ligar no Mega as portas são diferentes)

PINO ARDUINO UNO ARDUINO MEGA
SDA ou SS 10 53
SCK 13 52
MOSI 11 51
MISO 12 50
NC NÃO UTILIZA NÃO UTILIZA
GND GND GND
RST 9 9
VCC (3,3V) 3,3V 3,3V

Para fazer o download da biblioteca do Leitor RFID, clique aqui.

Logo após o vídeo você pode conferir o código utilizado, então é só usar a criatividade para utilizar o Leitor RFID.

Quer receber informações exclusivas?

#include <SPI.h>
#include <MFRC522.h>
 
#define SS_PIN 10
#define RST_PIN 9

int porta_rele1 = 8; // Relé


MFRC522 mfrc522(SS_PIN, RST_PIN);   // Instanciando o MFRC522.
 
void setup() 
{
  
  Serial.begin(9600);   // Inicia a serial
  SPI.begin();      // Inicia  SPI bus
  mfrc522.PCD_Init();   // Inicia MFRC522
  
  //RELE PORTÃO
  pinMode(porta_rele1, OUTPUT);
  digitalWrite(porta_rele1, HIGH);

}
 
void loop() 
{  
  // Procurando cartão. Se PICC encontrar cartão, ele retorna 1 e continua, se não encontrar cartão, retorna 0 e volta ao loop
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Selecionar um dos cartões - Se ele retornar 1, ele lê o conteúdo do cartão, se retornar 0, ele volta ao loop porque algo deu errado
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  //UID na serial  
  String conteudo= "";
  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));
  }
  conteudo.toUpperCase();

  Serial.println (conteudo);

  delay(2000);
 /* if (conteudo.substring(1) == "FD 6D A2 DA")  // O substr() serve para você pegar apenas uma parte
  {
    digitalWrite(porta_rele1, LOW);
    delay(500);
    digitalWrite(porta_rele1, HIGH);    
    delay(500);
  }
 
  else if (conteudo.substring(1) == "22 CB 33 3B") 
  {
    digitalWrite(porta_rele1, LOW);
    delay(500);
    digitalWrite(porta_rele1, HIGH);    
    delay(500);
  }
  */
} 
//]]>