Ajudar incluir funções num Projeto Arduino

Método de pagamento: Verificado


Realizado
Descrição:
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

MySQL PHP API Arduino

Arquivos anexados:

Menos de USD 50

Orçamento

4

Propostas

10

Freelancers interessados

Publicado: há 2 meses

Prazo de Entrega: 10 dias

Crie seu próprio projeto

Você está procurando um freelancer para realizar um projeto parecido? Crie seu próprio projeto e você receberá ofertas dos melhores freelancers.


Freelancers que já se candidataram para este trabalho

Geraldo M. R.Tendo experiencia em administração de empresas em vários ramos de atividade, tenho facilidades em colocar suas idéias dentro do código do programa e implementar melhorias para o seu projeto. Formado em Engenharia da ... Mais detalhes

Marcelo B.Sou formado em mecatrônica industrial e fabricação mecânica pelo instituto federal de ensino e atualmente estou estudando engenharia elétrica, tenho muitos anos de experiência atuando na indústria e dando cursos, prin... Mais detalhes