Segue o código fonte da Aula 11 do Curso Arduino Advanced, sobre EEPROM e SD Card.
#include
#include
File arquivo;
byte inicio_ok;
void setup()
{
inicio_ok = 1;
Serial.begin(9600);
if(!SD.begin(4))
{
Serial.println("Erro ao iniciar cartao SD!");
inicio_ok = 0;
return;
}
Serial.println("Iniciacao Ok!");
}
void loop()
{
if (inicio_ok)
{
int opcao = Serial.read();
if (opcao == 'c')
{
Serial.println("Opcao Configuracao Selecionada!");
opcao = Serial.read();
while(opcao == -1)
{
opcao = Serial.read();
}
int valorConfig = opcao - 48;
EEPROM.write(0, valorConfig);
Serial.print("Valor gravado com sucesso: ");
Serial.println(valorConfig);
}
else if (opcao == 'w')
{
while(opcao != 'x')
{
int leituraSensor = analogRead(0);
arquivo = SD.open("sensor.txt", FILE_WRITE);
if(arquivo)
{
arquivo.print("Valor do sensor em ");
arquivo.print(millis());
arquivo.print(" ms: ");
arquivo.println(leituraSensor);
arquivo.close();
delay(1000 * EEPROM.read(0));
Serial.print("Feita leitura do sensor em ");
Serial.print(EEPROM.read(0), DEC);
Serial.println(" segs.");
}
else
{
Serial.println("Erro ao abrir o arquivo para escrita!");
}
opcao = Serial.read();
}
Serial.println("Terminando leitura do sensor!");
}
else if (opcao == 'r')
{
arquivo = SD.open("sensor.txt");
if (arquivo)
{
while(arquivo.available())
{
Serial.write(arquivo.read());
}
arquivo.close();
Serial.println("Termino do arquivo");
}
else
{
Serial.println("Erro ao abrir arquivo para leitura!");
}
}
else if (opcao == 'e')
{
SD.remove("sensor.txt");
if (!SD.exists("sensor.txt"))
{
Serial.println("Arquivo apagado com sucesso!");
}
else
{
Serial.println("Erro ao apagar arquivo!");
}
}
}
}
MAIS AULAS RENATO!!
ResponderExcluirMuito boa as aulas espero que continuem!!
Parabens pelas video aulas ,sao excelentes, eu comecei a estuda-las esta semana e ja estou aprendendo muito,eu ja tenho conhecimento em C e C++ e esta me ajudando muito agora,eu queria saber se voce continuara com as video aulas?
ResponderExcluirabraços
Obrigado pelo comentario!!!!
ExcluirAcompanhe as video aulas do curso Arduino no meu canal no Youtube: http://www.youtube.com/user/graccula?feature=guide
Abraços
Renato
Boa noite Renato. Sobre o código fonte da Aula 11 do Curso Arduino Advanced, sobre EEPROM e SD Card, digitei o código acompanhando a aula do youtube. A primeira parte até apresentar na saida "Iniciacao Ok" tudo ok. Mas quando eu digito o c nada acontece. Pensei em ter escrito o código errado, conferi e nada. Copiei o que vc escreveu neste post e nada. Estou usando o UNO e o scketch 1.0.1. Onde poderia estar o problema? vc pode ajudar?
ResponderExcluirObrigado pelo comentário!!!
ExcluirParticipe do forum do curso Arduino, poste suas duvidas tecnicas la!!!
Existem tópicos exclusivos separados por aula.
http://www.youtube.com/user/graccula?feature=guide
Abraços
Renato
Renato, bom dia!
ResponderExcluirPrimeiramente parabéns pelo seu trabalho!
Gostaria de saber se você já fez algum exemplo em que, além de usar o Ethernet shild para ler e escrever no cartão SD, o mesmo transmitia os dados do cartão para algum IP?
Precisava de algo desse gênero, mas só consegui em códigos separados e não consigo fazê-lo.
Abs
Boa noite Renato.
ResponderExcluirParabéns pelas aulas, são muito esclarecedoras.
Estava utilizando o código fonte da Aula 11 do curso de Arduino Advanced (EEPROM e SD) e gostaria de fazer a leitura do “sensor” em tempo maior como 15 minutos, por exemplo. Acontece que usei um tempo de delay de 10.000 (no original é 1.000), mas aí só aceita valores de configuração até no máximo 3, o que dá um pouco mais de trinta segundos entre leituras. Alguma sugestão para aumentar este tempo para 15 min? Grato pela gentileza. Att., Sidney.
Obrigado pelo comentário!!!
ExcluirParticipe do forum do curso Arduino, poste suas duvidas tecnicas la!!!
Existem tópicos exclusivos separados por aula.
http://www.youtube.com/user/graccula?feature=guide
Abraços
Renato
Muito bom cara!! Ajudou bastante em um projeto de onde eu trabalho!! Isso sim que significa compartilhar conhecimento.
ResponderExcluir