Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SD.h> // Biblioteca SD card
- File MeuArquivo; // Instancia meu arquivo
- char Conteudo = 0; // Valores lido do arquivo
- char Temp2 = 0; // Valor se utilidade
- char Digitado = 0; // Valor digitado na serial
- byte Lido = 0; // Valor lido nas duas primeiras posicoes do SD card
- String Temp1 = "" ; // Valor temporario para conversao
- //---------------------------------
- void setup()
- {
- Serial.begin(9600); // Inicialisa serial
- while (!Serial) // Aguarda pela comunicacao com a serial. Somente port USB nativo
- {
- ;
- }
- if (!SD.begin(4)) // Se nao encontro o SD card
- {
- Serial.println("Falha na inicializacao"); // Print
- return; // Retorna
- }
- Serial.println("inicializacao estabelecida."); // Print
- }
- //---------------------------------
- void loop()
- {
- while (Digitado == 0) // Enquanto valor dsigitado na serial for zero
- {
- while (Serial.available() > 0) // Se existir valor na serial
- {
- Digitado = Serial.parseInt(); // Le valor digitado
- }
- }
- MeuArquivo = SD.open("test.txt"); // Abre arquivo teste.txt para leitura
- if (MeuArquivo) // Se abriu, faca
- {
- while (MeuArquivo.available()) // Enquanto tiver linhas no arquivo
- {
- Conteudo = MeuArquivo.read(); // Le primeira posição da linha
- Lido = Conteudo & 0x0F; // Separa a parte baixa do byte lido
- Conteudo = MeuArquivo.read(); // Le segunda posição da linha
- Lido = Lido << 4 | (Conteudo & 0x0F); // Convete valor para Hexa
- Temp1 = String(Lido, HEX); // Transforma em string como Hexa
- Lido = Temp1.toInt(); // Transforma para int
- while (Temp2 != 0x0A) // Enquanto não for fim de linha faca
- {
- if (Lido == Digitado) // Se valor lido na linha for igual valor a digitado
- {
- Conteudo = MeuArquivo.read(); // Leia o valor nas proximas posicoes da linha
- Temp2 = Conteudo; // Guarda valor pra saber qdo acaba linha
- Serial.print(Conteudo); // mostra valor lido
- }
- else // Se valor lido na linha for diferente de valor digitado
- {
- Temp2 = MeuArquivo.read(); // Dispensa valores lidos
- }
- }
- Temp2 = 0; // Limpa valor em Temp2
- Lido = 0; // Limpa valor lido
- }
- MeuArquivo.close(); // Fecha arquivo de dados
- }
- else // Se nao abriu, faca
- {
- Serial.println("erro abrindo test.txt"); // Print
- }
- Digitado = 0; // Prepara para receber nova digitacao
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement