начал переписывать засыпание

This commit is contained in:
George Butskivsky 2023-11-16 14:56:12 +03:00
parent 8e44a9be96
commit ce9cde2989
1 changed files with 17 additions and 5 deletions

View File

@ -27,8 +27,9 @@ bgp, 2023
#include "microDS3231.h"
MicroDS3231 rtc;
#include "EncButton.h"
#include <Sleep_n0m1.h> //подключение библиотеки для режимов сна
#include <Wire.h>
// #include <Sleep_n0m1.h> //подключение библиотеки для режимов сна
// #include <Wire.h>
#include <GyverPower.h>
// #include <I2C_RTC.h>
EncButton<EB_TICK, BTN_PIN> 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); // работаем если время рабочее И напряжение выше минимума