Boa noite estou tentando salvar a variável PWM na EEPROM do Arduino mas não estou conseguindo ,quando desligo o Arduino ele não salvar .
Tags:
Olá Angel!
Não pude olhar o código completamente, mas parece que está OK.
Faça o seguinte:
- A EEPROM só grava valores de 1 byte, então mude o tipo da variável pwm para byte:
De: int pwm = 0;
para: byte pwm = 0;
Se não der certo, então verifique se o teste do menu está funcionando:
if (MenuPage == 4)
Veja se realmente a rotina está entrando nesse trecho.
Depois poste o resultado aqui.
Boa tarde J.A
estarei modificado o código
Mudei a variável pwm para byte mas não grava !
obrigado
J.A
esta gravando !
estava testando no simulador e por isso nao estava funcionando !
coloquei o sketch no arduino e funciono perfeitamente!
mas encontrei mas um erro a o valor pwm quando eu estou aumentando de 0 a 255 ele esta funcionado perfeitamente , mas quando eu estou diminuindo o valor de 255 a 0 ele quando chega no valor 10 ele pula para o valor 90 e começar a diminuir ate chega em 0
Angel, Acho que tem que limpar o lcd antes de imprimir.
Depois que você gravou o pwm na eeprom na opção 4 do menu,
coloque o comando lcd.clear;
antes do trecho abaixo:
lcd.setCursor(0,1);
lcd.print(pwm);
analogWrite(pwmOut, pwm); //Gera sinal pwm na saída
coloquei esta dando erro
Desculpe. Faltaram os parênteses; O correto é
lcd.clear();
estava olhando os sketch anterior e observei que esta esta antes do codigo pra gravar na EEPROM , o valor almenta normal de 0 a 255 , quando estou diminuindo de 255 pra 0 , ele chega ate o valor 10 , depois vai pro valor 10 ele conta 90 ,80,70,,60, 50,40,30,20,10,00
vo testa
amigo funcionou , os valores estao correto mas o print do pwm no menu não aparece mas so o valor do pwm na segunda linha na primeira fica em branco
O clear limpa o lcd. Então ele deve ser colocado antes de imprimir.
No entanto ele pode apagar coisas que vc não quer que seja apagada
Outra forma, sem usar o clear é colocar alguns espaços em branco no final do número a ser impresso
O seu programa está correto.
O ideal seria imprimir em um só ponto e colocar o lcd.clear em um único lugar
Como vc está imprimindo em diversos pontos, agora é só revisar os seus prints para que um não interfira com o outro.
Boa noite
funciono , só achei estranho que o print do menu 4 ,da pra perceber que esta piscando os caracteres quando você olha o lcd de lado, os outros mes estão de boa . ficou a sim depois do lcd.clear();
ficou a sim .
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Velocidade");
lcd.setCursor(0,1);
lcd.print(pwm);
analogWrite(pwmOut, pwm);
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por