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

Exibições: 969

Responder esta

Respostas a este tópico

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

Anexos

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.

Anexos

muito estranho, aqui no meu não aparece esse erro, você verificou se esta aparecendo em laranja o #include EEPROM

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço