diff --git a/feeder_v2.1.ino b/feeder_v2.1.ino index ea27f39..617011f 100644 --- a/feeder_v2.1.ino +++ b/feeder_v2.1.ino @@ -27,8 +27,9 @@ bgp, 2023 #include "microDS3231.h" MicroDS3231 rtc; #include "EncButton.h" -#include //подключение библиотеки для режимов сна -#include +// #include //подключение библиотеки для режимов сна +// #include +#include // #include EncButton btn; @@ -59,7 +60,7 @@ int paymentsCount = 0; int onTime = 6; // время включения int offTime = 20; // время выключения -Sleep sleep; //объект для работы с режимами сна +// Sleep sleep; //объект для работы с режимами сна unsigned long sleepTime; //переменная для задания времени сна @@ -86,6 +87,17 @@ void setup() { pinMode(TERM_COIN, INPUT); // прием сигнала от терминала pinMode(RELAY, OUTPUT); + power.autoCalibrate(); // автоматическая калибровка ~ 2 секунды , средняя но достаточная точность + + // отключение ненужной периферии + power.hardwareDisable(PWR_ADC | PWR_TIMER1); // см раздел константы в GyverPower.h, разделяющий знак " | " + // управление системной частотой + power.setSystemPrescaler(PRESCALER_2); // см константы в GyverPower.h + + // настройка параметров сна + power.setSleepMode(STANDBY_SLEEP); // если нужен другой режим сна, см константы в GyverPower.h (по умолчанию POWERDOWN_SLEEP) + power.bodInSleep(false); // рекомендуется выключить bod во сне для сохранения энергии (по умолчанию false - выключен!!) + sleepTime = 60 * 60 * 1000; //Debug @@ -119,8 +131,8 @@ void loop() { // Serial.println(rtc.getYear()); if (voltage < 13.2) { digitalWrite(RELAY, LOW); - sleep.pwrDownMode(); //установка режима сна PWR_DOWN - sleep.sleepDelay(sleepTime); //заснуть на указанное время + // sleep.pwrDownMode(); //установка режима сна PWR_DOWN + power.sleep(sleepTime); //заснуть на указанное время } if ((now.hour >= onTime && now.hour < offTime && voltage > 13.2)) { //&& voltage > 10.2 digitalWrite(RELAY, HIGH); // работаем если время рабочее И напряжение выше минимума