Ajuda: error: 'CASE_INSENSITIVE' was not declared in this scope

Boa Noite, galera. Estou com uma Sketch que achei na internet e ao compilar deu erro em 3 linhas, dizendo que 3 variáveis que estão sendo usadas não foram "declaradas no escopo"

Gostaria de uma orientação pra saber onde eu as declaro e que tipo seriam, pois se eu declarar dentro do loop possa ser que dê problema.

O Código seria para ativar um Módulo Relê caso a TAG esteja registrada.

Essas são as linhas que dão erro:

sketch_nov29b.ino: In function 'void loop()':
sketch_nov29b:18: error: 'CASE_INSENSITIVE' was not declared in this scope
sketch_nov29b:18: error: 'StrCompare' was not declared in this scope
sketch_nov29b:18: error: 'StrLength' was not declared in this scope

----------------

E o Código inteiro:

#include <String_Functions.h>

 

#define FDL_CHAR 3

const int T_BUFFER = 20;

char buffer[T_BUFFER + 1];

 

const int modulo_rele = 7;

const char id[]= "58007490A21E"; //coloque sua TAG aqui

 

void setup (){

  pinMode(modulo_rele,OUTPUT);

  Serial.begin(9600);

}

 

void loop(){

  if(Serial.available()){

    int tamanho = Mensagem(FDL_CHAR);

    if(StrCompare(buffer, (char*)id, (byte)CASE_INSENSITIVE) == StrLength((char*)id)){ //Erro aqui

      Serial.println("Ativa Rele");

      digitalWrite(modulo_rele, HIGH);

    } else {

      Serial.print("TAG nao encontrada. ID: ");

      Serial.println(buffer);

    }

  }

}

 

int Mensagem(char eo1){

  int soma= 0;

  char c = eo1 - 1;

  while(c != eo1){

    if(Serial.available()){

      c = Serial.read();

      if((c != 2) && (c != 13) && (c !=10)){

        buffer[soma++] = c;

      }

    }

    if(soma >= T_BUFFER)

    break;

 

  buffer[T_BUFFER] = 0;

  if(soma < T_BUFFER)

  buffer[soma - 1] = 0;

  return (soma - 1);

 

  }

}

Exibições: 361

Responder esta

Respostas a este tópico

use esse q funciona 

int RFIDResetPin = 13;

//Register your RFID tags here
char tag1[13] = "1E009A4067A3";
char tag2[13] = "010230F28243";
char tag3[13] = "01023C013A04";
char tag4[13] = "01023101093A";
char tag5[13] = "01023C0A4376";
char tag6[13] = "01023C000E31";
char tag7[13] = "01023C0A3207";
char tag8[13] = "1A004116317C";
char tag9[13] = "1E009A81F9FC";
char tag10[13] = "1A004162261F";

void setup(){
Serial.begin(9600);

pinMode(RFIDResetPin, OUTPUT);
digitalWrite(RFIDResetPin, HIGH);

//ONLY NEEDED IF CONTROLING THESE PINS - EG. LEDs
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}

void loop(){

char tagString[13];
int index = 0;
boolean reading = false;

while(Serial.available()){

int readByte = Serial.read(); //read next available byte

if(readByte == 2) reading = true; //begining of tag
if(readByte == 3) reading = false; //end of tag

if(reading && readByte != 2 && readByte != 10 && readByte != 13){
//store the tag
tagString[index] = readByte;
index ++;
}
}

checkTag(tagString); //Check if it is a match
clearTag(tagString); //Clear the char of all value
resetReader(); //eset the RFID reader
}

void checkTag(char tag[]){
///////////////////////////////////
//Check the read tag against known tags
///////////////////////////////////

if(strlen(tag) == 0) return; //empty, no need to contunue

if(compareTag(tag, tag1)){ // if matched tag1, do this
lightLED(2);

}else if(compareTag(tag, tag2)){ //if matched tag2, do this
lightLED(3);

}else if(compareTag(tag, tag3)){
lightLED(4);

}else if(compareTag(tag, tag4)){
lightLED(5);

}else if(compareTag(tag, tag5)){
lightLED(6);

}else if(compareTag(tag, tag6)){
lightLED(7);

}else if(compareTag(tag, tag7)){
lightLED(8);

}else if(compareTag(tag, tag8)){
lightLED(9);

}else if(compareTag(tag, tag9)){
lightLED(10);

}else if(compareTag(tag, tag10)){
lightLED(11);

}else{
Serial.println(tag); //read out any unknown tag
}

}

void lightLED(int pin){
///////////////////////////////////
//Turn on LED on pin "pin" for 250ms
///////////////////////////////////
Serial.println(pin);

digitalWrite(pin, HIGH);
delay(250);
digitalWrite(pin, LOW);
}

void resetReader(){
///////////////////////////////////
//Reset the RFID reader to read again.
///////////////////////////////////
digitalWrite(RFIDResetPin, LOW);
digitalWrite(RFIDResetPin, HIGH);
delay(150);
}

void clearTag(char one[]){
///////////////////////////////////
//clear the char array by filling with null - ASCII 0
//Will think same tag has been read otherwise
///////////////////////////////////
for(int i = 0; i < strlen(one); i++){
one[i] = 0;
}
}

boolean compareTag(char one[], char two[]){
///////////////////////////////////
//compare two value to see if same,
//strcmp not working 100% so we do this
///////////////////////////////////

if(strlen(one) == 0) return false; //empty

for(int i = 0; i < 12; i++){
if(one[i] != two[i]) return false;
}

return true; //no mismatches
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço