Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h> // Incluir o código da biblioteca que transforma serial e digital:
- #include <LiquidCrystal.h> // Incluir o código da biblioteca do LCD:
- #define TAM_LISTA_CARTAO_AUTORIZADO 3
- #define TAM_STRING_CARTAO 12
- SoftwareSerial rfidReader(2, 3); //Pin 2 - RX /Pin 3 - TX
- LiquidCrystal lcd(12, 11, 7, 6, 5, 4); //Definição dos pinos no Arduino
- char c= 0; // value read for serial port
- char strListaCartaoAutorizado[TAM_LISTA_CARTAO_AUTORIZADO][13]=
- {"4800E50CFC5D","4800E5178C36", "4200B3481AA3" }; //TAGs cadastradas
- char strCartaoLido[]= "000000000000"; //Espaço reservado para a string
- int posCartaoLido=0;//Variável lida pelo RFID (em bit)
- int ligalcd= 10; //Pino para ligar o painel LCD
- int ligaR= 9; //Conexões do motor
- int ligaL= 8; //Conexões do motor
- void setup() {
- Serial.begin(9600); //Configuração de velocidade de porta
- rfidReader.begin(9600); //Configuração da velocidade do RFID
- lcd.begin(16, 2); //Configuração de linha de escrita
- pinMode(ligaR,OUTPUT); //Configuração do pino como saída
- pinMode(ligaL,OUTPUT); //Configuração do pino como saída
- pinMode(ligalcd,OUTPUT); //Configuração do pino como saída
- }
- void loop () {
- if (rfidReader.available() > 0)
- {
- c = rfidReader.read();
- if (c==2) // STX (2 é início de trasmissão
- posCartaoLido = 0;
- else
- if (c==3)// STX (3 é fim de trasmissão
- {
- posCartaoLido = 0; // "apenas os numeros entre inínio de trasmissão e fim de transmissão nos é
- if (comparaListaCartaoAutorizado()) {// Vamos comparar com a lista de Cartões Autorizados
- digitalWrite(ligalcd,HIGH);
- lcd.print("ACESSO PERMITIDO");
- digitalWrite(ligaR,HIGH);
- digitalWrite(ligaL,LOW);
- delay(2000);
- lcd.clear();
- digitalWrite(ligaL,HIGH);
- lcd.print("VOLTE SEMPRE!");
- digitalWrite(ligaR,LOW);
- delay(2000);
- digitalWrite(ligaL,LOW);
- lcd.clear();
- digitalWrite(ligalcd,LOW);
- } else {
- digitalWrite(ligalcd,HIGH);
- lcd.print("ACESSO NEGADO");
- delay(2000);
- lcd.clear();
- digitalWrite(ligalcd,LOW);
- }
- }
- else
- {
- if (posCartaoLido>TAM_STRING_CARTAO) posCartaoLido = 0;
- strCartaoLido[posCartaoLido++]=(char)c;
- }//end_else
- } //end_if
- } //end_function
- boolean comparaListaCartaoAutorizado(void)// Compara a lista de cartões
- {
- boolean resultado = true;
- for (int idLista=0;idLista<TAM_LISTA_CARTAO_AUTORIZADO;idLista++)
- {
- resultado = true;
- for (int cont=0;cont<TAM_STRING_CARTAO;cont++)
- {
- if (strCartaoLido[cont]!=strListaCartaoAutorizado[idLista][cont])
- {
- resultado = false;
- break;
- }
- }
- if (resultado==true) break;
- }
- return resultado;
- }
- eu gostaria de adaptar este code para usar ele com um modulo rfid rc522 para apagar e acender uma lâmpada usando dois tags sendo que cada um dos tags pode apagar e acender a lampada
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement