Realizado

Ajudar incluir funções num Projeto Arduino

Publicado em 22 de Junho de 2019 dias na TI e Programação

Sobre este projeto

Aberto

Tenho um Projeto Arduino onde ele faz a leitura de tags RFID até ai ele está ok..
Mais eu preciso adicionar  a Esp8266 01 ao circuito e incluir uma função de ao ler a "tag" e imediatamente enviar os códigos rfid para uma base no mysql remotamente  estou trabalhando com uma uno e esp8266 01




//bibliotecas
#include <spi.h>
#include <MFRC522.h>

//Pinos
#define LED_VERDE 6
#define LED_VERMELHO 7
#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[] = {"669b5d5e",
                            "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(LED_VERDE, OUTPUT);    // Declara o pino do led verde como saída
        pinMode(LED_VERMELHO, OUTPUT);  // Declara o pino do led vermelho como saída
        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.
       
        // 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));
        }       
       
        //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(0001); //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);
    digitalWrite(LED_VERDE, HIGH); 
    delay(100); 
   
    //Desligando o buzzer e led verde.
   
    NoTone(BUZZER);
    digitalWrite(LED_VERDE, LOW);
    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.
    Tone(BUZZER,500);
    digitalWrite(LED_VERMELHO, HIGH); 
    delay(500);
     
    //Desligando o buzzer e o led vermelho.
    noTone(BUZZER);
    digitalWrite(LED_VERMELHO, LOW);
    delay(500);
  } 
}

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: 02 de Julho de 2019

Habilidades necessárias

Outro projetos publicados por F. H. O.