#include int memoria, conteudo, comando; String cpID = "", cpIDEPROM = "", cpADM = ""; void setup(){ Serial.begin(9600); // Inicialização da comunicação serial // for (int i = 0 ; i < EEPROM.length() ; i++) {// Limpa e EEPROM // EEPROM.write(i, 0); // } escreveString(1,"585-150-229-94-DL-07-09-2019"); // 245 190 239 63 escreveString(2,"665-140-239-75-DL-04-06-2019"); escreveString(3,"735-120-259-96-DL-08-08-2019"); escreveString(4,"985-110-269-67-DL-01-09-2019"); } void loop(){ cpID = ""; cpIDEPROM = ""; if(Serial.available()>0){ // verifica o que foi digitado (1, 2, 3 ou 4) cpID = "735-120-259-96-DL-08-08-2019"; // Valor Fornecido para variável ...substring(0,10); int comando = Serial.parseInt(); // Infromando no Serial a posição de leitura na Eprom( 1, 2, 3 ou 4 ). cpIDEPROM = leString(comando); // Lendo a EPROM Serial.print(EEPROM.length()); Serial.print(" - "); Serial.println(comando); Serial.print(cpIDEPROM); Serial.print(" - "); Serial.println(cpID); if( cpIDEPROM == cpID ){ // Comparando o conteudo na EPROM com a variavbel cpID. <== não está correto Serial.println(" OK , Acesso permitido "); }else{ Serial.println(" "); } } } //-------------------------------------------------------------------- //------------------------------------------------------------------- void escreveString(int enderecoBase, String mensagem){ // Salva a string nos endereços de forma sequencial if (mensagem.length()>EEPROM.length() || (enderecoBase+mensagem.length())>EEPROM.length() ){ // verificamos se a string cabe na memória a partir do endereço desejado Serial.println ("A String não cabe na EEPROM"); // Caso não caiba mensagem de erro é mostrada } else { // Caso seja possível armazenar for (int i = 0; iEEPROM.length()){ // Se o endereço base for maior que o espaço de endereçamento da EEPROM retornamos uma string vazia return mensagem; } else { // Caso contrário, lemos byte a byte de cada endereço e montamos uma nova String char pos; do{ pos = EEPROM.read(enderecoBase);// Leitura do byte com base na posição atual enderecoBase++; // A cada leitura incrementamos a posição a ser lida mensagem = mensagem + pos; // Montamos string de saídaa } while (pos != '\0'); // Fazemos isso até encontrar o marcador de fim de string } return mensagem; // Retorno da mensagem } //------------------------------------------------------------------------