Quando o sistema for iniciado preciso que a variável da equação inicia com um valor salvo na EEPROM, porem só na hora que inicio o sistema.

  1. #include <EEPROM.h>
  2. #include <DS3231.h>
  3. DS3231  rtc(SDA, SCL);
  4. Time  t;
  5. float A=0.00f;
  6. float E=0.00f;
  7. float R;
  8. float U;
  9. float Y;
  10. void setup(){
  11. A= EEPROM.get(addr, A);
  12. }
  13.  
  14. void loop(){
  15.  t = rtc.getTime();
  16. if(millis()>=1000){
  17. R=(U*0.07676);
  18. Y=(Y+R);
  19. }
  20. E= Y/10;          // O problema está aqui, quando o sistema for reiniciado, preciso que E já                                //comece do valor da eeprom, porém apenas uma 
  21.                        //vez, pois se eu fizer isso: E= (Y/10)+A; ela sempre vai somar a eeprom na                          //equação, e vai alterar o valor lido pelo    
  22.                        //sensor.
  23. if(t.sec==59){
  24. A=E;
  25. EEPROM.put(addr, A);
  26. }

Exibições: 278

Responder esta

Respostas a este tópico

Oi FOM, boa tarde.

veja se este code te atende:

http://pastebin.com/9sycMT5J

Rui

Rui obrigado, mas não funcionou,  e acho que expliquei errado, gostaria que sempre que o sistema reiniciasse e le reiniciasse com o valor de E. 

Estou com uma duvida bem parecida

Tiago, leia isso e ve se vc entende, caso entender me explique: https://www.arduino.cc/en/Reference/EEPROMPut

https://www.arduino.cc/en/Reference/EEPROMGet

Fábio, Acho que esse aqui a explicação esta mais simples, mas ainda não testei, veja se te ilumina.

http://pedrominatel.com.br/esp8266/utilizando-eeprom-do-esp8266/

E ai Fábio você conseguiu?

Sim, o Rui me ajudou. Segue um txt com um exemplo.

Anexos

opa bacana, é que eu aprendi só agora rsrs

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço