Boa tarde a todos, Esta imagem acima esta simbolizando um teclado capacitivo que eu estou desenvolvendo; os tres led's são as saídas que na verdade são três variaveis; os botões são na verdade um contato de cobre na pcb onde encostamos o dedo para comparar a capacitancia e acionar a saida,.
Quando aciono a saída, eu preciso que estas três variaveis seja gravadas na eeprom do arduino, para que quando o arduino for desligado, retorno no ultimo estado das variaveis; esteb projeto é para uma porta automatica social.
em anexo esta o codigo para que fique mais facil de entender pois para mim esta complicado, já que sou iniciante em c++.
e também o sketch
a biblioteca capacitive sense tem que ser instalada no scatch do arduino, pois não vem inclusa.
peço a ajuda de vcs, obrigado
Tags:
Boa tarde TAS.
Acho que você é novo aqui no fórum, e parece que não se deu o trabalho de ler o item que tem logo no tab: INICIO.
Vamos lá.
Só ajudo amigos que não colam sketch na área de texto do tópico.
Sou velho e ranzinza.
Se remover o code da área de texto, e anexar como arquivo, posso reconsiderar minha decisão de não ajudá-lo.
Leia: http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
Para anexar arquivos click na frase que tem logo abaixo da tela de digitar respostas, onde está escrito:
"Deseja carregar arquivos?" e escolha o arquivo com o seu code, que deseja mostrar-nos.
RV
Obs:
Se você não concorda comigo, ou acha que fui muito ranzinza, desculpe, mas é o meu jeito de ser.
#include <EEPROM.h>
para ler
variavel = EEPROM.read(endereco); // considere byte então de 0 a 255 (ou divida em 2 bytes, parte alta e baixa)
para gravar
EEPROM.write(endereco, variavel); // endereço pode ser de 0 á 1024
é bastante facil :)
Boa tarde TAS.
Olhando o seu scketch, verifiquei que laranja, vermelho e marrom, estão definidos como
constantes, e não como variáveis. " const int laranja = 10; "
E "apontam" para os ports do seu arduino.
Desta forma, se guardar na EEPROM, laranja, vermelho e marrom,
estará guardando os valores: 10, 9 e 8.
Aqui tem outro equivoco: " //DEFINIÇÃO DOS PINOS(VARIAVEIS DE SAÍDA//""
se definiu como constantes, não são variáveis.
Não é a forma mais correta de definir port do arduino. A forma correta de definir ports no arduino
é: #define laranja 10
Agora pra terminar.
Não entendi qual valor (variável ou não) você quer guardar na EEPROM.
RV
#include <EEPROM.h>
uint8_t Endereco = 1; // vai de 1 a até 1023
int Estado = LOW; // armazena o estado da variavel
//para ler,
EEPROM.put(Endereco , Estado); // Grava a variavel se o valor for diferente, colar onde você quer salvar a variavel
//para gravar
EEPROM.get(Endereco ,Estado); // Lê a EEPROM e salva na variável, colar no setup depois do EEPROM.begin
EEPROM.begin(512);// colar no setup
o resto e parecido com os demais exemplos. mas neste caso só vai ser salvo os valores que mudarem, isso é importante para não desgastar a memoria eeprom a toa.
Thiago,baseado na sua sugestão de apenas armazenar os status dos pinos HIGH e LOW segue um anexo de como ficaria.
OBS.: não testei
Bom dia, sempre quando aparece esse erro , se você traduzir o texto, vai aparecer que a variavel não foi declarada no escopo, isso significa que houve um erro de digitação (muito comum rsrs), ou eu esqueci de declarar a variável, neste caso, eu escrevi marrom com "n" no final, isto que gerou o erro, então é sempre importante verificar se as variáveis estão equivalentes.
De toda forma fiz uma verificação e ajustei as variáveis segue novo anexo, e testa ai se deu certo, qq coisa da um grito.
muito estranho, aqui no meu não aparece esse erro, você verificou se esta aparecendo em laranja o #include EEPROM
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por