Resolvido Projeto controle de acesso com RFID LONG RANGE!!!

Controle de acesso implantado em portaria

Objetivo

Viabilizar o uso do Rfid com baixo custo 

usando Arduino uno Antena Uhf Rfid long range e adesivos passivos 900mhz

o projeto em sua primeira fase 

foi usado com leitor rfid e cartão de proximidade para fazer a identificação tag se cadastrado ou não acionando d=o rele ativando assim a abertura do portão.

Postando uma verdadeira joia apos muita pressão do meu grande amigo Wladimir Vico e Rui viana!!! né Rui !!!!

mas pessoal longe de mim deter tal conhecimento sem compartilhar o mesmo com vocês pós foi graças a vós que isso tudo foi e sera possível!!! vamos la parar com enrolações e parte do inicio...

Em sua parte física projeto consiste em  

Arduino uno r3

Antena uhf rfid 

Shield rs232/485

Obs: No shield rs232 tem 2 chaves de seleção deixe em chave 1 selecione rs232 que é o padrão da antena e chave 2 deixe em software

Parte código para que se possa ler tags basta copiar este código e cola na ide e compilar!!!

  1. #include "Arduino.h"
  2. #include <SoftwareSerial.h>
  3.  
  4.  
  5. // # Define DEBUG
  6. SoftwareSerial mySerial (2,3); // Modificado
  7. unsigned char incomingByte;
  8.  
  9. anular sendIdentifyCmd ()
  10. {
  11. mySerial.write (0x7c);
  12. mySerial.write (0xff);
  13. mySerial.write (0xff);
  14. mySerial.write (0x01);
  15. mySerial.write (0x08);
  16. mySerial.write (0x7D);
  17. DEBUG #ifdef
  18. Serial.print (0x7c);
  19. Serial.print (0xff);
  20. Serial.print (0xff);
  21. Serial.print (0x01);
  22. Serial.print (0x08);
  23. Serial.print (0x7D);
  24. Serial.println ();
  25. #endif
  26. }
  27.  
  28. void setup ()
  29. {
  30. Serial.begin (9600);
  31. mySerial.begin (9600);
  32. Serial.println ("começar a série inicial! \ N");
  33. pinMode (13, OUTPUT); // Modificado
  34. }
  35.  
  36. void loop ()
  37. {
  38. sendIdentifyCmd ();
  39. atraso (2);
  40. enquanto (mySerial.available () 0>)
  41. {
  42. incomingByte mySerial.read = ();
  43. Serial.print (incomingByte, HEX);
  44. Serial.print ('');
  45. digitalWrite (13, HIGH); // Modificado
  46. atraso (500); // Modificado
  47. digitalWrite (13, LOW); // Modificado
  48. }
  49. Serial.println ();
  50. atraso (1000);
  51. }

Obs: google tradutor pode atrapalhar um pouco 

Agradecimentos finais 

 Wladimir Vico e Rui viana!!!

Ninguém é tão grande que não possa aprender, nem tão pequeno que não possa ensinar

obrigado a todos obrigado ao LDG por fazer isso acontecer Viva open source!!! 

Exibições: 2045

As respostas para este tópico estão encerradas.

Respostas a este tópico

Max, acredito que deve ser algo parecido com isso:


void setup()
{
     Serial.begin(9600);
     pinMode(13, OUTPUT);

}

void loop()
{
     // Verifica se recebeu algo pela serial
     if ( Serial.available() > 0)
     {
          // Aciona a função para lêr toda string recebida
          leStringSerial();
         

          // Imprime um espaço só para acompanhar no serial monitor ao final de cada envio serial

          Serial.println( "" );
          Serial.println( "******" );
          Serial.println( "" );
     }

}


/*****
* Função que lê uma string da Serial
* e retorna-a
*/
String leStringSerial()
{
     char caracterBufferSerial; // Tipo "char" armazena apenas um caractere
     String idTag;

     // Laço pra ler caractere por caractere e armazenar na variavel "idTag" 
     while( Serial.available()>0 )
    {
          // Lê o caractere da vez no buffer da serial
          caracterBufferSerial = Serial.read();

          // Despreza caracteres de controle enviados pela serial

          if ( caracterBufferSerial != '\n')

          {
                 // Utiliza a função "concat" do Objeto "String"
                 // para adicionar caractere por caracter e formar o código passado pela antena
                 idTag.concat( caracterBufferSerial );
          }

          // Aguarda o buffer serial ler o próximo caractere
          delay(10);

     }

     // Imprime o Codigo de Identificação na tela
     Serial.print( "Codigo recebido pela Antena: " );
     Serial.println( idTag );
     Serial.println("");

     // Verifica se o Código que recebeu pela antena esta cadastrado
     if( idTag == "1" )
     {
          Serial.println("Acesso Autorizado");

          // Aciona o relê para abertura do portão
          // Nesse caso que apenas para teste acendemos o Led do Arduino
          digitalWrite( 13, HIGH );

          // Aguardamos 2 segundinho só pra visualização no arduino
          // e apaga-se o Led
          delay( 2000 );
          digitalWrite( 13, LOW );

     }
     else
     {
          Serial.println("Acesso NAO Autorizado");
     }

     Serial.println("");

     return idTag;
}

Testa ai veja se funciona?

claro que deu a muito tempo!!! desculpa n voltar e responder de volta.

Oi Max,

Funcionou?

sim fico devendo as fotos do funcionamento mas n tem erro algum !!!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço