Advertisement
Guest User

rfid acende lampada

a guest
Jul 18th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. #include <SoftwareSerial.h> // Incluir o código da biblioteca que transforma serial e digital:
  2. #include <LiquidCrystal.h> // Incluir o código da biblioteca do LCD:
  3. #define TAM_LISTA_CARTAO_AUTORIZADO 3
  4. #define TAM_STRING_CARTAO 12
  5. SoftwareSerial rfidReader(2, 3); //Pin 2 - RX /Pin 3 - TX
  6. LiquidCrystal lcd(12, 11, 7, 6, 5, 4); //Definição dos pinos no Arduino
  7. char c= 0; // value read for serial port
  8. char strListaCartaoAutorizado[TAM_LISTA_CARTAO_AUTORIZADO][13]=
  9. {"4800E50CFC5D","4800E5178C36", "4200B3481AA3" }; //TAGs cadastradas
  10. char strCartaoLido[]= "000000000000"; //Espaço reservado para a string
  11. int posCartaoLido=0;//Variável lida pelo RFID (em bit)
  12. int ligalcd= 10; //Pino para ligar o painel LCD
  13. int ligaR= 9; //Conexões do motor
  14. int ligaL= 8; //Conexões do motor
  15. void setup() {
  16. Serial.begin(9600); //Configuração de velocidade de porta
  17. rfidReader.begin(9600); //Configuração da velocidade do RFID
  18. lcd.begin(16, 2); //Configuração de linha de escrita
  19. pinMode(ligaR,OUTPUT); //Configuração do pino como saída
  20. pinMode(ligaL,OUTPUT); //Configuração do pino como saída
  21. pinMode(ligalcd,OUTPUT); //Configuração do pino como saída
  22. }
  23. void loop () {
  24. if (rfidReader.available() > 0)
  25. {
  26. c = rfidReader.read();
  27. if (c==2) // STX (2 é início de trasmissão
  28. posCartaoLido = 0;
  29. else
  30. if (c==3)// STX (3 é fim de trasmissão
  31. {
  32. posCartaoLido = 0; // "apenas os numeros entre inínio de trasmissão e fim de transmissão nos é
  33.  
  34. if (comparaListaCartaoAutorizado()) {// Vamos comparar com a lista de Cartões Autorizados
  35. digitalWrite(ligalcd,HIGH);
  36. lcd.print("ACESSO PERMITIDO");
  37. digitalWrite(ligaR,HIGH);
  38. digitalWrite(ligaL,LOW);
  39. delay(2000);
  40. lcd.clear();
  41. digitalWrite(ligaL,HIGH);
  42. lcd.print("VOLTE SEMPRE!");
  43. digitalWrite(ligaR,LOW);
  44. delay(2000);
  45. digitalWrite(ligaL,LOW);
  46. lcd.clear();
  47. digitalWrite(ligalcd,LOW);
  48. } else {
  49. digitalWrite(ligalcd,HIGH);
  50. lcd.print("ACESSO NEGADO");
  51. delay(2000);
  52. lcd.clear();
  53. digitalWrite(ligalcd,LOW);
  54. }
  55. }
  56. else
  57. {
  58. if (posCartaoLido>TAM_STRING_CARTAO) posCartaoLido = 0;
  59. strCartaoLido[posCartaoLido++]=(char)c;
  60. }//end_else
  61. } //end_if
  62. } //end_function
  63. boolean comparaListaCartaoAutorizado(void)// Compara a lista de cartões
  64. {
  65. boolean resultado = true;
  66. for (int idLista=0;idLista<TAM_LISTA_CARTAO_AUTORIZADO;idLista++)
  67. {
  68. resultado = true;
  69. for (int cont=0;cont<TAM_STRING_CARTAO;cont++)
  70. {
  71. if (strCartaoLido[cont]!=strListaCartaoAutorizado[idLista][cont])
  72. {
  73. resultado = false;
  74. break;
  75. }
  76. }
  77. if (resultado==true) break;
  78. }
  79. return resultado;
  80. }
  81.  
  82. 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