Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //http://pastebin.com/e2rbGtmN
- #include <EEPROM.h>
- #include <DS3231.h>
- DS3231 rtc(SDA, SCL);
- Time t;
- float E = 0.00f;
- float R;
- float U;
- float Y;
- byte addr = 0;
- byte A_1a = 0;
- //-------------------------------
- void setup()
- {
- Serial.begin(9600);
- EEPROM.get(addr, E);
- }
- //-------------------------------
- void loop()
- {
- if ( A_1a == 1) //Se não for a 1a vez faça as condicoes
- {
- t = rtc.getTime();
- if (millis() >= 1000)
- {
- R = (U * 0.07676);
- Y = (Y + R);
- }
- 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
- //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
- //sensor.
- if (t.sec == 59)
- {
- EEPROM.put(addr, E);
- }
- }
- else // Se for a 1a vez
- {
- Serial.println(E); // mostre o valor de E
- A_1a = 1; // Informe que nao e + 1a vez
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement