Preço reduzido

Módulo PN532 Leitor de Cartões NFC/RFID 13.56MHz para Arduino/Raspberry PI

23,28 €
27,39 €

(SEM IVA 18.93€)

ef17a0227ok

Módulo PN532 Leitor de Cartões NFC/RFID 13.56MHz para Arduino/Raspberry PI.

Desconto de quantidade

Quantidade Preço Poupa
3 23,05 € Até 0,70 €
5 22,58 € Até 3,49 €
10 22,12 € Até 11,64 €
Quantidade
Disponível Loja Gaia e Online (Envio 24h)

O módulo ITEAD PN532 NFC, como o próprio nome indica, é baseado no chip PN532 e usado para comunicação de campo próximo de 13,56 MHz. O módulo está equipado com antena interna, não sendo necessário nenhuma antena adicional. É compatível com a interface SPI, IIC e UART para comunicação.

Com o suporte da biblioteca NFC para Arduino e Raspberry Pi.

Este modulo é o ideal para projetos com a utilização de cartões de contacto NFC. 

Características:
• Distância de comunicação máxima de 5 cm;
• Suporta a mudança da interface SPI, IIC e UART;
• Pode ser usado para comunicação de 13.56MHZ sem contacto;
• Compatível com os padrões ISO14443 Tipo A e Tipo B. 

Especificações:
• IC: NXP PN532;
• Tensão de operação: 3.3V;
• Tensão de alimentação: 3.3 ~ 5.5V;
• Corrente máxima de suprimento: 150mA;
• Corrente de trabalho (modo de espera): 100mA;
• Corrente de trabalho (modo de gravação): 120 mA;
• Corrente de trabalho (modo de leitura): 120 mA;
• Indicador: PWR;
• Interface: SPI, interface Raspberry Pi 20 pinos.

Possível Esquema de Ligação:

Codigo Exemplo: 

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

#define BUZZER 8
#define SS_PIN 10
#define RST_PIN 9
String IDtag = ""; //Variável que armazenará o ID da Tag
bool Permitido = false; //Variável que verifica a permissão

//Vetor responsável por armazenar os ID's das Tag's cadastradas
String TagsCadastradas[] = {"1234",
"ID_2",
"ID_3"};
MFRC522 LeitorRFID(SS_PIN, RST_PIN); // Cria uma nova instância para o leitor e passa os pinos como parâmetro

void setup() {
Serial.begin(9600); // Inicializa a comunicação Serial
SPI.begin(); // Inicializa comunicacao SPI
LeitorRFID.PCD_Init(); // Inicializa o leitor RFID
pinMode(BUZZER, OUTPUT); // Declara o pino do buzzer como saída
}
void loop() {
Leitura(); //Chama a função responsável por fazer a leitura das Tag's
}
void Leitura(){
IDtag = ""; //Inicialmente IDtag deve estar vazia.
//Serial.println("Tag Cadastrada: " + IDtag);
// Verifica se existe uma Tag presente

if ( !LeitorRFID.PICC_IsNewCardPresent() || !LeitorRFID.PICC_ReadCardSerial() ) {
delay(50);
return;
}

// Pega o ID da Tag através da função LeitorRFID.uid e Armazena o ID na variável IDtag
for (byte i = 0; i < LeitorRFID.uid.size; i++) {
IDtag.concat(String(LeitorRFID.uid.uidByte[i], HEX));
Serial.println("Tag: " + IDtag);
}

//Compara o valor do ID lido com os IDs armazenados no vetor TagsCadastradas[]
for (int i = 0; i < (sizeof(TagsCadastradas)/sizeof(String)); i++) {
if( IDtag.equalsIgnoreCase(TagsCadastradas[i]) ){
Permitido = true; //Variável Permitido assume valor verdadeiro caso o ID Lido esteja cadastrado
}
}

if(Permitido == true) acessoLiberado(); //Se a variável Permitido for verdadeira será chamada a função acessoLiberado()
else acessoNegado(); //Se não será chamada a função acessoNegado()
delay(2000); //aguarda 2 segundos para efetuar uma nova leitura
}
void acessoLiberado(){
Serial.println("Tag Cadastrada: " + IDtag); //Exibe a mensagem "Tag Cadastrada" e o ID da tag não cadastrada
efeitoPermitido(); //Chama a função efeitoPermitido()
Permitido = false; //Seta a variável Permitido como false novamente
}
void acessoNegado(){
Serial.println("Tag NAO Cadastrada: " + IDtag); //Exibe a mensagem "Tag NAO Cadastrada" e o ID da tag cadastrada
efeitoNegado(); //Chama a função efeitoNegado()
}
void efeitoPermitido(){ 
int qtd_bips = 2; //definindo a quantidade de bips
for(int j=0; j<qtd_bips; j++){
//Ligando o buzzer com uma frequência de 1500 hz e ligando o led verde.
tone(BUZZER,1500);
delay(100);

//Desligando o buzzer e led verde.
noTone(BUZZER);
delay(100);
}
}
void efeitoNegado(){ 
int qtd_bips = 1; //definindo a quantidade de bips
for(int j=0; j<qtd_bips; j++){
//Ligando o buzzer com uma frequência de 500 hz e ligando o led vermelho.
delay(500);

//Desligando o buzzer e o led vermelho.
noTone(BUZZER);
delay(500);
}
}
NOVA ENCOMENDA